oran Posté(e) le 26 février 2021 Posté(e) le 26 février 2021 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 Citer
bonuscad Posté(e) le 26 février 2021 Posté(e) le 26 février 2021 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) ) Citer Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
lecrabe Posté(e) le 26 février 2021 Posté(e) le 26 février 2021 Hello Bruno MERCI cette routine est fort interessante ! La Sante, Bye, lecrabe "fatigue" Citer Autodesk Expert Elite Team
oran Posté(e) le 26 février 2021 Auteur Posté(e) le 26 février 2021 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 Citer
rebcao Posté(e) le 26 février 2021 Posté(e) le 26 février 2021 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 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 @)
Messages recommandés