Aller au contenu

[Résolu] Changer les definitions d'attribut de bloc en double


nbk67

Messages recommandés

Bonjour,

 

Je souhaiterais pouvoir modifier en masse la définition des attributs de touts les blocs présent dans un dessin.

Je m'explique :

Cela concerne des blocs représentant des luminaires, prises, ...

Tous ou quasi tous les blocs ont été créé avec 2 etiquettes : une pour la reference du produit, et l'autre pour un détail ou une indication supplémentaire ("20A" pour une prise de courant par exemple, les autres étant des 16A).

Le soucis étant que la personne qui a crée tous ces blocs à dupliquer l'attribut et n'a pas changer sa définition, je me retrouve donc avec 2 attributs ayant le même nom :"LUM" ou lieu d'un "REF" et d'un "REF2" par exemple.

 

J'aurais donc besoin d'un lisp qui puisse changer en lot tous les blocs contenant des définitions en double.

 

J'espère avoir été clair.

 

Merci d'avance.

 

Bonne journée.

 

Nico

AutoCAD 2015

Lien vers le commentaire
Partager sur d’autres sites

oui, c'est certain, ou alors en editant le bloc dans le dessin et resynchronisant ensuite ... ça fonctionne très bien.

 

Le problème étant que j'ai plus de 300 blocs différents comme ça et tous les anciens plans contiennent ces blocs, ce qui veut dire que je devrais faire la manip non seulement dans le dessins contenant la bibliothèque complète, mais à chaque fois que je reprendrais un ancien plan.

D'où mon soucis de trouver un méthode "automatique". :s

AutoCAD 2015

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Bryce (mon sauveur de la dernière fois :) ...encore merci),

 

Si la définition a mal été faite, en revanche les invites sont bien différienciées, est-ce que cela pourrait-être utilisé? (toujours REFERENCE et TYPE)

 

Bonne journée.

AutoCAD 2015

Lien vers le commentaire
Partager sur d’autres sites

Si la définition a mal été faite, en revanche les invites sont bien différienciées, est-ce que cela pourrait-être utilisé? (toujours REFERENCE et TYPE)

 

En me basant sur les invites, j'arrive à renommer les attributs des définitions de blocs :

 

(defun c:NBK ( / acdoc blocs b e)
 (vl-load-com)
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
   blocs (vla-get-Blocks acdoc))
 (vlax-for b blocs
   (vlax-for e b
     (if (= (vla-get-ObjectName e) "AcDbAttributeDefinition")
       (progn
         (if (= (strcase (vla-get-promptstring e)) "REFERENCE")
           (vla-put-tagstring e "REFERENCE")
         )
         (if (= (strcase (vla-get-promptstring e)) "TYPE")
           (vla-put-tagstring e "TYPE")
         )
       )
     )
   )
 )
)

 

Par contre je ne vois pas comment faire pour distinguer les deux attributs dans les références de blocs déjà présentes dans le dessin... :(

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

@Patrick:

Le soucis étant que j'ai 2 attributs ayant la même définition dans chaque bloc, seul les invites diffèrent et avec RET, ça change toutes les définitions, mais le problème reste le même, maintenant tous mes blocs sont défini avec 2 attributs "REF" au lieu de "LUM" :)

 

@Bryce:

Ta macro ne fait que supprimer les invites, mais cela n'affecte pas les définitions :(

 

Zut, je pensais que ça serait plus simple ... :(

AutoCAD 2015

Lien vers le commentaire
Partager sur d’autres sites

Le soucis étant que j'ai 2 attributs ayant la même définition dans chaque bloc, seul les invites diffèrent et avec RET, ça change toutes les définitions, mais le problème reste le même, maintenant tous mes blocs sont défini avec 2 attributs "REF" au lieu de "LUM" :)

Salut

 

on prends comme exemple des étiquettes qui se nomment REF puis LUM et que tu souhaites inverser.

1) Tu renommes REF en toto

2) Tu renommes LUM en REF

3) Tu renommes toto en LUM

Le tour est joué.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

DANGER !!!!!

 

Il faut faire attention sur les anciens dessins !

 

Si tu renommes une étiquette d'attribut et que tu synchronises ton bloc tu perds tous les contenus !!!

 

Christian

 

PS : tu as toujours la solution de foutre une BAFFE à celui qui a fait la boulette ! :rolleyes: :(rires forts):

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

@Bryce:

Ta macro ne fait que supprimer les invites, mais cela n'affecte pas les définitions :(

 

Si si, mais comme je l'ai indiqué seule la définition du bloc est modifiée (tu le verras si tu en insères un nouveau), par contre les blocs déjà dans le dessin ne sont pas mis à jour.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à toutes et tous,

 

Si tu renommes une étiquette d'attribut et que tu synchronises ton bloc tu perds tous les contenus !!!

 

Absolument ! Et c'est complétement naze ce truc,...!!!:(

 

Y'a pas moyen de contourner c'truc là ?

 

Merci d'avance,

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Je viens juste d'arriver au bureau, j'ai tout lu puis testé ...

 

@Patrick : à l'étape 2, il n'y plus de LUM donc pas de changement; Les 2 attributs sont définis en "toto"

 

@Bryce : Effectivement, je n'avais pas fait de synchro (noob inside :P )

 

@lili2006: Effectivement, c'est naze de perdre les attributs

 

Finalement, test de NBK+SYN = le tour est joué !

 

Merci bcp à tous !

 

Bon Week-end

AutoCAD 2015

Lien vers le commentaire
Partager sur d’autres sites

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é