Humanway 发表于 2021-7-30 22:24:14

急死了,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时,不正常,有时候可以选取,大部分时间不能选取,这种情况,可能是因为什么原因,与系统变量有关吗?还是其他什么原因,谢谢。

Bao_lai 发表于 2021-7-30 22:43:38

1. 缩放一下视口,屏幕外的get不到

Bao_lai 发表于 2021-7-30 22:45:22

2.(ssget "c" pt1 pt2 (list '((0 . "insert") (cons 66 1))))

Humanway 发表于 2021-7-30 22:52:48

(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]
查看完整版本: 急死了,ssget函数,找不到问题所在