chavlji 发表于 2022-7-6 14:58:08

复制命令和点列表

你好
我有一个点列表,我应该在其中复制SelectionSet。我决定使用COPY命令(CopyClip在refeditor中不起作用)。
COPY命令要求您输入目标点的点,直到用户点击ENTER而不是point。
现在我只是不知道如何结合复制和点列表。。。
 
让代码说话:

;We construct a list of points:
(vlax-foreach item Items (setq DestPoints (cons (GetPoint Item) DestPoints))
;And now we would like to copy SS to each point from DestPoints:
(command "COPY" SS "" SourcePoint DestPoints "")
此代码返回错误,因为DestPoints列表不是point。这是点列表,但Autocad不理解,它应该从该列表中删除每个项。。。怎么说呢?

Lee Mac 发表于 2022-7-6 15:10:16

也许:
 

(vlax-foreach item Items (setq DestPoints (cons (GetPoint Item) DestPoints))
(mapcar '(lambda (x) (command "_copy" ss "" SourcePoint x)) DestPoints)

chavlji 发表于 2022-7-6 15:22:26

是的,它可以工作,但我宁愿只调用一次COPY命令。。。这比叫它n次要快得多。这就是为什么我要先创建一个列表,然后我想在一个命令中一次完成所有复制。
 
所以这不是我想要的。。。

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

嗯,在OP中,它没有提到“复制”被调用的次数。。。
 
你已经从不知道如何告诉ACAD复制一些东西,变成希望它以一种我怀疑可能的方式来做。

chavlji 发表于 2022-7-6 15:34:25

我认为这是可能的,并想学习如何。。。
我用你的方式解决了。它可以工作,不是超快,但确实如此。
 
然后

David Bethel 发表于 2022-7-6 15:49:33

这应该有效:
 
大卫

Lee Mac 发表于 2022-7-6 15:57:07

啊,很好的一个大卫-我收回我说的不可能-我完全忘记了“多个”选项。

chavlji 发表于 2022-7-6 16:02:59

呵呵!谢谢你每天都在学习新的东西
页: [1]
查看完整版本: 复制命令和点列表