illidan05 Posté(e) le 5 août 2009 Posté(e) le 5 août 2009 Bonjour à tous, Savez-vous comment faire pour renommer un attribut qui se trouve dans plusieurs plans ?Dans tous mes plans j'ai un Bloc nommé "CARTOU-V" et dans ce bloc un attribut nommé "Titre du Dossier". Existe-t-il un script ou autre permettant de modifier mon attribut dans tous mes plans automatiquement ? merci pour votre aide
lecrabe Posté(e) le 5 août 2009 Posté(e) le 5 août 2009 Hello La commande RENOMMER d'AutoCAD ne permet pas de renommer une définition d'attribut donc à part un développement en Lisp/VLisp Scriptable, je ne sais pas faire ! Commande: -renommerEntrez le type d'objet à renommer[bLoc/COtstyle/CAlque/TYpeligne/Matériau/style Ligne de repère multiple/STyle/styleTAbleau/SCu/Vue/Fenêtre]: Le Decapode Autodesk Expert Elite Team
jifi Posté(e) le 5 août 2009 Posté(e) le 5 août 2009 Salut ilidan05, Si c'est pour traiter tous les cartouches d'un seul fichier, tu peux voir une solution en cliquant sur le lien ci-dessous : http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=24639#pid106473 Pour faire la même chose avec un traitement de plusieurs fichiers, il faut probablement un développement. @plus Jean-Philippe - Formateur / Dessinateur sur AutoCAD et MEP http://www.git-cad.ch
illidan05 Posté(e) le 5 août 2009 Auteur Posté(e) le 5 août 2009 merci pour vos réponses, à tout hasard vous vous y connaissez en développement ? :)
illidan05 Posté(e) le 7 août 2009 Auteur Posté(e) le 7 août 2009 Salut à tous, Voici la solution à mon problème q'un membre d'un autre forum m'a donné, c'est une macro à exétuer dans Autocad en mode SDI. Sub ChangerAttribut() 'macro permettant de modifier une valeur d'attribut dans plusieurs fichiers 'conditions à remplir : '- mettre tous les fichiers concernés dans un même répertoire '- nom du bloc identique dans tous les dessins '- dessin effectué sur l'espace objet (onglet objet) 'Procédure : '- ouvrir l'un des fichiers '- renseigner dans les lignes suivantes les valeurs nécessaires (nom bloc, nom attribut, nouvelle valeur) ' attention à bien respecter les noms de bloc et d'attributs / respecter les majuscules et minuscules ' -lancer l'exécution de cette macro. ' les fichiers modifiés seront enregistrés en lieu et place des originaux 'définitions Dim NomBloc As String Dim NomAttribut As String Dim NewValeurAttribut As String Dim Repertoire As String Dim compteur As Integer Dim NbreFichiers As Integer Dim MyFile As String Dim TableauFichiers() As String Dim i, j As Integer Dim Element As AcadEntity Dim AttributsBloc As Variant 'entrer le nom du bloc NomBloc = "CART_02" 'à vous de renseigner le nom du bloc à modifier à la place des xxxx 'entrer le nom de l'attribut à modifier NomAttribut = "NUM_AFF" 'à vous de renseigner le nom de l'attribut à modifier à la place des yyyy 'entrer la nouvelle valeur d'attribut NewValeurAttribut = "AAAAAAAAAAAAAAAA" 'à vous de renseigner la nouvelle valeur de l'attribut à modifier à la place des zzzz 'liste des folios 'extrait la liste des fichiers présents dans le répertoire du dessin en cours Repertoire = ThisDrawing.Path compteur = 0 NbreFichiers = 0 MyFile = Dir(Repertoire & "\*.dwg") ReDim TableauFichiers(0) Do While MyFile <> "" ' Commence la boucle. TableauFichiers(UBound(TableauFichiers)) = MyFile compteur = compteur + 1 MyFile = Dir ' Extrait l'entrée suivante. ReDim Preserve TableauFichiers(UBound(TableauFichiers) + 1) Loop NbreFichiers = compteur 'modifier pour chaque fichier du répertoire For i = 0 To UBound(TableauFichiers) MyFile = TableauFichiers(i) If Not MyFile = "" Then ThisDrawing.Application.Documents.Open (Repertoire & "\" & MyFile) For Each Element In ThisDrawing.ModelSpace If Element.ObjectName = "AcDbBlockReference" Then If Element.Name = NomBloc Then AttributsBloc = Element.GetAttributes For j = 0 To UBound(AttributsBloc) If AttributsBloc(j).TagString = NomAttribut Then AttributsBloc(j).TextString = NewValeurAttribut Exit For End If Next j End If End If Next ThisDrawing.Save End If Next i End Sub A++
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