Nom du fichier drawing égal à un parametre
2 participants
Page 1 sur 1
Nom du fichier drawing égal à un parametre
Bonjour a tous
Je souhaite donner une égalité entre le nom de mon fichier drawing et un paramètre crée dans ce drawing
Le but est de renommer dans window tous mes fichiers drawing, l'égalité avec le paramètre me modifiera les
différents textes dans mon drawing
Exemple, dans mon nom de fichier drawing, il y a le numéro de mon outil sur les dix premiers caractères (1200-10-01 plan de details)
Dans mon cartouche principale le numéro 1200-10-01 est inscrit, celui est lié a chaque mini cartouches de la planche de détails, le tous provient
d'un paramètre de type chaine.
Lorsque je fais un "créer a partir de", je dois modifier ce numéro dans chaque drawing et je dois renommer chaque drawing lors de l'enregistrement
Si je pouvais faire la manipulation une seule fois, cela me ferais économiser énormément de temps.
Le problème est que je ne trouve rien dans les paramètres ou les propriétés qui font appel au nom de mon du drawing,
dans un part via un paramètre on peut définir un nom de fichier, je n'arrive pas a le reproduire.
Si quelqu'un a une astuce, merci d'avance...
Je souhaite donner une égalité entre le nom de mon fichier drawing et un paramètre crée dans ce drawing
Le but est de renommer dans window tous mes fichiers drawing, l'égalité avec le paramètre me modifiera les
différents textes dans mon drawing
Exemple, dans mon nom de fichier drawing, il y a le numéro de mon outil sur les dix premiers caractères (1200-10-01 plan de details)
Dans mon cartouche principale le numéro 1200-10-01 est inscrit, celui est lié a chaque mini cartouches de la planche de détails, le tous provient
d'un paramètre de type chaine.
Lorsque je fais un "créer a partir de", je dois modifier ce numéro dans chaque drawing et je dois renommer chaque drawing lors de l'enregistrement
Si je pouvais faire la manipulation une seule fois, cela me ferais économiser énormément de temps.
Le problème est que je ne trouve rien dans les paramètres ou les propriétés qui font appel au nom de mon du drawing,
dans un part via un paramètre on peut définir un nom de fichier, je n'arrive pas a le reproduire.
Si quelqu'un a une astuce, merci d'avance...
lgesl1catia- actif
- Messages : 39
Date d'inscription : 23/11/2016
Localisation : orne
Re: Nom du fichier drawing égal à un parametre
Salut Laurent,
Quelques précisions:
-Veux tu modifier la valeur de ton paramètre avec le nom de fichier du CATDrawing? (Ex: monPara.value = left(nomfichier,10)
-Veux tu faire cela pour un lot de CATDrawing enregistré dans un dossier?
-Avec une macro?
Quelques précisions:
-Veux tu modifier la valeur de ton paramètre avec le nom de fichier du CATDrawing? (Ex: monPara.value = left(nomfichier,10)
-Veux tu faire cela pour un lot de CATDrawing enregistré dans un dossier?
-Avec une macro?
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
Re: Nom du fichier drawing égal à un parametre
Bonjour Marc
-Veux tu modifier la valeur de ton paramètre avec le nom de fichier du CATDrawing? (Ex: monPara.value = left(nomfichier,10) OUI
-Veux tu faire cela pour un lot de CATDrawing enregistré dans un dossier? OUI
-Avec une macro? Si besoin pourquoi pas
Je pense a deux méthodes:
-pour un nouvelle affaire, dans le window j'utilise "Ant Renamer" et je renomme tous,
par contre je pense qu'il va falloir quand même ouvrir tous les drawings pour que les paramètres soient a jour.
-pour une nouvelle affaire après un créer a partir de, mes drawings sont déjà ouverts, a ce moment la il faut lancer la macro qui modifie le paramètre qui a son tour modifie le nom du drawing dans tous les drawings ouverts en session.
J'ai une préférence pour la première méthode, c'est le nom du fichier qui pilote le paramètre
Quand penses-tu?
-Veux tu modifier la valeur de ton paramètre avec le nom de fichier du CATDrawing? (Ex: monPara.value = left(nomfichier,10) OUI
-Veux tu faire cela pour un lot de CATDrawing enregistré dans un dossier? OUI
-Avec une macro? Si besoin pourquoi pas
Je pense a deux méthodes:
-pour un nouvelle affaire, dans le window j'utilise "Ant Renamer" et je renomme tous,
par contre je pense qu'il va falloir quand même ouvrir tous les drawings pour que les paramètres soient a jour.
-pour une nouvelle affaire après un créer a partir de, mes drawings sont déjà ouverts, a ce moment la il faut lancer la macro qui modifie le paramètre qui a son tour modifie le nom du drawing dans tous les drawings ouverts en session.
J'ai une préférence pour la première méthode, c'est le nom du fichier qui pilote le paramètre
Quand penses-tu?
lgesl1catia- actif
- Messages : 39
Date d'inscription : 23/11/2016
Localisation : orne
Re: Nom du fichier drawing égal à un parametre
Salut,
Ci dessous une macro qui va ouvrir un par un tous les Drawing se trouvant dans le dossier "repertoire_import", puis modifier la valeur du paramètre "monpara" en fonction du nom de fichier , puis sauvegarder le fichier et le fermer.
Ci dessous une macro qui va ouvrir un par un tous les Drawing se trouvant dans le dossier "repertoire_import", puis modifier la valeur du paramètre "monpara" en fonction du nom de fichier , puis sauvegarder le fichier et le fermer.
- Code:
Public repertoire_import As String
Sub CATMain()
'Configurer ci dessousle nom du dossier oùse trouvent les Drawings
repertoire_import = "C:\CATIA TRAVAIL\"
CATIA.DisplayFileAlerts = False
Dim extension As String
Dim file As String
extension = "*.CATDrawing"
If Right$(repertoire_import, 1) <> "\" Then repertoire_import = repertoire_import & "\"
file = Dir(repertoire_import & extension)
Do While Len(file)
Call Modif_Para(file)
file = Dir
Loop
CATIA.DisplayFileAlerts = True
End Sub
'Renomme parametre
Sub Modif_Para(fichier_catia)
Dim Nomfichier As String
'Configurer ci dessous la valeur que doit prendre le paramètre en fonction du nom du fichier:
Nomfichier = Left(fichier_catia, Len(fichier_catia) - 11)
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim drawingDocument1 As DrawingDocument
Set drawingDocument1 = documents1.Open(repertoire_import & fichier_catia)
Set drawingDocument1 = CATIA.ActiveDocument
Set oParams = drawingDocument1.Parameters
Set oParams = oParams.RootParameterSet.DirectParameters
'Remplacer "monpara" par le nom du paramètre dont la valeur doit être modifiée:
oParams.Item("monpara").Value = Nomfichier
drawingDocument1.Save
drawingDocument1.Close
End Sub
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
Re: Nom du fichier drawing égal à un parametre
Bonjour et merci marc
Si possible je souhaite quelques modifications si c'est possible:
Pour la récupération du texte, peut-on faire, droit +10 caractères et non gauche -11 car suivant mes fichiers je n'ai pas le même nombre de caractères
ex: 1200-10-00 plan détails et 1200-10-00 plan ensemble et
je souhaite récupérer 1200-10-00 peut être avec un "_" entre les deux, cela serait peut-être plus simple?
Je voudrais éviter de faire transiter mes fichiers dans un répertoire import, peut-on faire la même chose avec les fichiers drawing ouvert en session?
Je trouve super pratique tes dernières lignes pour sauvegarder et fermer, quel serait le code pour mettre à jour le plan avant de sauvegarder et fermer?
Merci
Si possible je souhaite quelques modifications si c'est possible:
Pour la récupération du texte, peut-on faire, droit +10 caractères et non gauche -11 car suivant mes fichiers je n'ai pas le même nombre de caractères
ex: 1200-10-00 plan détails et 1200-10-00 plan ensemble et
je souhaite récupérer 1200-10-00 peut être avec un "_" entre les deux, cela serait peut-être plus simple?
Je voudrais éviter de faire transiter mes fichiers dans un répertoire import, peut-on faire la même chose avec les fichiers drawing ouvert en session?
Je trouve super pratique tes dernières lignes pour sauvegarder et fermer, quel serait le code pour mettre à jour le plan avant de sauvegarder et fermer?
Merci
lgesl1catia- actif
- Messages : 39
Date d'inscription : 23/11/2016
Localisation : orne
Re: Nom du fichier drawing égal à un parametre
Salut Laurent,
Ci dessous la macro qui traite tous les CATDrawing en session:
Pour la mise à jour du CATDrawing c'est simplement Mondessin .Update.
Concernant la valeur exact que tu veux mettre dans ton paramètre, je n'ai pas compris ton exemple car il y a 2 fois les mêmes valeurs, mais il est possible de faire beaucoup de chose à condition que la syntaxe de départ des noms de fichiers suive toujours la même règle.
Ci dessous la macro qui traite tous les CATDrawing en session:
- Code:
'Macro de modification de la valeur d'un parametre en fonction du nom de fichier du CATDrawing
'Code VBA -- Marc 03/2017
'http://catiav5.forumactif.org/t1559-nom-du-fichier-drawing-egal-a-un-parametre#6951
Sub CATMain()
Dim valeurParametre As String
Dim NombreDoc As Integer
Dim Mondessin As Document
Dim mesParams As Parameters
NombreDoc = CATIA.Documents.Count
For j = NombreDoc To 1 Step -1
On Error Resume Next
Set Mondessin = CATIA.Documents.Item(j)
If (InStr(Mondessin.Name, ".CATDrawing")) <> 0 Then
Mondessin.Activate
Err.Clear
'écrire ci dessous le traitement de chaine de caractére souhaitée
'(ici on prend les 10 premiers caractères)
valeurParametre = Left(Mondessin.Name, 10)
Set mesParams = Mondessin.Parameters
Set mesParams = mesParams.RootParameterSet.DirectParameters
'remplacer monpara par le nom de ton paramètre
mesParams.Item("monpara").Value = valeurParametre
If Err.Number <> 0 Then 'si la paramètre n'existe pas, on le créé
Set nouveauparam = mesParams.CreateString("monpara", valeurParametre)
End If
Mondessin.Update 'mise à jour du 2D
Mondessin.Save
Mondessin.Close
End If
Next j
End Sub
Pour la mise à jour du CATDrawing c'est simplement Mondessin .Update.
Concernant la valeur exact que tu veux mettre dans ton paramètre, je n'ai pas compris ton exemple car il y a 2 fois les mêmes valeurs, mais il est possible de faire beaucoup de chose à condition que la syntaxe de départ des noms de fichiers suive toujours la même règle.
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
Re: Nom du fichier drawing égal à un parametre
Bonjour Marc
Je te remercie une fois de plus, c'est nickel
A bientôt.
Je te remercie une fois de plus, c'est nickel
A bientôt.
lgesl1catia- actif
- Messages : 39
Date d'inscription : 23/11/2016
Localisation : orne
Sujets similaires
» Macro de liaison entre propriétés ajoutées de Catpart vers paramètre Drawing
» Affecter la valeur d'une cellule d'un fichier excel à un paramètre dans CATIA
» Paramètre non valué
» cartouche et paramètre
» Créer un parametre de sensor
» Affecter la valeur d'une cellule d'un fichier excel à un paramètre dans CATIA
» Paramètre non valué
» cartouche et paramètre
» Créer un parametre de sensor
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum