gaics 发表于 2024-11-2 14:50:07

一种解决zoom后找不到图形的方法

本帖最后由 gaics 于 2024-11-2 14:55 编辑

经常会遇到使用zoom命令缩放或双击中键后找不到图形的情况,一般都是某些个图形偏离工作区域太远造成的。

如何撤回到正常视图?最及时的办法肯定是ctrl+Z或undo等等。如果撤回命令已失效,可以用“find”命令搜索某个高频文字、数字等,再通过定位回到正常工作视图。

如何解决这类图纸问题?分两种情况:
1、工作区域以外的“孤立图形”
这种可能是飞到很远处的填充、标注、块等任何图元,可以使用反向删除来解决,好多帖子有讨论过。

zoom后图形尺度变得特别大,找不到具体哪个图形引起的。
http://bbs.mjtd.com/forum.php?mo ... 0492&fromuid=410342
(出处: 明经CAD社区)

(defun c:rdel (/ ss)
(princ "\n选择要保留的图元(栏选),未被选择的将会被删除!!!")
(setq ss (ssget))
((if command-s command-s vl-cmdf) "_.erase" "All" "R" ss "")
)2、图块内存的“孤立图形”
这种通过反向删除就无法删除,因为它的主体在工作区域内。
我的思路是,先通过两点标定工作区域范围(此范围时假想的矩形框,能包住所有工作图形),再遍历块,然后将块的最小包围框分别与工作区域进行对比,超出工作区域的块名将被记录。最后命令会引导将这些图块插入到指定区域以便后续处理。

处理实际问题时可将上述两种方法组合运用。

你有种再说一遍 发表于 2024-11-2 16:41:15

可惜你不懂C#,不然有现成的四叉树,连生成矩形我都已经完成了
这样找的速度确实是最快的
https://www.cnblogs.com/JJBox/p/15512317.html

magicheno 发表于 2024-11-2 18:48:03

感谢大佬分享,这个问题已经困扰我很久了

gaics 发表于 2024-11-2 20:19:00

你有种再说一遍 发表于 2024-11-2 16:41
可惜你不懂C#,不然有现成的四叉树,连生成矩形我都已经完成了
这样找的速度确实是最快的
https://www.cnbl ...

指导一下:lol

oistre 发表于 2024-11-3 10:02:08


感谢大佬分享

云真 发表于 2024-11-4 11:34:58

看看,偶尔会遇到这种情况。

1028695446 发表于 2024-11-6 16:08:26

本帖最后由 1028695446 于 2024-11-6 16:14 编辑

全选尺寸标注或者填充或者文字,然后对其中一个进行zoom缩放定位就好了



(DEFUN C:ZF(/ ss ent )
        (princ "\n缩放")
        (if (setq ss(ssget "X" '((0 . "HATCH,*LINE,*DIMENSION,*TEXT"))))
                (progn                       
                        (setq ent(ssname ss 0))
                        (command "ZOOM" "o" (ssadd ent) "")                       
                )
        )
)

页: [1]
查看完整版本: 一种解决zoom后找不到图形的方法