Netparty Posté(e) le 16 avril 2023 Posté(e) le 16 avril 2023 Bonjour à tous Je suis à la recherche d'un lisp qui me permettrai de changer la hauteur des attribut sélectionnés. Au lancement du lisp je choisi la hauteur et ensuite je peu cliquer sur chaque attribut à modifier. Merci d'avance et bonne journée
rebcao Posté(e) le 16 avril 2023 Posté(e) le 16 avril 2023 Bonjour, Dans quel BUT ? Suite à un changement d'échelle par exemple ? Christian 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 @)
Netparty Posté(e) le 16 avril 2023 Auteur Posté(e) le 16 avril 2023 Bonour @rebcao Sur certain endroit j'ai besoin de modifier la taille du texte de l'attribut pour une meilleur visibilité bonne journée
didier Posté(e) le 16 avril 2023 Posté(e) le 16 avril 2023 Bonjour @Netparty Comme d'habitude, je me permets de te rappeler que pour ce genre de service, ce serait sympa de donner l'exemple du bloc que tu veux retravailler. N'en ayant pas, j'ai dessiné un bloc bidon, je pense que ça devrait le faire. La routine est à charger comme d'habitude, le nom de la commande est HATT (HauteurATTribut) Tu sélectionnes l'attribut à traiter, attention pas le bloc, La hauteur actuelle s'écrit en ligne de commande On te demande la nouvelle hauteur Et c'est fini... PS : Pas de test sur le type d'entité, une routine toute simple pour apprendre, si tu as besoin d'amélioration, tu sais par où passer... Amicalement Attribut-Changer-Hauteur.lsp 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD
PHILPHIL Posté(e) le 16 avril 2023 Posté(e) le 16 avril 2023 hello sinon BATTMAN, doit pouvoir le faire, j'ai testé hier, sélection et synchronisation et le tour est joué, meme changer la typo de l'attribut. Phil 1 FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
didier Posté(e) le 16 avril 2023 Posté(e) le 16 avril 2023 Bonjour BATTMAN signifie que le bloc reçoit une nouvelle définition, et tous les attributs seront modifiés. J'avais compris en lisant : sur certains endroits, que @Netparty souhaitait que la modification soit ponctuelle, les autres attributs (des autres blocs) non concernés ne variant pas. Je vais patienter jusqu'à sa réponse pour voir si je suis dans le vrai ou si c'est une redéfinition qu'il attendait. Amicalement 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD
Netparty Posté(e) le 17 avril 2023 Auteur Posté(e) le 17 avril 2023 Bonjour @didier Merci pour le lisp. Est-il possible de sélectionner plusieurs attributs Bonne journée
didier Posté(e) le 17 avril 2023 Posté(e) le 17 avril 2023 Bonjour @Netparty Oui bien sûr, mais puisque, si j'ai bien compris, le choix de ces blocs est ponctuel pour visibilité, comment faire une sélection globale ? J'ai choisi de sélectionner directement l'attribut pour le modifier à la volée. Si on doit choisir plusieurs attributs, je propose de lancer la routine une fois et obtenir le résultat. Ensuite, de sélectionner les blocs (pas les attributs) en grand nombre et de copier le nouveau format sur cette sélection, si les noms de blocs correspondent. Tu la vois comment cette sélection de ton point de vue utilisateur ? Amicalement 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD
Netparty Posté(e) le 17 avril 2023 Auteur Posté(e) le 17 avril 2023 bonjour @didier De mon point de vue, je sélectionne quelques attributs sur plusieurs blocs et ensuite je choisi la nouvelle hauteur Bonne journée
didier Posté(e) le 17 avril 2023 Posté(e) le 17 avril 2023 OK, je vais faire la modif, mais pas tout de suite, j'ai autre chose sur le feu... En réfléchissant, je ne pense pas que ça va être possible puisque j'utilise nentsel, donc pas de choix multiples. Amicalement 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD
Netparty Posté(e) le 17 avril 2023 Auteur Posté(e) le 17 avril 2023 @didier Re-bonjour Didier En cherchant un peu, j'ai modifier le lisp que tu as posté et cela à l'air de fonctionner. Dis-moi ce que tu en pense (defun c:ht-att (/ att oldh newh) ;question en ligne de commande pour la nouvelle hauteur (setq newh (getreal "\nNouvelle hauteur ? : \n")) (while (and (setq att (car (nentsel "\nVeuillez cliquer sur un attribut : "))) (= (cdr (assoc 0 (entget att))) "ATTRIB") ) ;extraction de la hauteur actuelle (setq oldh (cdr (assoc 40 (entget att)))) ;modification de la hauteur de l'attribut (entmod (subst (cons 40 newh) (cons 40 oldh) (entget att))) ) (if name (prompt "\nErreur : L'objet sélectionné n'est pas un attribut") (prompt "\nFin de la commande") ) (princ) )app Merci et bonne fin de journée
didier Posté(e) le 17 avril 2023 Posté(e) le 17 avril 2023 Bonjour @Netparty Parfait, on n'est jamais si bien servi que par soi-même, n'est-ce pas ? La boucle fonctionne. Par contre, je ne vois pas l'utilité du IF que tu as rajouté à la fin, en plus avec une variable "name". Sachant que le contrôle sur le fait que l'entité cliquée est bien un attribut se fait dans la sélection. Amicalement 1 Éternel débutant... Mon site perso : Programmer dans AutoCAD
Netparty Posté(e) le 18 avril 2023 Auteur Posté(e) le 18 avril 2023 Bonjour @didier Merci pour ton aide Bonne journée
Vincent P. Posté(e) le 18 avril 2023 Posté(e) le 18 avril 2023 Il y a 21 heures, didier a dit : En réfléchissant, je ne pense pas que ça va être possible puisque j'utilise nentsel, donc pas de choix multiples Salut, Serait-il possible d'utiliser (setq pt1 (cadr (nentsel))) dans une boucle WHILE pour récupérer la liste de point (et l'utilisateur à bien la sensation de sélectionner des entités et pas d'accrocher des points), et en suite tu passe ta liste de points dans (nentselp) avec une boucle FOREACH ...? Lispeur éternel débutant! Autocad Map3D 2023 Covadis-Autopist 18.2
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