列表图层过滤器autolisp
是否可以通过autolisp从图形中的所有图层过滤器中获取列表?到目前为止,我可以通过以下方式创建它们:
(command
"._-layer"
"_filter"
"_new"
"_group"
""
"0*"
"0"
"s"
"All"
""
)
但我无法从他们那里得到这份名单 如果我明白你的意思,试试这个:-
(defun layerlist (/ a b)
(if (setq a (tblnext "layer" t))
(while a
(setq b (cons (cdr (assoc 2 a)) b)
a (tblnext "layer")
)
)
)
(reverse b)
) 这是一个起点
(dictsearch (vlax-vla-object->ename
(vla-GetExtensionDictionary
(vla-get-layers
(vla-get-activedocument
(vlax-get-acad-object)
)
)
)
)
"ACAD_LAYERFILTERS"
)
还有一些你可能会感兴趣的东西:http://www.cadtutor.net/forum/showthread.php?61032-图层特性过滤器
返回一个层列表。 谢谢你们俩。。。我想我说得不够清楚。我需要的是一个
图层过滤器列表
不仅仅是图层列表
这就是我的意思。。。
https://www.cadtutor.net/forum/attachment.php?attachmentid=56912&cid=1&stc=1
无论如何,谢谢你。与此同时,我会继续寻找解决方案。
斯沃戈德内
这是我将函数直接粘贴到textscr时的结果
(-1 . )
(0.“字典”)
(5.“45B8”)
(102“{ACAD_反应堆”)
(330 . )
(102 . "}")
(330 . )
(100.“AcDbDictionary”)
(280 . 0)
(281 . 1)
我做错什么了吗?我应该从这些层中得到合适的名字吗?
再次感谢。我会继续努力的。至少我通过每次重置过滤器来解决这个问题,尽管这并不是我想要的。我只想应用缺失的过滤器,而不是所有过滤器。
斯沃戈德内 考虑使用以下函数列出所有图层组过滤器:
由于组过滤器可能是嵌套的,如果图形包含以下结构中的图层组过滤器:
上述函数将返回以下内容:
4 谢谢李,
像往常一样,你总是“救命稻草”。我已经欠你一些啤酒了。
Cya公司
斯沃戈德内 不客气,斯沃戈德内-我很高兴这有帮助。
页:
[1]