Aller au contenu

[Résolu] Récupération du nom du type de ligne et


Dilack33

Messages recommandés

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.

Lien vers le commentaire
Partager sur d’autres sites

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

  • Upvote 1

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

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité