Aller au contenu

Largeur définie TXTMULT


Messages recommandés

Posté(e)

Bonjour,

 

Souvent à la réception de plans les textes MULTILIGNES sont crées avec un "cache"

et la plupart du temps la longueur de ce cache dépasse la valeur du texte lui-même, ce qui a pour conséquence de cacher inutilement une partie du dessin.

Existe-t-il un moyen d'ajuster, au plus juste, la longueur du cache à celle du texte sans être obligé de les reprendre un à un.

......et bien sûr aucun texte n'est de même longueur...!!

Je sais que l'on peut le faire en passant par "PROPRIETÉ" puis "LARGEUR DÉFINIE" quand il s'agit de textes de même longueur mais ce n'est pas mon cas.

Peut-être un lisp.....???

 

Vous en remerciant par avance,

 

Sylvain

Posté(e)

Bonjour,

 

Quand tu parle de "cache", je pense que tu fais allusion au "masque d'arrière plan".

 

Pour palier à ton problème, soit lors de la création du MTEXT tu définie ta largeur à 0 (le masque est alors ajusté automatiquement à la longueur du texte), soit après coup tu mets la largeur à 0.0

Comme il n'est pas possible de changer la largeur dans le panneau de propriété, ce petit lisp te permettra de le faire.

(defun c:LARG0 (/ ss i text)
 (if (setq ss (ssget '((0 . "MTEXT"))))
(repeat (setq i (sslength ss))
 	(setq text (ssname ss (setq i (1- i))))
 	(if (< 0.0 (getpropertyvalue text "Width"))
   	(progn
     	(if (/= (getpropertyvalue text "ColumnType") 0)
       	(setpropertyvalue text "ColumnType" 0)
     	)
     	(setpropertyvalue text "Width" 0.0)
   	)
 	)
)
 )
 (princ)
)

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Bonjour,

 

Quand tu parle de "cache", je pense que tu fais allusion au "masque d'arrière plan".

 

Pour palier à ton problème, soit lors de la création du MTEXT tu définie ta largeur à 0 (le masque est alors ajusté automatiquement à la longueur du texte), soit après coup tu mets la largeur à 0.0

Comme il n'est pas possible de changer la largeur dans le panneau de propriété, ce petit lisp te permettra de le faire.

(defun c:LARG0 (/ ss i text)
 (if (setq ss (ssget '((0 . "MTEXT"))))
(repeat (setq i (sslength ss))
 	(setq text (ssname ss (setq i (1- i))))
 	(if (< 0.0 (getpropertyvalue text "Width"))
   	(progn
     	(if (/= (getpropertyvalue text "ColumnType") 0)
       	(setpropertyvalue text "ColumnType" 0)
     	)
     	(setpropertyvalue text "Width" 0.0)
   	)
 	)
)
 )
 (princ)
)

 

C'est CLAIR, c'est NET, c'est PRÉCIS......tout simplement MERCI

Posté(e)

Bonjour,

 

Il y a moyen de sélectionner TOUS les textes MULTI LIGNES, puis dans PROPRIETES :

 

1. Option : Colonnes Choisir AUCUNE colonne !

2. Largeur définie est du coup accessible pour tous les textes MULT et il suffit de mettre 0 !

 

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 @)

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é