[求助]如何快速获取块中所包含的多层嵌套块名称
www.dimcax.com
[求助]如何快速获取块中所包含的多层嵌套块名称
如题所说为从多层嵌套块中提取某块其包含的所有子块名称问题,如:
例1: 某块a,其中包含多个实体,其中还有块b 和块c,其中b块又包含d、e、f块,c块包含g、h块。
例2:" 客厅"块中包含"电视"块、"茶几"块及"沙发"块,其中"电视"块包含"电视机"块和"电视柜"块;"茶几"块包含"中几"块和"角几"块;
"沙发"块中包含"三人沙发"块和"单人沙发"块,等等等等...
但是如何快速获得"客厅"块或"茶几"块各自中包含的所有子块的名称呢?请高手出手相助,非常感谢!
d
(defun test (blockname / name blst)
(vlax-for x
(vla-item (vla-get-blocks
(vla-get-activedocument (vlax-get-acad-object))
)
blockname
)
(if (= (vla-get-objectname x) "acdbblockreference")
(progn
(setq blst (append blst (list (setq name (vla-get-name x))))
lst (test name)
)
(if lst (setq blst (append blst (list lst))))
)
)
)
blst
)
d
非常感谢caoyin版主,祝你工作愉快!
d