如何选择屏幕外对象
请教下,诸如(setq ss(ssget "w" pt1 pt3 '((0 . "*text"))))这样的代码只能选到屏幕内的对象,那对于给定的两个点,如何通过代码可靠的选择到这两点区域内的对像而不用考虑是否在屏幕内外? 设置 SELECTIONOFFSCREEN 吧:(setvar "SELECTIONOFFSCREEN" 1) 这是我用的,你试试
(defun c:tt (/ pt1 pt2 ss)
(if
(and (setq pt1 (getpoint "\n框选起点:\n"))
(setq pt2 (getcorner pt1 "\n框选终点:\n"))
)
(progn
(setvar "cmdecho" 0) ;隐藏命令行信息显示
(command "'ZOOM" "_W" pt1 pt2) ;把pt1、pt2 Zoom到一个窗口内
(setq ss (ssget "_W" pt1 pt2)) ;框选pt1、pt2之间的对象
(command "'ZOOM" "_P") ;Zoom到选取第二个点的视口
)
)
(sssetfirst nil ss) ;设选择集为当前激活
) muwind 发表于 2022-9-20 23:10
(vl-cmdf "zoom" pt1 pt3) 有个小麻烦 当要同时选择很多对象的时候,会亮瞎的你的小眼睛,
是的,我还没有学习到很合适的方法。包括刚才那位仁兄给我的链接帖子我也去看了下,是通过全选全部对象再通过比较坐标,在坐标区域内的就加入集合的方法来选择的,如果我图形很大,效率恐怕不会高。
[*](vl-cmdf "zoom" pt1 pt3)
https://blog.csdn.net/hjpqindong/article/details/90754199 飞雪神光 发表于 2022-9-20 22:48
https://blog.csdn.net/hjpqindong/article/details/90754199
谢谢回复,我试试 (vl-cmdf "zoom" pt1 pt3) 有个小麻烦 当要同时选择很多对象的时候,会亮瞎的你的小眼睛, 2007测试363315个矩形多段线 坐标范围选择用时 3 秒 时间长、有限制"zoom" 用时不到1秒建立选择集快速准确 (command "zoom" "w" pt1 pt2 "");显示全部图形,保证下面的trim能正常执行
我在程序写了上面这句,但屏幕外的trim还是不能正常执行
页:
[1]
2