Bonjour, J’ai perdu bonuscad a été le plus rapide, ma proposition de code pour une sélection unique.. ;; Décompose une Polyligne (LWPOLYLINE):
;; Les lignes -> lignes
;; Les arcs -> cercle
;; Tapez lwp2cl pour lancer la commande
(defun c:lwp2cl (/ space ent)
(vl-load-com)
(setq space (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object))))
(cond
((eq (cdr (assoc 0 (entget (setq ent (car (entsel)))))) "LWPOLYLINE")
(foreach obj (vlax-invoke (vlax-ename->vla-object ent) 'Explode)
(if (eq (vla-get-ObjectName obj) "AcDbArc")
((lambda (obj1 obj2)
(foreach prop '(Layer Color LineType LinetypeScale Normal)
(vlax-put obj2 prop (vlax-get obj1 prop))
)
(vla-Delete obj1)
)
obj
(vla-AddCircle space (vla-get-Center obj) (vla-get-Radius obj))
)
)
)
(entdel ent)
)
)
(princ)
)
EDIT: Intégration de la propriété Normal au code pour supporter d’éventuelles rotations du SCU sur ses axes X et Y.