急死了,ssget函数,找不到问题所在
本帖最后由 highflybir 于 2021-7-31 16:49 编辑(defun getlabel (pt / i pt1 pt2 ss_l x y)
(setq x (car pt)
y (last pt)
pt1 (list (+ 100 x) (- y 100))
pt2 (list (- x 100) (+ y 100))
ss_l (ssget "c" pt1 pt2 '((0 . "insert") (66 . 1))) i 0
)
)如上述代码,反选指定点上下左右100单位的属性块。如果在COMMAND命令行中执行:(ssget ss_l (ssget "C" (getpoint) (getpoint) '((0 . "insert") (66 . 1)))) ,可以正常选取块,但通过调用getlabel函数时,当执行到ssget时,不正常,有时候可以选取,大部分时间不能选取,这种情况,可能是因为什么原因,与系统变量有关吗?还是其他什么原因,谢谢。
1. 缩放一下视口,屏幕外的get不到 2.(ssget "c" pt1 pt2 (list '((0 . "insert") (cons 66 1)))) (defun getlabel (pt / filter pt1 pt2 ss_l x y)
(setq x (car pt)
y (last pt)
pt1 (list (- x 100) (- y 100))
pt2 (list (+ x 100) (+ y 100))
filter (list '(-4 . "<AND") '(0 . "INSERT") '(66 . 1) '(-4 . ">,>,*") (cons 10 pt1) '(-4 . "<,<,*") (cons 10 pt2) '(-4 . "AND>"))
ss_l (ssget "x" filter)
)
)
谢谢大家,找到方法了
页:
[1]