Aller au contenu

Modifier toutes les hauteurs des textes


Aeropix1908

Messages recommandés

Bonjour,

A la suite de mes problèmes avec les hachures, j'ai également des problèmes avec les hauteurs des textes. Existe-il une solution pour modifier tous les hauteurs des textes d'un fichier en taille X ? (X pouvant être la taille 10 ou 20, etc.)

Dans mon cas, j'ai des "texte", des "textmult" et des blocs qui contiennent des "texte" et des "textmult". Je n'arrive donc pas à utiliser le bouton "sélection rapide" car il va sélectionner les textes mais pas ceux à l'intérieur des blocs.

Je vous annexe un exemple.

Exemple_texte.dwg

Lien vers le commentaire
Partager sur d’autres sites

Bonjour @Aeropix1908

Ce ne sont pas des entités "texte", ce sont des blocs qui contiennent des entités "texte", nuance.
Donc il faut décomposer ces blocs et ensuite l'accès de la hauteur par les "propriétés" est fonctionnel.

Si vous ne voulez pas décomposer ces blocs, il va falloir passer le Lisp et ça va pas être simple, car vous allez vous retrouver dans le cas de figure de vos blocs dont il fallait supprimer des hachures dans un autre message et le plus dur sera de sélectionner les blocs à traiter.

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je suppose que ce dessin n'a pas été fait avec AutoCAD ?

Curieux cette manière d'inscrire du TEXTE dans X Blocs avec un nom différent !!!

Au lieu d'utiliser un BLOC avec ATTRIBUTS auquel on donne les valeurs de "texte"

Christian

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

Oui, @rebcao

Aeropix1908 travaille avec des plans venant de cabinets d'architectes utilisant sans doute autre chose que de l'Autodesk.
C'est typiquement lors de l'export de ces fichiers vers du DWG que le mal se produit.
À voir s'il demandait du DXF au lieu du DWG si les mêmes défauts perdureraient.

 

Lien vers le commentaire
Partager sur d’autres sites

Je confirme que dans la grande majorité des cas, les dwg que je reçois sont exportés depuis d'autres logiciels. Je ne sais jamais de quels logiciels ils proviennent mais je sais que la grande majorité des architectes utilisent Archicad (en tout cas dans mon réseau professionnel). J'ai déjà reçu des dwg et dxf mais je n'ai jamais vu de différence.

Si je comprends bien, il n'existe pas un moyen facile de forcer la taille d'un texte qu'il soit ou non dans un bloc ? Une fonction du style "sélectionner tous les textes du fichier dwg y compris les textes des blocs".

Je peux en effet pas décomposer les blocs car souvent (pas toujours), le fait de décomposer un bloc supprimer le texte et le remplace par un texte du style xxx.

Dans mon exemple, tous les blocs de textes sont sur un claque. Je peux donc sélectionner tous les blocs (via la sélection rapide par le calque), les décomposer, puis les présélectionner via la sélection rapide et modifier la taille du texte. Le problème c'est que c'est différent dans chaque projet (en fonction du logiciel d'export, de la manière d'exporter, du dessinateur, de l'architecte, etc..).

Lien vers le commentaire
Partager sur d’autres sites

quand je recevais un fichier archi, je commençais par l'insérer en bloc dans mon fichier de travail, ensuite dans ce bloc, je décomposais totalement le fichier archi et je le nettoyais de tout ce qui ne me servais pas. 

retour sur mon fichier de travail : purger, nettoyer, mise à l'échelle

puis de nouveau dans le bloc, tu peux modifier les textes etc

de cette maniere tu n'as pas 36000 bloc et styles de lignes qui poluent ton fichier de travail, en 1 click tu cache ton fichier archi et tu le met facilement à la bonne échelle.

 

souhaitant que cette facon de faire puisse t'aider

Utilisateur mécontent de mensura 😡

Lien vers le commentaire
Partager sur d’autres sites

Coucou,

Il y a 17 heures, Aeropix1908 a dit :

Je peux en effet pas décomposer les blocs car souvent (pas toujours), le fait de décomposer un bloc supprimer le texte et le remplace par un texte du style xxx.

Cela signifie que les "textes" en question sont des attributs je pense et donc lorsque tu décomposes un bloc (via la commande DECOMPOSER), c'est la définition d'attribut qui apparaît (avec le nom de l'étiquette et non la valeur de ton attribut de référence de bloc). Pour cela, je te conseille plutôt la commande BURST des ExpressTools, cela permet de convertir les attributs en TEXT ou MTEXT lors de la décomposition d'une référence de bloc en conservant ainsi la valeur de texte.

De manière générale, en CAO c'est normal de devoir prendre le temps de nettoyer et corriger les fichiers que l'on reçoit (dans la limite des contraintes client évidemment) en faisant attention tout de même de ne pas engendrer de problèmes lors de futur échanges de fichier (modification de la localisation du projet, etc...), d'où l'intérêt des XREF. Donc il est souvent nécessaire d'adapter nos méthodes de nettoyage de fichiers en fonction des dessins que l'on reçoit.

Sinon, de manière bourrine il existe toujours des solutions en LISP (non testée donc j'ai peut-être fait des erreurs) :

(defun c:TXTHEIGHT-ALL (/ hgt txt blc jsel i name entlist b blk)
  (setq
    hgt (cond ((getdist (strcat "\nVeuillez définir la hauteur de texte <" (getvar "DIMTXT") "> : "))) ((getvar "DIMTXT")))
    jsel (ssget "_X" '((0 . "TEXT,MTEXT")))
    txt 0
    blc 0
  )
  (princ "\n...Processing the TEXT and MTEXT entities . . . ")
  (repeat (setq i (sslength jsel))
    (setq
      name (ssname jsel (setq i (1- i)))
      entlist (entget name)
    )
    (entmod (subst (cons 40 hgt) (assoc 40 entlist) entlist))
    (setq txt (1+ txt))
  )
  (princ (strcat "\nUn total de " (itoa txt) " textes du dessin ont été traités (hauteur = " (rtos hgt 2 2) ")"))
  (setq txt 0)
  (princ "\n\n...Processing the BLOCK DEFINITION entities . . . ")
  (while (setq blk (tblnext "BLOCK" (not b)))
    (setq name (cdr (assoc -2 (entget blk))))
    (while name
      (if (member (cdr (assoc 0 (setq entlist (entget name)))) '("TEXT" "MTEXT")) ;; Add "ATTRIB" to the list if needed (ATTSYNC would be necessary)
        (progn
          (entmod (subst (cons 40 hgt) (assoc 40 entlist) entlist))
          (setq txt (1+ txt))
        )
      )
      (setq name (entnext name))
    )
    (entupd blk)
    (setq
      blc (1+ blc)
      b T
    )
  )
  (princ (strcat "\nUn total de " (itoa txt) " textes présent dans les " (itoa blc) " définitions de blocs du dessin ont été traités (hauteur = " (rtos hgt 2 2) ")"))
  (princ)
)

Bisous,
Luna

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é