coombsie111 发表于 2022-7-6 23:39:13

如何抑制过滤器窗口

各位读者好,
 
对所有这些都是陌生的,当涉及到lisp、宏等时不是很熟悉。。。。但是,感谢他们令人敬畏的力量,并设法从我以前的公司借用了一些(请原谅这种语言),并将它们很好地利用起来。
 
但这已经够胡说八道的了,让我们回到正题上来。
 
我喜欢使用FILTER命令来选择对象,例如bylayer、blockname、text content等等。。。发现它们非常有用。我使用了SaveAs函数来整理我在将来可能需要使用的许多有用的函数。
 
我的问题是,我想在LISP例程中使用这个FILTER命令,但不知道如何(甚至是否)抑制窗口打开。(带前缀的连字符不起作用)即,如果我想删除其中包含BH的所有文本,我想创建一个流畅的LISP(&按钮)来完成此任务,而不是一些零碎的版本。
 
目前,我还没有一个特定的LISP例程,但我有一些想法,它可能对我很有用。
 
任何帮助都将不胜感激。非常感谢。
 
问候C先生

ttray33y 发表于 2022-7-6 23:58:49

样品
 

(defun c:aba ()
(setq mySet2 (ssget "x" '((2 . "blockname")
- add more DXF codes here -)))
   (command "SELECT" mySet2 "P" "")                                                                  
(princ)                              
)
 
dxf代码:http://www.afralisp.net/reference/dxf-group-codes.php

coombsie111 发表于 2022-7-7 00:20:34

ttray33y,
 
谢谢你的帮助,但我不明白-你能解释一下吗,也许可以举个例子。这与FILTERS命令有关吗?我可以按名称调用保存的过滤器之一吗?还是以不同的方式达到相同的目的?请确认。。
 
PS:为新手头道歉

BIGAL 发表于 2022-7-7 00:37:55

SSGET是lisp版本的get对象,您可以使用过滤器,第一部分是对象拾取“X”意味着搜索所有dwg您可以使用窗口选项也可以使用WP CP W加上其他F,然后您可以使用基于dxf代码的过滤器为特定对象查找块0=“插入”8=层名称10=插入点,检查帮助它描述了许多组合。对于dxf代码,请在将微小的lisp复制到命令行并拾取对象(entget(car(entsel))后查看屏幕
 
如果您想在一个过滤器中使用不同类型的对象,可以使用组合,如(8,“layer1,layer2,layer3”)(8。“Layer*”)所有以“Layer”开头的层,或者可以用简单的方法将选择集连接在一起。
 
你可以做一系列你最喜欢的搜索。结合你想做的事。
 
删除带有BH的重新文本。(setq ss(ssget“x”'((2。“Text”))然后需要对每个文本进行defun搜索,如果其中包含BH,则删除。要删除,请尝试Lee mac。用于“搜索文本字符串.lsp”。

coombsie111 发表于 2022-7-7 00:51:30

哇!
 
有很多需要接受的。。。谢谢比格尔。下周我会试一试,让你知道我进展如何。
 
亲切的问候
C先生
页: [1]
查看完整版本: 如何抑制过滤器窗口