In my short english, you mean mpolygon convert into lwpolyline...right?
if you want to that, here are my convert prog.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:mp2lwp( / v8 sn ss i sl vtx pl)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun GetMPolyVtx (ent / v11 x y xylist v10s v nx ny)
(defun mPolyVtx(Ent / AA X vtxlist)
(setq VtxList '())
(IF (= "MPOLYGON" (CDR (ASSOC 0 Ent)))
(mapcar '(lambda (x) (if (= 10 (car x)) (setq VtxList (append VtxList (list (cdr x))) ) ) ) Ent)
(PROGN
(SETQ AA (ENTGET(ENTNEXT (CDR (ASSOC -1 Ent)))))
(WHILE (/= "SEQEND" (CDR (ASSOC 0 AA)))
(setq VtxList (append VtxList (list (cdr (ASSOC 10 AA)))))
(SETQ AA (ENTGET(ENTNEXT (CDR (ASSOC -1 AA)))))
)
)
);IF
VtxList
)
(setq v11 (cdr (assoc 11 ent)));;mpolygon center point
(setq x (car v11))
(setq y (cadr v11))
(setq xylist (list))
(setq v10s (mpolyvtx ent))
(foreach v v10s
(setq x1 (car v) y1 (cadr v))
(setq nx (+ x x1) ny (+ y y1))
(setq xylist (append xylist (list (list nx ny 0))))
)
xylist
)
(defun make_pline (pte_list lay color cls / pl_source ptelen cnt ptele pte_list ptes epl8 epl62 )
(setq pl_source (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 67 0)
(cons 62 color) (cons 8 lay) (cons 100 "AcDbPolyline")))
(setq ptelen (length pte_list)
cnt 0)
(setq pl_source (append pl_source (list (cons 90 ptelen))))
(if (or (eq cls "c")(eq cls "C")(eq cls "1")(eq cls 1))
(progn
(setq cls 1)
(setq pl_source (append pl_source (list (cons 70 cls))))
)
)
(while (< cnt ptelen)
(setq ptele (car pte_list)
pte_list (cdr pte_list)
ptes (cons 10 ptele)
pl_source (append pl_source (list ptes))
cnt (+ cnt 1)
)
);;while end
(entmake pl_source)
(entlast)
);entmake_pline
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(princ "\n SELECT MPOLYGON >> ")
(setq ss (ssget (list (cons 0 "MPOLYGON")))
sl (sslength ss)
i 0
)
(repeat sl
(setq sn (ssname ss i)
i (1+ i)
vtx (cdr (getmpolyvtx (entget sn)))
vtx (append vtx (list (nth 0 vtx)))
v8 (cdr (assoc 8 (entget sn)))
pl (make_pline vtx v8 256 "c")
)
(entdel sn)
);repeat end
(princ "\n...COMPLETE...")(princ)
)