Try this but very quick and dirty
Tested 1 time only on A2005
Works too slowly, approx. 2000 polylines in 8 minutes
Code:
(defun C:X3P (/ *error* adoc obj_lst ss tmp_ss)
(alert "Works slowly, converted \n
2000 polylines in 8 minutes")
(or (vl-load-com))
(defun *error* (msg)
(princ msg)
(vla-endundomark
(vla-get-activedocument
(vlax-get-acad-object)))
(princ)
)
(defun delobject (obj)
(vl-catch-all-apply
(function (lambda()
(vla-delete obj)))))
(or adoc
(setq adoc (vla-get-activedocument
(vlax-get-acad-object))))
(vla-endundomark
adoc)
(vla-startundomark
adoc)
(setvar "peditaccept" 1)
(setvar "delobj" 1)
(setq ss (ssget "_X" (list (cons 0 "POLYLINE")
(cons 100 "AcDb3dPolyline"))))
(vlax-for a (vla-get-activeselectionset adoc)
(setq obj_lst (vlax-invoke a 'Explode))
(setq tmp_ss (ssadd))
(foreach itm obj_lst
(ssadd (vlax-vla-object->ename itm) tmp_ss))
(command "._pedit" "_m" tmp_ss "" "_j" 0.000 "")
(delobject a)
(setq tmp_ss nil)
)
(*error* nil)
(princ)
)
~'J'~