查看单个帖子
旧 2009-04-26, 12:49 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 [求助]如何快速获取块中所包含的多层嵌套块名称

[求助]如何快速获取块中所包含的多层嵌套块名称
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
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)