caoyongjun 发表于 2025-1-5 16:44:45

有没办法PT2这个坐标值加个容差


(setq ss3 (ssget        "X"
                        (list
                          '(-4 . "<OR")
                          (cons 13 pt2)
                          '(-4 . "OR>")
                        )
               )
       )
       (sssetfirst sss ss3)

SS3选不中的原因是因为PT2有小数点,可能是4舍5入了,导致选不中所要的坐标图元,有没办法PT2这个坐标值加个容差,PT2表里的X Y Z要是个整数就可选中。





llsheng_73 发表于 2025-1-5 17:22:49

(setq pt2(getpoint)
      fuz 0.5)
(setq ss3 (ssget"X"(list'(-4 . "<or")
                           '(-4 . "<and")
                              '(-4 . ">=,>=")
                              (cons 13(mapcar'- pt2(list fuz fuz)))
                           '(-4 . "and>")
                           '(-4 . "<and")
                              '(-4 . "<=,<=")
                              (cons 13(mapcar'+ pt2(list fuz fuz)))
                           '(-4 . "and>")
                        '(-4 . "OR>"))))

自贡黄明儒 发表于 2025-1-6 07:49:33

这相当于entsel了。取pickbox的两个角点,用ssget "W" 或者“C"就行。

llsheng_73 发表于 2025-1-6 12:30:18

自贡黄明儒 发表于 2025-1-6 07:49
这相当于entsel了。取pickbox的两个角点,用ssget "W" 或者“C"就行。

他的pt2可能在屏幕外。。。

阿然 发表于 2025-2-8 11:26:39

修改了下
(list                     '(-4 . "<and")
                  '(-4 . ">=,>=")
                  (cons 10 (mapcar '- pt (list fuz fuz)))
                  '(-4 . "and>")
                  '(-4 . "<and")
                  '(-4 . "<=,<=")
                  (cons 10 (mapcar '+ pt (list fuz fuz)))
                  '(-4 . "and>")
)
这样可以选择到,可是只能做到"W"类型的选择,没法做到"C"类型的选择,请教下能完善成C型的选择吗?
页: [1]
查看完整版本: 有没办法PT2这个坐标值加个容差