Bonjour,
Avec les éléments que tu donnes, essayes avec cette fonction!
Fonctionne avec un OU plusieurs éléments sélectionnés, du moment qu'ils appartiennent aux calques précités.
La lettre peut être écrite, ou sélectionner dans le menu (en faisant un click-droit à l'instant de la demande). Si ce menu n'apparait pas voir la variable SHORTCUTMENU (mettre 11 : valeur normalement par défaut)
Code:
(defun c:QC ( / js key lay_nam n dxf_ent) ; Quick Change
(princ "\nSélectionnez des objets filtré sur les calques M-?-PLO-EFS")
(setq js (ssget '((8 . "M-D-PLO-EFS,M-P-PLO-EFS,M-E-PLO-EFS"))))
(cond
(js
(initget 1 "D P E")
(setq key (getkword "\nChoix de la destination [D/P/E]?: "))
(setq lay_nam (cond ((eq key "D") "M-D-PLO-EFS") ((eq key "P") "M-P-PLO-EFS") ((eq key "E") "M-E-PLO-EFS")))
(repeat (setq n (sslength js))
(setq dxf_ent (entget (ssname js (setq n (1- n)))))
(entmod (subst (cons 8 lay_nam) (assoc 8 dxf_ent) dxf_ent))
)
)
)
(prin1)
)