Macro de conversion Catpart/produt en stp
4 participants
Page 1 sur 1
Macro de conversion Catpart/produt en stp
Salut à tous.
Je m'intéresse depuis peu au macro car je vais avoir besoin d'automatiser un peut certaine taches.
J'ai développé une macro qui marche seule mais peut encore être améliorée mais depuis que je l'ai couplé avec une autre (sélection du dossier) , j'obtiens le message dans un msgbox "le document ne peut pas être lu"
Voici le code de la macro complete : (pour info, j'ai mis igs car chez moi je n'ai pas la licence stp)
'------------------------------------------------
Sub CATMain()
'Variables
Dim objShell, ObjFolder, ObjFolerItem
'Constantes
Const RETURNONLYFSDIRS = &H1
Const NONEWFOLDERBUTTON = &H200
'Exécution de BrowseForFolder (Création fenêtre de sélection du dossier à lire)
Set objShell = CreateObject("Shell.Application")
Set ObjFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", RETURNONLYFSDIRS + NONEWFOLDERBUTTON, dirinit)
'Si clic annuler alors
If ObjFolder Is Nothing Then
MsgBox "Fin de l'application", vbInformation, "État de la conversion"
'Sinon...
Else
'Dossier sélectionné mis en variable
Set objfolderitem = ObjFolder.self
MsgBox objfolderitem.Path
Dim objFSO, objFSO2, objDossier, objFichier
Dim repertoire1
repertoire1 = objfolderitem.Path
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDossier = objFSO.GetFolder(repertoire1)
If (objDossier.Files.Count > 0) Then
For Each objFichier In objDossier.Files
'Ouverture du fichier trouvé
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Open(repertoire1 & objFichier.Name)
'Sup de l'extention et export dans la nouvelle extention
Set partDocument1 = CATIA.ActiveDocument
partDocument1.ExportData partDocument1.Path & "\" & suppressionextension, "igs"
Set partDocument1 = CATIA.ActiveDocument
partDocument1.Close
Next
MsgBox "Convertion terminée", 0 + 64, "État de la conversion"
Else: MsgBox "Pas de fichier à convertir" & vbLf & vbLf & "Conversion annulée", 0 + 48, "Information"
End If
End If
End Sub
'-------fin de macro
Donc cette macro fonctionne mais depuis que je l'ai couplé avec une fenêtre de sélection du dossier (pour choisir le dossier à convertir)
elle ne marche plus
Avez-vous des idées ?
a+
Je m'intéresse depuis peu au macro car je vais avoir besoin d'automatiser un peut certaine taches.
J'ai développé une macro qui marche seule mais peut encore être améliorée mais depuis que je l'ai couplé avec une autre (sélection du dossier) , j'obtiens le message dans un msgbox "le document ne peut pas être lu"
Voici le code de la macro complete : (pour info, j'ai mis igs car chez moi je n'ai pas la licence stp)
'------------------------------------------------
Sub CATMain()
'Variables
Dim objShell, ObjFolder, ObjFolerItem
'Constantes
Const RETURNONLYFSDIRS = &H1
Const NONEWFOLDERBUTTON = &H200
'Exécution de BrowseForFolder (Création fenêtre de sélection du dossier à lire)
Set objShell = CreateObject("Shell.Application")
Set ObjFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", RETURNONLYFSDIRS + NONEWFOLDERBUTTON, dirinit)
'Si clic annuler alors
If ObjFolder Is Nothing Then
MsgBox "Fin de l'application", vbInformation, "État de la conversion"
'Sinon...
Else
'Dossier sélectionné mis en variable
Set objfolderitem = ObjFolder.self
MsgBox objfolderitem.Path
Dim objFSO, objFSO2, objDossier, objFichier
Dim repertoire1
repertoire1 = objfolderitem.Path
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDossier = objFSO.GetFolder(repertoire1)
If (objDossier.Files.Count > 0) Then
For Each objFichier In objDossier.Files
'Ouverture du fichier trouvé
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Open(repertoire1 & objFichier.Name)
'Sup de l'extention et export dans la nouvelle extention
Set partDocument1 = CATIA.ActiveDocument
partDocument1.ExportData partDocument1.Path & "\" & suppressionextension, "igs"
Set partDocument1 = CATIA.ActiveDocument
partDocument1.Close
Next
MsgBox "Convertion terminée", 0 + 64, "État de la conversion"
Else: MsgBox "Pas de fichier à convertir" & vbLf & vbLf & "Conversion annulée", 0 + 48, "Information"
End If
End If
End Sub
'-------fin de macro
Donc cette macro fonctionne mais depuis que je l'ai couplé avec une fenêtre de sélection du dossier (pour choisir le dossier à convertir)
elle ne marche plus
Avez-vous des idées ?
a+
Gadget17- timide
- Messages : 5
Date d'inscription : 04/05/2013
Localisation : bureau
Re: Macro de conversion Catpart/produt en stp
En surfant sur le site gtwiki.org dont le lien est donné sur le forum, je suis tombé sur un convertisseur.
gtwiki.org/mwiki/index.php?title=Talk:Power_CGR_Macro:_Batch_file_conversion
Ça marche assez bien. Reste plus qu'a le modifier pour avoir la conversion pour les Products.
Ça me fait peur, car ça ne ressemble en rien à ma macro ^^
gtwiki.org/mwiki/index.php?title=Talk:Power_CGR_Macro:_Batch_file_conversion
Ça marche assez bien. Reste plus qu'a le modifier pour avoir la conversion pour les Products.
Ça me fait peur, car ça ne ressemble en rien à ma macro ^^
Gadget17- timide
- Messages : 5
Date d'inscription : 04/05/2013
Localisation : bureau
Re: Macro de conversion Catpart/produt en stp
Bonjour ma petite contribution et mes questions
avec ma macro , je traduit le catpart en cours sur catia (R21) en stp
Sub CATMain()
Dim Document1 As partDocument
Set partDocument1 = CATIA.ActiveDocument
toto = Left(partDocument1.Name, Len(partDocument1.Name) - 7) 'on supprime l'extension .CATpart (7 caractères)
dim mot as string
mot=partDocument1.Name
MsgBox(mot)
partDocument1.ExportData partDocument1.Path & "\" & toto & ".stp", "stp"
'ouverture de catia en R18
Dim oShell
Set oShell = CreateObject("WScript.Shell")
oShell.Run("""C:\Program Files (x86)\Dassault Systemes\B18\intel_a\code\bin\CATSTART.exe """ )
End Sub
maintenant j'aimerais qu'a l'ouverture de catia R18 , cela m'ouvre mon fichier Stp
une solution svp
avec ma macro , je traduit le catpart en cours sur catia (R21) en stp
Sub CATMain()
Dim Document1 As partDocument
Set partDocument1 = CATIA.ActiveDocument
toto = Left(partDocument1.Name, Len(partDocument1.Name) - 7) 'on supprime l'extension .CATpart (7 caractères)
dim mot as string
mot=partDocument1.Name
MsgBox(mot)
partDocument1.ExportData partDocument1.Path & "\" & toto & ".stp", "stp"
'ouverture de catia en R18
Dim oShell
Set oShell = CreateObject("WScript.Shell")
oShell.Run("""C:\Program Files (x86)\Dassault Systemes\B18\intel_a\code\bin\CATSTART.exe """ )
End Sub
maintenant j'aimerais qu'a l'ouverture de catia R18 , cela m'ouvre mon fichier Stp
une solution svp
fanch-bzh- timide
- Messages : 12
Date d'inscription : 09/07/2010
Re: Macro de conversion Catpart/produt en stp
Euh, faudrait expliquer ce qu'est sensée faire la macro ... c'est plus compréhensible pour tout le monde.
Car s'il faut debbuguer le code pour comprendre on s'en sort pas.
Car s'il faut debbuguer le code pour comprendre on s'en sort pas.
Guss_- Admin
- Messages : 530
Date d'inscription : 08/01/2010
Re: Macro de conversion Catpart/produt en stp
C'est ecrit sur la 2e ligne
avec ma macro , je traduit le catpart en cours sur catia (R21) en stp
avec ma macro , je traduit le catpart en cours sur catia (R21) en stp
fanch-bzh- timide
- Messages : 12
Date d'inscription : 09/07/2010
Re: Macro de conversion Catpart/produt en stp
De ce que je vois chez moi (Windows 7 x64) le problème vient juste d'un "\" manquant à la fin du répertoire.
Dans mon test, repertoire1 valait 'C:\temp' et objFichier.Name valait 'test.catpart'.
repertoire1 & objFichier.Name donne donc C:\temptest.catpart.
Il faut juste remplacer repertoire1 & objFichier.Name par repertoire1 & "\" & objFichier.Name.
Dans mon test, repertoire1 valait 'C:\temp' et objFichier.Name valait 'test.catpart'.
repertoire1 & objFichier.Name donne donc C:\temptest.catpart.
Il faut juste remplacer repertoire1 & objFichier.Name par repertoire1 & "\" & objFichier.Name.
- Code:
'Ouverture du fichier trouvé (modifié)
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Open(repertoire1 & "\" & objFichier.Name)
- Code:
Set documents1 = CATIA.Documents
if right(repertoire1 ,1) <> "\" then repertoire1 =repertoire1 & "\"
Set partDocument1 = documents1.Open(repertoire1 & objFichier.Name)
Mr.J- timide
- Messages : 14
Date d'inscription : 10/10/2013
Localisation : Toulouse
Sujets similaires
» Conversion fichier CATPart en pdf ou jpg ou dxf
» Récupération des paramètres électriques d'un CATpart à l'aide d'une macro
» Macro de liaison entre propriétés ajoutées de Catpart vers paramètre Drawing
» Macro VBA - Enregistrer sous de tous les CATProduct et CATPart uniquement présents dans CATIA.ActiveDocument ?
» conversion de produit V5 en session v4
» Récupération des paramètres électriques d'un CATpart à l'aide d'une macro
» Macro de liaison entre propriétés ajoutées de Catpart vers paramètre Drawing
» Macro VBA - Enregistrer sous de tous les CATProduct et CATPart uniquement présents dans CATIA.ActiveDocument ?
» conversion de produit V5 en session v4
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|