明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1321|回复: 6

[求助]能否检测嵌套块所于什么图层?

[复制链接]
发表于 2008-5-8 19:58 | 显示全部楼层 |阅读模式

比如块A中包含了另外两个块C和D!能否测块C和块D分别所于什么图层?

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2008-5-8 20:16 | 显示全部楼层

找块定义

 楼主| 发表于 2008-5-8 22:33 | 显示全部楼层

用LISP能检测出来吗?如果块中有上百个嵌套块的话,就显得非常繁锁了!

发表于 2008-5-8 22:44 | 显示全部楼层

可以是可以。用循环就好了,也不是很难。

先取得块里有多少个子块,然后逐一用VAL-GET-LAYER就好了。(VLA-GET-LAYER(VLA-ITEM BLKOBJ I))

 楼主| 发表于 2008-5-8 23:06 | 显示全部楼层
谢谢kerrywm,能否写段LISP代码!?参考一下!
发表于 2008-5-9 08:02 | 显示全部楼层
本帖最后由 作者 于 2008-5-9 8:13:44 编辑

  1. (defun C:TEST (/ EN ENN)
  2.   (setq ENN (car (entsel "\n選塊: ")))
  3.   (TEST ENN)
  4.   (princ)
  5. )
  6. (defun TEST (ENN / NAME)
  7.   (setq NAME (cdr (assoc 2 (entget ENN))))
  8.   (setq ENN (cdr (assoc -2 (tblsearch "block" NAME))))
  9.   (while ENN
  10.     (if (= "INSERT" (cdr (assoc 0 (entget ENN))))
  11.       (progn
  12. (print (cons (cdr (assoc 2 (entget ENN)))
  13.        (cdr (assoc 8 (entget ENN)))
  14.         )
  15. )
  16. (TEST ENN)
  17.       )
  18.     )
  19.     (setq ENN (entnext ENN))
  20.   )
  21.   (princ)
  22. )
 楼主| 发表于 2008-5-9 13:15 | 显示全部楼层
谢谢斑主龙龙仔!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 18:22 , Processed in 0.171121 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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