lisp中ssget的选择集不确定.视口在不同的缩放比例下,利用ssget选择出来的对象也不同.
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/20 05:20:04
lisp中ssget的选择集不确定.视口在不同的缩放比例下,利用ssget选择出来的对象也不同.
比如我只想选择(0,0)(5,5)区间内的多段线.但是如果把视口缩小,就会选择出这个范围外的一些多段线,不满足我的要求.请问如何避免呢.(setq d (ssget "c" (list (+ (car c) 1) (+ (cadr c) 3)) (list (car c) (cadr c)) '((0 ."LWPOLYLINE"))))这是我编写的一个语句.其中c是一个点.当视口比例不同时,选择集不确定.选择的对象都是在当前窗口的,而且捕捉也关了.
比如我只想选择(0,0)(5,5)区间内的多段线.但是如果把视口缩小,就会选择出这个范围外的一些多段线,不满足我的要求.请问如何避免呢.(setq d (ssget "c" (list (+ (car c) 1) (+ (cadr c) 3)) (list (car c) (cadr c)) '((0 ."LWPOLYLINE"))))这是我编写的一个语句.其中c是一个点.当视口比例不同时,选择集不确定.选择的对象都是在当前窗口的,而且捕捉也关了.
;采用以下方法试试
;设矩形选择集区域的左下角为p1,右上角为P2,则
(command "_zoom" "w" (mapcar '- p1 '(10 10)) (mapcar '+ p2 '(10 10)))
(setq d (ssget "c" p1 p2 '((0 ."LWPOLYLINE"))))
(command "_u")
;设矩形选择集区域的左下角为p1,右上角为P2,则
(command "_zoom" "w" (mapcar '- p1 '(10 10)) (mapcar '+ p2 '(10 10)))
(setq d (ssget "c" p1 p2 '((0 ."LWPOLYLINE"))))
(command "_u")