明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1679|回复: 2

[求助]如何快速获取块中所包含的多层嵌套块名称

[复制链接]
发表于 2009-2-6 19:52:00 | 显示全部楼层 |阅读模式

如题所说为从多层嵌套块中提取某块其包含的所有子块名称问题,如:

例1: 某块A,其中包含多个实体,其中还有块B 和块C,其中B块又包含D、E、F块,C块包含G、H块。

例2:" 客厅"块中包含"电视"块、"茶几"块及"沙发"块,其中"电视"块包含"电视机"块和"电视柜"块;"茶几"块包含"中几"块和"角几"块;

"沙发"块中包含"三人沙发"块和"单人沙发"块,等等等等...

但是如何快速获得"客厅"块或"茶几"块各自中包含的所有子块的名称呢?请高手出手相助,非常感谢!

发表于 2009-2-7 09:58:00 | 显示全部楼层
(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
)
 楼主| 发表于 2009-2-8 16:42:00 | 显示全部楼层

非常感谢caoyin版主,祝你工作愉快!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-7-29 17:05 , Processed in 0.157177 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表