下面我将部分多段线分离出
 - (defun c:fff (/ CMDECHO1 N OSMODE1 P2 PET SS SS1 SS2)
- (defun GetTwoPts (ss / XY)
- (setq xy (last (ssnamex ss 0)))
- (list (last (cadr xy)) (last (cadddr xy)))
- )
- (setq CMDECHO1 (getvar "CMDECHO"))
- (setq osmode1 (getvar "osmode"))
- (setq pet (getvar "PEDITACCEPT"))
- (Setvar "CMDECHO" 0)
- (Setvar "osmode" 0)
- (setvar "PEDITACCEPT" 1)
- (if (setq ss (ssget '((0 . "LWPOLYLINE"))))
- (progn (setq p2 (GetTwoPts ss))
- (repeat (setq n (sslength ss))
- (vl-cmdf "_.explode" (ssname ss (setq n (1- n))))
- (setq ss1 (ssget "_P"))
- (setq ss2 (ssget "W" (car p2) (cadr p2)))
- (if (and ss1 ss2)
- (progn
- (vl-cmdf "_.Select" ss1 "_Remove" ss2 "")
- (setq ss1 (ssget "_P"))
- )
- )
- (if ss1
- (command "_pedit" "_M" ss1 "" "_j" "" "")
- )
- (if ss2
- (command "_pedit" "_M" ss2 "" "_j" "" "")
- )
- )
- )
- )
- (Setvar "CMDECHO" CMDECHO1)
- (Setvar "osmode" osmode1)
- (setvar "PEDITACCEPT" pet)
- (princ)
- )
稍改就可满足你的要求 |