CadTechJGC184 发表于 2022-7-6 14:44:07

视口/更改空间

在我的上一份工作中,他们有一个命令或lisp,它采用了视图端口的精确形状,并将相同的形状移动到模型空间。这样,您就知道了绘图限制,所以您可以在视图端口中显示所有内容。
 
有什么建议吗?
 
非常感谢。

lpseifert 发表于 2022-7-6 14:54:29

在视口上绘制矩形(或多段线),然后使用Chspace。

CadTechJGC184 发表于 2022-7-6 15:00:49

Lsp,
 
这就是我现在正在做的。在我上一份工作中。。我所要做的就是选择查看端口,它会为我做到这一点。这样你就不用画矩形了。然后是chspace。键入“whatever it was”并选择vp。

CadTechJGC184 发表于 2022-7-6 15:09:19

我希望能自己写。我只是不知道如何创建lisp。我真的很想学习,只是工作很忙。我在新奥尔良重建堤防和泵站。每周60到70小时。我希望有人已经准备好了。

Freerefill 发表于 2022-7-6 15:14:53

这件事做得很快。不允许您选择视口,仅适用于布局选项卡上的第一个视口。如果布局中只有一个视口,它应该可以正常工作。
 
它基本上只会自动完成你正在做的事情。
 

(defun c:vex()
(setq osnapz (getvar "osmode"))
(setvar "osmode" 0)
(command "rectang" (cadr (cadr (vports))) (caddr (cadr (vports))))
(command "chspace" (entlast) "")
(command "pspace")
(setvar "osmode" osnapz)
)

Lee Mac 发表于 2022-7-6 15:28:13

在此基础上继续:
 

(defun c:vex(/ osnapz vp vpID)
(setq osnapz (getvar "osmode"))
(if (and (setq vp (car (entsel "\nSelect Viewport: ")))
          (eq "VIEWPORT" (cdadr (entget vp))))
   (progn
   (setq vpID (cdr (assoc (cdr (assoc 69 (entget vp))) (vports))))
   (setvar "osmode" 0)
   (command "rectang" (car vpID) (cadr vpID))
   (command "chspace" (entlast) "")
   (command "pspace")))
(setvar "osmode" osnapz)
(princ))

Freerefill 发表于 2022-7-6 15:31:16

 
干得好,李。我本来打算做这样的事情,但被选择的前景吓坏了,检查选择是否是一个视口,并从assoc 10、40和41中获得限制,还有一点数学知识。应该知道你会想出一个更巧妙的解决方案。^

Lee Mac 发表于 2022-7-6 15:42:11

干杯免费加油

alanjt 发表于 2022-7-6 15:50:03

这是我很久以前发现的:
http://www.jtbworld.com/lisp/vp-outline.htm
页: [1]
查看完整版本: 视口/更改空间