Dilack33 Posté(e) le 28 avril Partager Posté(e) le 28 avril Bonjour, je suis à la recherche d'une solution qui me permettrait de récupérer le nom du type de ligne d'une polyligne et l’intégrer à un texte existant en supprimer les caractères dudit texte existant. Merci d'avance pour votre aide. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
rebcao Posté(e) le 29 avril Partager Posté(e) le 29 avril Bonjour, Pas sur d'avoir tout compris ? Mais tu peux utiliser le CHAMP OBJET et choisir la PROPRIETE type de ligne de l'objet avec la commande _FIELD. Christian 1 Citer Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 29 avril Partager Posté(e) le 29 avril Essaie avec ça (defun C:UpdTxt ( / oPoly oPolyDxf oText oTextDxf oLineType) (while (and (setq oPoly (car (entsel "\nSélectionner la polyligne :"))) (= "LWPOLYLINE" (cdr (assoc 0 (setq oPolyDxf (entget oPoly))))) (setq oText (car (entsel "\nSélectionner le texte :"))) (= "TEXT" (cdr (assoc 0 (setq oTextDxf (entget oText))))) ) (if (assoc 6 oPolyDxf) (setq oLineType (cdr (assoc 6 oPolyDxf))) (setq oLineType (cdr (assoc 6 (tblsearch "LAYER" (cdr (assoc 8 oPolyDxf)))))) ) (entmod (subst (cons 1 oLineType) (assoc 1 oTextDxf) oTextDxf)) ) ) Olivier Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dilack33 Posté(e) le 29 avril Auteur Partager Posté(e) le 29 avril Bonjour Christian, Suivant la capture, j'ai une multitude de polylignes avec différents type de ligne et j'aimerais récupérer le nom du type de ligne sous forme de texte. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dilack33 Posté(e) le 29 avril Auteur Partager Posté(e) le 29 avril Bonjour olivier, ça fonctionne pas, j'ai un message d'erreur "nil" après la sélection de la polyligne. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 29 avril Partager Posté(e) le 29 avril Un petit bout de DWG pour être sûr que c'est bien un objet LWPOLYLINE et un texte ligne et pas un texte multiligne Olivier Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dilack33 Posté(e) le 29 avril Auteur Partager Posté(e) le 29 avril Ci joint le dwg PJX_BASE_ACAD.dwg Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 29 avril Partager Posté(e) le 29 avril Effectivement, ce sont des polyligne 2D (ancienne génération) et pas des polylignes LW. Soit tu les convertis avec la commande CONVERT, soit tu utilises le code modifié ci-dessous (defun C:UpdTxt ( / oPoly oPolyDxf sTypeObj oText oTextDxf oLineType) (while (and (setq oPoly (car (entsel "\nSélectionner la polyligne :"))) (setq sTypeObj (cdr (assoc 0 (setq oPolyDxf (entget oPoly))))) (or (= "LWPOLYLINE" sTypeObj) (= "POLYLINE" sTypeObj)) (setq oText (car (entsel "\nSélectionner le texte :"))) (= "TEXT" (cdr (assoc 0 (setq oTextDxf (entget oText))))) ) (if (assoc 6 oPolyDxf) (setq oLineType (cdr (assoc 6 oPolyDxf))) (setq oLineType (cdr (assoc 6 (tblsearch "LAYER" (cdr (assoc 8 oPolyDxf)))))) ) (entmod (subst (cons 1 oLineType) (assoc 1 oTextDxf) oTextDxf)) ) ) Olivier Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dilack33 Posté(e) le 29 avril Auteur Partager Posté(e) le 29 avril Merci Olivier, la deuxième solution fonctionne. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés