我没有Alan发布此代码的链接。要么在这里,要么在沼泽地。。。
- (defun c:BPV (/ _chop ss i e)
- ;; Break lwPolyline at each Vertex
- ;; Alan J. Thompson, 09.14.11
- (vl-load-com)
- (defun _chop (lst e)
- (if (vlax-curve-isClosed e)
- (cdr lst)
- (reverse (cdr (reverse (cdr lst))))
- )
- )
- (if (setq ss (ssget "_:L" '((0 . "LWPOLYLINE") (-4 . ">") (90 . 2))))
- (repeat (setq i (sslength ss))
- (foreach point (_chop (apply 'append
- (mapcar '(lambda (x)
- (if (eq (car x) 10)
- (list (trans (cdr x) 0 1))
- )
- )
- (entget (setq e (ssname ss (setq i (1- i)))))
- )
- )
- e
- )
- (vl-cmdf "_.break" e "_F" "_non" point "_non" point)
- (setq e (entlast))
- )
- )
- )
- (princ)
- )
|