Aller au contenu

Messages recommandés

Posté(e)

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.

Posté(e)

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

Posté(e)

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.

 

Capture d'écran 2024-04-29 101437.png

Posté(e)

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

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é