如果出现以下情况,请选择直线和多段线。
大家好,我清理一个地形图文件,其中包含1000条随机线和多段线形式的数字碎片,每个对象都有两个顶点(客户按原样交付)。如果我只按长度选择,快速选择将捕获我想要保留的大量轮廓信息。
我在另一篇文章中找到了这段代码,并想寻求一些指导。
我一直在考虑,在哪里包括计算顶点的部分,如何将其合并到代码中,以及使用vlax curve getendparam的方法是否适用于直线和多段线。
希望大家能给一点建议,谢谢。
若长度小于x且对象有两个顶点,则选择直线和多段线。
另一种方法是从原始集合中删除不需要的对象;但是,请注意,这仅适用于使用递减索引迭代选择集时:
(defun c:mysel ( / e i s )
(if (setq s (ssget '((-4 . "<OR") (0 . "LINE") (-4 . "<AND") (0 . "LWPOLYLINE") (-4 . "<NOT") (-4 . "&=") (70 . 1) (-4 . "NOT>") (-4 . "AND>") (-4 . "OR>"))))
(repeat (setq i (sslength s))
(setq e (ssname s (setq i (1- i))))
(if (<= 1500 (vlax-curve-getdistatparam e (vlax-curve-getendparam e))) (ssdel e s))
)
)
(sssetfirst nil s)
(princ)
)
(vl-load-com) (princ)
页:
[1]