明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1517|回复: 6

[提问] 请问如何获得嵌套块内的块名

[复制链接]
发表于 2014-9-18 15:03:03 | 显示全部楼层 |阅读模式
请教如何能获得嵌套块内的某个块名,或者如何得到nentsel所选择对象所在块的块名?用参照编辑先命令后选择,可以定位到嵌套块块名,都是不知道用程序如何获得块名。例如点圆块得到块1

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下

相关帖子

 楼主| 发表于 2014-9-18 18:03:23 | 显示全部楼层
  1. (defun c:tt()
  2. (setq p0(cadr(entsel)))
  3. (command"-refedit" p0 "n" "o" "a" "n")
  4. (setq n(getvar"REFEDITNAME"))
  5. (command"_refclose" "D")
  6. (command"_leader"p0 pause pause"" n "")
  7.   (princ n)
  8.   )

使用了参照编辑命令,退出参照编辑那一步卡顿时间很长,求直接获取嵌套块块名的方法

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2015-10-14 17:23:16 | 显示全部楼层
简单实用啊,嵌套块名提取
发表于 2020-3-17 17:16:06 | 显示全部楼层
可以试试nentsel
发表于 2020-3-21 10:11:03 | 显示全部楼层
楼主搞定了吗?我也被这个问题困扰。
发表于 2020-10-19 17:29:19 | 显示全部楼层
52幕墙设计 发表于 2014-9-18 18:03
使用了参照编辑命令,退出参照编辑那一步卡顿时间很长,求直接获取嵌套块块名的方法

你这仅能用于一层嵌套,而且进出参照几乎是CAD最卡的操作了。请问现在有没有找到更好的办法
发表于 2020-10-19 21:34:50 | 显示全部楼层
  1. (defun tt(blkname / blks a b)
  2.   (if(=(type(setq a(VL-CATCH-ALL-APPLY'vla-item(list(vlax-get-property(vlax-get-property(vlax-get-acad-object)'activedocument)'blocks)blkname))))'VLA-OBJECT)
  3.     (progn(vlax-for x a(if(=(vlax-get-property x 'ObjectName)"AcDbBlockReference")(setq b(cons(vlax-get-property x'name)b))))
  4.       (if b(List blkname(mapcar 'tt b))blkname))))

;;(TT"B1")
;;("B1" (("E" ("D")) ("B" ("A"))))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 21:48 , Processed in 0.186733 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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