如何使用i过滤掉行
有没有办法找到图形中所有长度为整数值的线,如5.0000,而不包括长度为4.9999的线,反之亦然?提前感谢 QSELECT应该会帮你。 我无法想象有了这个工具怎么可能。
我有许多不同长度的线条;其中一些具有整数值,一些具有非整数值。我想找出哪些具有长度属性的非整数值,因为这意味着我必须纠正图形中的不精确性。现在我必须手动操作。 你试过过滤器吗?
除此之外,你还需要Lisp程序。 过滤器无法解决此问题。
是的,这就是我所希望的,也许有人知道已经编写的LISP代码可以做到这一点,因为我不知道如何编写它。。。
但无论如何谢谢你的帮助 在这种情况下,你应该问在LISP论坛。我把你的线移到那里。
你查过李的网站了吗? 谢谢,我会查他的网站。。。 试试这个。。。
(defun c:Test (/ s l ss i sn)
(if (and (setq s (ssadd)
l (getdist "\n Specify length of lines to highlight :")
)
(setq ss (ssget "_x" '((0 . "LINE"))))
)
(repeat (setq i (sslength ss))
(setq sn (ssname ss (setq i (1- i))))
(if (equal (distance (cdr (assoc 10 (entget sn)))
(cdr (assoc 11 (entget sn)))
)
l
)
(ssadd sn s)
)
)
)
(sssetfirst nil s)
(princ)
)
谢谢Tharwat,
但是,我们可以选择长度不同但长度属性只有整数值的线吗?
你看,你的代码要求特定的长度,但我需要许多不同的长度,但只需要整数值。 我想:
(defun c:test ( / e i s x )
(if (setq s
(ssget "_X"
(list '(0 . "LINE")
(if (= 1 (getvar 'cvport)) (cons 410 (getvar 'ctab)) '(410 . "Model"))
)
)
)
(repeat (setq i (sslength s))
(setq e (ssname s (setq i (1- i)))
x (entget e)
)
(if (not (equal (rem (distance (cdr (assoc 10 x)) (cdr (assoc 11 x))) 1.0) 0.0 1e-)
(ssdel e s)
)
)
)
(sssetfirst nil s)
(princ)
)
页:
[1]
2