选择过滤器
我相信有很多方法可以过滤选择集但是如果是相反的方式,你会怎么写呢?
假设我有1000个层(当然是exag),我的例行程序是将修改的实体转移到现有层,它将再次循环处理选择,但我不希望修改的实体包含在下一次运行和之后的下一次运行中
有更好的方法吗?
(setq str_fnd (SSGET "X" '((0 . "TEXT,MTEXT")))
T_CNT 0
)
(if (setq done_sel (ssget "x" '((8 . "Layer_*"))))
(foreach d_sel (vl-remove-if 'listp
(mapcar 'cadr(ssnamex done_sel)))
(ssdel d_sel str_fnd)
)
)
为什么它会再次循环处理选择? 你是说如何使用NOT过滤器吗?
(ssget "_X" '((0 . "TEXT,MTEXT") (-4 . "<NOT") (8 . "Layer_*") (-4 . "NOT>")))或
我接近了吗? 谢谢你们俩。
我想你是对的,李不是过滤器
但我要做的是Allan,条件是:
一个文件上有数千个文本/多行文字,目标是,代码将从txt文件中读取。它有一个名称和类别。
并非列表中的每个项目都在图形文件中。(我可以处理)图纸上有twp或更多项目与列表上的项目同名,但类别不同。
列表中有重复但类别不同的名称(更新)
e、 g.“Wanton”类别“1”在第一次通过时,它找到“Wanton”,并将其设置为类别“1”(通过层更改),然后停止。返回并再次选择对象,这次不包括类别“1”层,因为其已处理
当代码读取文本文件时,它看到了wanton,但类别“2”,但wanton不再是选择的一部分,更糟糕的是,图形上有两个wanton,将第二个wanton更改为类别“2”,然后停止。如果只有一个wanton,但最远端的列表中有另一个wanton名称,并更新了类别(3),该怎么办
我设置它的方法是在列表上通过一次,然后选择文本/多行文字,然后根据列表上的当前项进行选择。找到它并停止,然后继续下一个项目,你们有什么建议吗?
您认为一次处理一个图形实体并反复阅读列表更好吗?
顺便说一句,这只是一次性的事情。。。我还没有真正开始编写代码,仍在努力找出最好、最有效的方法 奥凯多基。
为了解决与“列表人”的问题,我要求他们更新他们的列表,并删除超级种子项目。他们最终得到了一个名字和一个类别。这让它变得更容易。
所以这是我得到的
3
文本文件格式如下:
D01-26-BL-市场B(空格为“\t”)
但它起了作用。就像我说的,这只是一次而已,
无错误处理程序(与往常一样)
如有任何意见,我们将不胜感激。。。
页:
[1]