275437962 发表于 2013-12-29 12:49:35

这个问题该怎么解决呢?

本帖最后由 275437962 于 2013-12-29 12:52 编辑

(defun myss (minl maxl / e len n obj ss)
(if (setq ss (ssget '((0 . "LINE"))))
    (repeat (setq n (sslength ss))
      (setq e (ssname ss (setq n (1- n))))
      (setq obj (vlax-ename->vla-object e))
      (setq len (vlax-get obj 'length))
      (if (or
            (< len minl)
            (> len maxl)
          )
      (ssdel e ss)
      )
    )
)
ss
)

(defun c:sss (/ a b ss)
(if (not (setq a (getdist "\n请指定最小长度<0.01>:")))
    (setq a 0.5)
)
(if (not (setq b (getdist "\n请指定最大长度<0.08>:")))
    (setq b 2.5)
)
(if (and
      a
      b
      )
    (if (setq ss (myss a b))
      (command "._select" ss "" "._pselect" ss "")
    )
)
(princ)
)


如何提高这个程序快速选择的精度,如我要选择的直线是0.0798,那么按上面程序的最小长度和最大长度,这条线不能被选中!!能否让这个选择的精度,精确到小数点后四位!!




275437962 发表于 2013-12-29 16:59:06

怎么回事!!

twsyzx 发表于 2013-12-30 00:20:46

不明白楼主说的什么情况.
最小长度输入0.0001不就可以了吗,或者输入0
页: [1]
查看完整版本: 这个问题该怎么解决呢?