OMEGA-ThundeR 发表于 2022-7-5 19:43:57

使用预选对象的Lisp

你好
 
我用lisp从世界坐标系复制图形中的对象,然后用同样的方法将它们粘贴到另一个图形中。正在进行临时UCS设置。
 
当USC不同时,从图形中复制对象可以节省大量时间。
 
我的“问题”是,我可以在输入命令后使其工作,但我希望在我准备好选定的对象并输入命令时也能工作。
 
我还没有尝试过,但添加了“Selection' to the mix probably won't be a pretty solution, if it even works.</previous></p>
<p> </p>
<p>Anyone who can tell me how to fix that in the C:CB part?</p>
<p> </p>
<p></p>

(Defun C:CB (/ sset)
(command "UCS" "Named" "Save" "TEMP-UCS" "Y")
(command "UCS" "world")
(setq sset(ssget))
(command "copybase" '(0 0 0) (ssget "P") "")
(command "UCS" "NAmed" "Restore" "TEMP-UCS")
(princ "\nBasepoint copy klaar.")
)

(Defun C:pb ()
(command "UCS" "Named" "Save" "TEMP-UCS" "Y")
(command "UCS" "world")
(command "_pasteclip" '(0 0 0))
(command)
(command "UCS" "NAmed" "Restore" "TEMP-UCS")
(princ)
)

tombu 发表于 2022-7-5 20:04:14

在命令行中输入的对象适用于以前选择的对象,并且只有在没有选择对象的情况下才提示选择对象。还没有测试过,但我觉得你的代码还可以。我可能会同意
只是为了保存一行代码。

OMEGA-ThundeR 发表于 2022-7-5 20:23:59

废话,我发布了一些东西,我需要登录,然后帖子就不见了。
 
简而言之:
 

(Defun C:CB (/ sset)
(setq sset(ssget))
(command "UCS" "Named" "Save" "TEMP-UCS" "Y")
(command "UCS" "world")
(command "copybase" '(0 0 0) (ssget "p") "")
(command "UCS" "NAmed" "Restore" "TEMP-UCS")
(princ "\nBasepoint copy klaar.")
)

(Defun C:pb ()
(command "UCS" "Named" "Save" "TEMP-UCS" "Y")
(command "UCS" "world")
(command "_pasteclip" '(0 0 0))
(command)
(command "UCS" "NAmed" "Restore" "TEMP-UCS")
(princ)
)
 
这似乎正是我想要的方式,但我认为我正在欺骗我的方式进入一个正确的结果。删除lisp“copybase”部分中的“p”(上一个)并不能使其按我想要的方式工作。
我还看到变量(sset)没有被使用。但如果我替换;
 
(command "copybase" '(0 0 0) (ssget "p") "")
 
具有
 
5

Lee Mac 发表于 2022-7-5 20:30:23

我建议:
6
页: [1]
查看完整版本: 使用预选对象的Lisp