![]() |
[求助]如何快速获取块中所包含的多层嵌套块名称
[求助]如何快速获取块中所包含的多层嵌套块名称
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 |
所有的时间均为北京时间。 现在的时间是 07:52 PM. |