panliang9 发表于 2025-11-6 11:34:51

超复杂的图怎么找到图里每个块的数量和位置

本帖最后由 panliang9 于 2025-11-6 11:38 编辑

超复杂的图,比如以块为基础绘制的图,图里有无数的块,各种镶套,组成一个工厂级的布局图。
怎么能找到某个具体的块所在的位置。并且能清晰的看到。

1、      原图另存为“骨架”
2、      用delent把 “骨架” 所有的对象全删除(整图空无一物),只剩块的结构和骨架。
3、      打开“原图”和“骨架”
4、      打开设计中心,在设计中心找到“原图”中需要找到的块,把“骨架”切换为当前图。
5、      点击该块,点击“仅重定义”(有时候需要先点一下插入块,但不需要真的插入)
6、      “骨架”中即出现所有的该块的位置。
7、      重定义该块不可分解。
8、      炸开全图的块
9、      剩下的即是该块。

其中第二步的程序看这里版主给的程序,其它程序大家应该都有,该方法可以很快速的找到块。
这肯定是笨办法,抛砖引玉,等各位大佬给我更好的程序和办法。

http://bbs.mjtd.com/thread-188717-1-1.html


kozmosovia 发表于 2025-11-6 13:08:43

本帖最后由 kozmosovia 于 2025-11-6 13:14 编辑

VLDCL-AQX中封装有现成功能
https://www.yuque.com/kozjonoyeoh/vldcl/xa0nfu7hhrzggdgn
提取到新建图层,然后设为当前并冻结或锁定其他图层。



qifeifei 发表于 2025-11-6 12:31:14

好的 学习了这个

tranque 发表于 2025-11-6 12:44:26

学习了这个好的

zsw23 发表于 2025-11-6 12:49:39

学习了这个好的

d1742647821 发表于 2025-11-6 13:57:49

用代码遍历就行了

pzweng 发表于 2025-11-7 11:07:04

本帖最后由 pzweng 于 2025-11-7 11:26 编辑

leemac就有这个函数


(setq ent (tblobjname "block" "A"))
(setq lst (vl-remove-if '(lambda (x) (/= 331 (car x))) (entget (cdr (assoc 330 (entget ent))))))
(setq ens (mapcar 'cdr lst))
(length ens) ;当前文档中,块"A"的数量

Flamingo 发表于 2025-11-8 22:55:39

pzweng 发表于 2025-11-7 11:07
leemac就有这个函数




版主,可不可以给我的帖子加个精华,对于暖通专业设计人员非常实用的功能,希望更多人能看到,包含几千行代码上百个函数

pzweng 发表于 2025-11-10 08:58:02

Flamingo 发表于 2025-11-8 22:55
版主,可不可以给我的帖子加个精华,对于暖通专业设计人员非常实用的功能,希望更多人能看到,包含几千行 ...

晚点我看看

阿猪蛋 发表于 2025-11-10 09:13:13

用代码遍历就行了
页: [1]
查看完整版本: 超复杂的图怎么找到图里每个块的数量和位置