(defun plxy ( ent / list00 ent ent1 xy d0 ) (setq list00 nil) (while (progn (setq ent1 (entnext ent)) (setq xy (cdr (assoc 10 (entget ent1)))) (setq d0 (cdr (assoc 0 (entget ent1)))) (/= d0 "SEQEND")) (setq list00 (append list00 (list xy))) (setq ent ent1) ) list00 ) (defun pl_xylist ( list1 / n list1) (setq k 0) (command "pline") (while (command (nth k list1)) (getpoint"ppppp") (setq k (1+ k)) ) (command "") ) (defun c:3d() (setq ss (ssget "X" '((0 . "polyline")))) (if ss (progn (setq n 0 list00 nil) (while (setq ent (ssname ss n)) (setq d8 (cdr (assoc 8 (entget ent)))) (setq list_ok (plxy ent)) (command "erase" ent "") (setq nn 0) (command "pline") (while (setq nth0 (nth nn list_ok)) (command nth0) (setq nn (1+ nn)) ) (command "") (command "change" (entlast) "" "p" "la" d8 "") ;;; (pl_xylist list_ok) (setq n (1+ n)) ) )) )