自定义块选择lisp
我需要根据属性值进行选择。选择过滤器由块名称、块属性和该属性的值集组成。例如,我有一打在我的画块,但我只需要散热器块。这个bloc有几个属性,但我需要根据其room number属性进行过滤。数值为1,2,3,4,5,6,7,8。我只想选择2,4,7。是否有一个lisp例程,我可以修改或你有一些其他的想法。 您必须使用SS过滤器过滤块名和属性块,然后过滤收集集的一种方法是将其转换为列表,并使用诸如“vl remove if”“vl remove if not”之类的函数。。。等 你好。。您想对值为2,4,7的项做什么?
我会将其用于选择集
这将使属性成为一个项。
(setq blockname (getstring ("\nWhat is the blocks name")))
(setq ss(ssget "X" '((0 . "INSERT")(2 . blockname)(66 . 1))))
然后是属性的数量
然后你可以说
这将成为一个列表。
请原谅剪贴这件事。这会让你上路的。。
除非在中不使用lisp。那么很抱歉,其他人中的一个会帮助你 另一种方法:
3
使用块名、标记名和要筛选的属性值列表来调用它。 我想选择这些特定块,以在“属性”选项卡中更改其查找参数值。 谢谢。这很有帮助。有没有办法让lisp要求您选择不喜欢的块,然后插入属性名?
您需要使用getstring函数提示输入块/属性名称,并包括一些错误检查,以查看名称是否有效等。 我有一个vba,它可能做你想要的,但关于最后一个问题,最容易选择一个正确的块,只需返回其名称,你可以做一个确认,所以再次选择,如果错误的一个。然后继续执行程序。
您也可以单步遍历属性并选择正确的属性,例如enter=no Y=correct 块选择可以是这样的:
4
这条线的目的到底是什么?如果(setq ent(car(entsel)))返回nil,那就是。。。那么第二个检查是没有意义的是吗?
页:
[1]
2