- 积分
- 30107
- 明经币
- 个
- 注册时间
- 2012-3-26
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
已知两对角点 p1 p2
判断此对角框内是否存在任何文字线条填充标注等图元
在明确此框内无任何内容的情况下:
当在屏幕上此两点显示很小时会误判断不为NIL
当在屏幕上此两点显示全屏或很大时则能正常判断为NIL
当此两点不在屏幕上显示范围时有图形也会判断为NIL
我只好用放大方法将屏幕显示此两点内容才能正常判断
帮助及有关介绍:
C 窗交
如果指定了该参数,则必须跟一对点创建一个矩形窗口,与矩形窗口相交的对象均被加入选择集。
注意:此模式仅选择绘图区域内的可见对象,而且线框选择模式均有这个限制。
请教各位大师,是不是我的认识有问题,还是那里不对?
谢谢!
以下两种方法都各有不足。
(setq ss (ssget "c" p1 p2))
;;;坐标范围选择,有点类似(ssget "c" p1 p2 filter),但本函数在屏幕外的也可选择
;;;测试测试 (tt (getpoint) (getpoint) '((0 . "*text,*LINE,CIRCLE,DIMENSION,insert")))
(defun tt (p1 p2 filter / minX minY maxX maxY)
(setq minX (min (car p1) (car p2))
minY (min (cadr p1) (cadr p2))
maxX (max (car p1) (car p2))
maxY (max (cadr p1) (cadr p2))
)
(if filter
(ssget "x"
(append (list '(-4 . "<and")
'(-4 . ">=,>=,*")
(list 10 minX minY 0)
'(-4 . "<=,<=,*")
(list 10 maxX maxY 0)
)
(append filter '((-4 . "and>")))
)
)
(ssget "X"
(list '(-4 . "<and")
'(-4 . ">=,>=,*")
(list 10 minX minY 0)
'(-4 . "<=,<=,*")
(list 10 maxX maxY 0)
'(-4 . "and>")
)
)
)
)
|
|