本帖最后由 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:14 编辑
VLDCL-AQX中封装有现成功能
https://www.yuque.com/kozjonoyeoh/vldcl/xa0nfu7hhrzggdgn
提取到新建图层,然后设为当前并冻结或锁定其他图层。
网友答: 好的 学习了这个网友答: 学习了这个 好的网友答: 学习了这个 好的网友答: 用代码遍历就行了网友答: 本帖最后由 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"的数量
网友答:
版主,可不可以给我的帖子加个精华,对于暖通专业设计人员非常实用的功能,希望更多人能看到,包含几千行代码上百个函数网友答:
晚点我看看
网友答:
用代码遍历就行了
超复杂的图,比如以块为基础绘制的图,图里有无数的块,各种镶套,组成一个工厂级的布局图。
怎么能找到某个具体的块所在的位置。并且能清晰的看到。
1、 原图另存为“骨架”
2、 用delent把 “骨架” 所有的对象全删除(整图空无一物),只剩块的结构和骨架。
3、 打开“原图”和“骨架”
4、 打开设计中心,在设计中心找到“原图”中需要找到的块,把“骨架”切换为当前图。
5、 点击该块,点击“仅重定义”(有时候需要先点一下插入块,但不需要真的插入)
6、 “骨架” 中即出现所有的该块的位置。
7、 重定义该块不可分解。
8、 炸开全图的块
9、 剩下的即是该块。
其中第二步的程序看这里版主给的程序,其它程序大家应该都有,该方法可以很快速的找到块。
这肯定是笨办法,抛砖引玉,等各位大佬给我更好的程序和办法。
http://bbs.mjtd.com/thread-188717-1-1.html
网友答: 本帖最后由 kozmosovia 于 2025-11-6 13:14 编辑
VLDCL-AQX中封装有现成功能
https://www.yuque.com/kozjonoyeoh/vldcl/xa0nfu7hhrzggdgn
提取到新建图层,然后设为当前并冻结或锁定其他图层。
网友答: 好的 学习了这个网友答: 学习了这个 好的网友答: 学习了这个 好的网友答: 用代码遍历就行了网友答: 本帖最后由 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"的数量
网友答:
pzweng 发表于 2025-11-7 11:07
leemac就有这个函数
版主,可不可以给我的帖子加个精华,对于暖通专业设计人员非常实用的功能,希望更多人能看到,包含几千行代码上百个函数网友答:
Flamingo 发表于 2025-11-8 22:55
版主,可不可以给我的帖子加个精华,对于暖通专业设计人员非常实用的功能,希望更多人能看到,包含几千行 ...
晚点我看看
网友答:
用代码遍历就行了