如何抑制过滤器窗口
各位读者好,对所有这些都是陌生的,当涉及到lisp、宏等时不是很熟悉。。。。但是,感谢他们令人敬畏的力量,并设法从我以前的公司借用了一些(请原谅这种语言),并将它们很好地利用起来。
但这已经够胡说八道的了,让我们回到正题上来。
我喜欢使用FILTER命令来选择对象,例如bylayer、blockname、text content等等。。。发现它们非常有用。我使用了SaveAs函数来整理我在将来可能需要使用的许多有用的函数。
我的问题是,我想在LISP例程中使用这个FILTER命令,但不知道如何(甚至是否)抑制窗口打开。(带前缀的连字符不起作用)即,如果我想删除其中包含BH的所有文本,我想创建一个流畅的LISP(&按钮)来完成此任务,而不是一些零碎的版本。
目前,我还没有一个特定的LISP例程,但我有一些想法,它可能对我很有用。
任何帮助都将不胜感激。非常感谢。
问候C先生 样品
(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 ttray33y,
谢谢你的帮助,但我不明白-你能解释一下吗,也许可以举个例子。这与FILTERS命令有关吗?我可以按名称调用保存的过滤器之一吗?还是以不同的方式达到相同的目的?请确认。。
PS:为新手头道歉 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”。 哇!
有很多需要接受的。。。谢谢比格尔。下周我会试一试,让你知道我进展如何。
亲切的问候
C先生
页:
[1]