[求助]如何快速获取块中所包含的多层嵌套块名称
<p>如题所说为从多层嵌套块中提取某块其包含的所有子块名称问题,如:</p><p>例1: 某块A,其中包含多个实体,其中还有块B 和块C,其中B块又包含D、E、F块,C块包含G、H块。</p><p>例2:" 客厅"块中包含"电视"块、"茶几"块及"沙发"块,其中"电视"块包含"电视机"块和"电视柜"块;"茶几"块包含"中几"块和"角几"块;</p><p>"沙发"块中包含"三人沙发"块和"单人沙发"块,等等等等...</p><p>但是如何快速获得"客厅"块或"茶几"块各自中包含的所有子块的名称呢?请高手出手相助,非常感谢!</p> (defun TEST (BlockName / NAME BLST)<br/> (vlax-for X<br/> (vla-item (vla-get-blocks<br/> (vla-get-activedocument (vlax-get-acad-object))<br/> )<br/> BlockName<br/> )<br/> (if (= (vla-get-objectName X) "AcDbBlockReference")<br/> (progn<br/> (setq BLST (append BLST (list (setq NAME (vla-get-Name X))))<br/> LST (TEST NAME)<br/> )<br/> (if LST (setq BLST (append BLST (list LST))))<br/> )<br/> )<br/> )<br/> BLST<br/>) <p>非常感谢caoyin版主,祝你工作愉快!</p>
页:
[1]