此代码将连接选定的线以创建一条pline。但是,它不适用于三维多边形。
-
- (defun c:jn ()
- (setvar "cmdecho" 0)
- (setq lines (ssget (list (cons 0 "LINE,ARC,LWPOLYLINE,POLYLINE")))) ;POLYLINE added 300910 - will crash with 3D POLYLINES
- (if lines
- (progn
- (while (> (sslength lines) 0)
- (if (= (cdr (assoc 0 (entget (ssname lines 0)))) "LWPOLYLINE")
- (progn
- (command "pedit" (ssname lines 0) "j" lines "" "X")
- (ssdel (ssname lines 0) lines)
- )
- (command "pedit" (ssname lines 0) "y" "j" lines "" "X")
- )
- (setq lines2 (ssadd))
- (setq cnt 0 len (sslength lines))
- (while (< cnt len)
- (if (entget (ssname lines cnt))
- (setq lines2 (ssadd (ssname lines cnt) lines2))
- )
- (setq cnt (1+ cnt))
- )
- (setq lines lines2)
- )
- (princ "\n......Tada!!")
- )
- (princ "\n....Doh!!")
- )
- (setvar "cmdecho" 1)
- (princ)
- )
|