lili2006 Posté(e) le 2 septembre 2007 Posté(e) le 2 septembre 2007 Bonjour à tous, Tout d'abord pardonnez-moi si ce lisp existe déjà! Voilà, je désirerai pouvoir changer la hauteur de texte de tous les blocs identiques insérés dans le dessin. Exemple sur l'image ci-dessous, j'ai 15 blocs avec 2 attributs : épaisseur de dalle & altitude. On voit sur le bloc de droite, le texte de l'altitude est trop petit, je voudrais qu'il soit de la taille du bloc de gauche. Aujourd'hui, je selectionne un par un mes blocs pour modifier la hauteur de texte (uniquement de l'attribut altitude !). Peut-on faire mieux ? Merci d'avance. <!--url{0}-->[Edité le 2/9/2007 par lili2006] PS : Bien sûr, je pourrai le faire sur le bloc de base, mais celui-ci appartient à une bibliothèque et pour l'utilisation dans d'autres échelles, il à lieu de garder cette hauteur de texte. Il n'y a que à l'echelle 100 (pour les DCE), que les textes sont trop petits à l'impression. Ce phénomène est valable pour environ une tentaine de blocs, d'ou ma question,...[Edité le 2/9/2007 par lili2006][Edité le 2/9/2007 par lili2006] [Edité le 2/9/2007 par lili2006] Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
sechanbask Posté(e) le 2 septembre 2007 Posté(e) le 2 septembre 2007 pourquoi ne pas faire un bloc dynamique et faire une échelle sur l'attribut avec une table de consultation sur l'échelle de sortie du projet?sinon, je pense qu'en VBA c'est également possible mais il faudrait connaitre le nom de l'attribut... ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
lili2006 Posté(e) le 2 septembre 2007 Auteur Posté(e) le 2 septembre 2007 Bonsoir à tous, sechanbask J'ai bien pensé à faire évoluer ce genre de bloc en dynamique, mais nous en utilisons déjà pas mal surtout pour la représentation. Je reste convaincu cependant qu'il y a possibilité de faire des blocs simples et lorsque le besoin ponctuel se fait sentir , lancer une petite routine de type "cat" de Patrick_35 ou "Edit_Bloc" de (gile) . Peut-être même ces routines pourraient prévoir cette option, qui sait ? Si tu veux tester en VBA, cela m'interesse aussi bien sûr, voilà le bloc décomposé : <!--url{0}--> Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 2 septembre 2007 Posté(e) le 2 septembre 2007 Salut, Pas besoin de LISP, tu peux utiliser la commande BATTMAN pour éditer le texte de l'attribut, la modification sera appliquée à toutes les références insérées dans le dessin. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 2 septembre 2007 Auteur Posté(e) le 2 septembre 2007 Bong sans, mais c'est bien sûr ! Alors là, je n'y avais plus du tout pensé à cette fonction, pourtant elle est trés utile,... Merci encore (gile). @+ Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
azrael Posté(e) le 2 septembre 2007 Posté(e) le 2 septembre 2007 Lili2006, Je cherche une solution en lisp ou VB avec un jeu de sélection. Avec battman, tous les blocs changent. Dans ton cas, c'est bien mais dans d'autres cas, c'est moins bien. Imaginons le même bloc a une échelle différente mais avec le souhait de la même hauteur de texte. Mais merci à battman !
lili2006 Posté(e) le 2 septembre 2007 Auteur Posté(e) le 2 septembre 2007 Re, J'ai parfois les mêmes besoin que toi, donc le sujet n'est peut-être pas encore tout à fait clos,... Avis aux spécialistes, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 2 septembre 2007 Posté(e) le 2 septembre 2007 Donc voilà un petit LISP pour modifier la hauteur de texte des attributs spécifiés dans les blocs sélectionnés. (defun c:ht-att (/ att tag fltr ht ss n ent loop) (while (and (setq att (car (nentsel "\nSélectionnez un attribut à modifier : " ) ) ) (= (cdr (assoc 0 (entget att))) "ATTRIB") ) (setq tag (remove_doubles (cons (cdr (assoc 2 (entget att))) tag)) ref (cdr (assoc 330 (entget att))) fltr (remove_doubles (cons (assoc 2 (entget ref)) fltr)) ) (princ (strcat "\n" (itoa (length tag)) " attribut(s) sélectionné(s)." ) ) ) (and tag (progn (initget 7) (setq ht (getdist "\nSpécifiez la nouvelle hauteur de texte: ")) ) (princ "\nSélectionnez les blocs à modifier ou : ") (or (setq ss (ssget (cons '(0 . "INSERT") fltr))) (setq ss (ssget "_X" (cons '(0 . "INSERT") fltr))) ) (repeat (setq n (sslength ss)) (setq ref (ssname ss (setq n (1- n))) ent (entget (entnext ref)) ) (while (= (cdr (assoc 0 ent)) "ATTRIB") (if (member (cdr (assoc 2 ent)) tag) (entmod (subst (cons 40 ht) (assoc 40 ent) ent)) ) (setq ent (entget (entnext (cdr (assoc -1 ent))))) ) (entupd ref) ) ) (princ) ) ;;; REMOVE_DOUBLES - Suprime tous les doublons d'une liste (defun remove_doubles (lst) (if lst (cons (car lst) (remove_doubles (vl-remove (car lst) lst))) ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
speedy Posté(e) le 3 septembre 2007 Posté(e) le 3 septembre 2007 Bonjour à tous super ce lisp gile, mais il ne faut surtout pas faire battman et synchroniser ce bloc après l'utilisation ht-att tu auras tout perdu................ @+ Michel a
azrael Posté(e) le 3 septembre 2007 Posté(e) le 3 septembre 2007 Super Gile ! Merci pour ce programme qui va m'aider dans mon Job ! Merci a lili2006 pour avoir lancé le post !
lili2006 Posté(e) le 3 septembre 2007 Auteur Posté(e) le 3 septembre 2007 Bonjour à tous, Une fois de plus, (gile) a frappé et une fois de plus, fort ! speedy Merci pour la remarque. azrael De rien, surtout que c'est (gile) qui a fait le boulot. MAIS je pense que ce lisp peut servir à beaucoups de personnes qui utilses des blocs avec attributs,... Merci encore. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 3 septembre 2007 Auteur Posté(e) le 3 septembre 2007 Re, TERRIBLE, en + on peut donner une hauteur graphiquement !! Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant