如何获取所需的对象
我们可以使用ssget通过坐标点获取视口中的对象,但它无法获取视口外的对象。那么谁能告诉我解决这个问题的方法呢? 不确定,但请尝试反转选择。选择所有/删除坐标内的对象 获取屏幕范围。然后检查每个对象边界框是否在屏幕范围内(defun screenextents ( / ll ur )
(setq ll
(polar
(polar (getvar 'viewctr) pi
(* 0.5
(/ (getvar 'viewsize)
(apply (function /)
(reverse (getvar 'screensize))
)
)
)
)(* pi 1.5)(* 0.5 (getvar 'viewsize))
)
ur
(polar
(polar (getvar 'viewctr) 0.
(* 0.5
(/ (getvar 'viewsize)
(apply (function /)
(reverse (getvar 'screensize))
)
)
)
)(* pi 0.5)(* 0.5 (getvar 'viewsize))
)
)
(list ll (list (car ur)(cadr ll)) ur (list (car ll)(cadr ur)))
)
这是一个解决方案。但是如果有大量的对象,效率将非常低 我认为你的代码不能解决我的问题。我想得到在移动视口之前无法在屏幕上看到的对象 是的,如果你有很多物体,它会很慢。Screenextents将为您提供一个工作要点。也许你可以发布你所拥有的,我们可以对其进行扩展 等等,这个项目的目的是什么?
页:
[1]