Aller au contenu

Routine pour changer la hauteur d'un attribut de bloc


Messages recommandés

Posté(e)

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

Posté(e)

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)

  1. Tu sélectionnes l'attribut à traiter, attention pas le bloc,
  2. La hauteur actuelle s'écrit en ligne de commande
  3. On te demande la nouvelle hauteur
  4. 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

  • Like 1
Posté(e)

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

  • Like 1

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)

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
 

 

  • Like 1
Posté(e)

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

  • Like 1
Posté(e)

@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

Posté(e)

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

  • Like 1
Posté(e)
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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é