您在第一篇文章中提到,对象是线,这就是为什么我只包括线和实体。
无论如何,试试这个更新版本,也包括多段线。
- (defun c:Test (/ ss i sn l) (vl-load-com)
- (if (setq ss (ssget "_:L" '((0 . "LINE,*POLYLINE"))))
- (repeat (setq i (sslength ss))
- (setq sn (ssname ss (setq i (1- i))))
- (if (eq (cdr (assoc 0 (entget sn))) "LINE")
- (setq l (distance (cdr (assoc 10 (entget sn)))
- (cdr (assoc 11 (entget sn)))
- )
- )
- (setq
- l (vlax-curve-getdistatparam
- sn
- (fix (vlax-curve-getendparam sn))
- )
- )
- )
- (if (or (eq l 1.25) (eq l 3.0) (and (> l 1.25) (< l 3.0)))
- (entdel sn)
- )
- )
- )
- (princ)
- )
|