CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

Macro de conversion Catpart/produt en stp

4 participants

Aller en bas

Macro de conversion Catpart/produt en stp Empty Macro de conversion Catpart/produt en stp

Message par Gadget17 Sam 4 Mai 2013 - 16:27

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+

Gadget17
timide
timide

Messages : 5
Date d'inscription : 04/05/2013
Localisation : bureau

Revenir en haut Aller en bas

Macro de conversion Catpart/produt en stp Empty Re: Macro de conversion Catpart/produt en stp

Message par Gadget17 Sam 4 Mai 2013 - 22:22

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 ^^

Gadget17
timide
timide

Messages : 5
Date d'inscription : 04/05/2013
Localisation : bureau

Revenir en haut Aller en bas

Macro de conversion Catpart/produt en stp Empty Re: Macro de conversion Catpart/produt en stp

Message par fanch-bzh Jeu 1 Aoû 2013 - 15:05

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

fanch-bzh
timide
timide

Messages : 12
Date d'inscription : 09/07/2010

Revenir en haut Aller en bas

Macro de conversion Catpart/produt en stp Empty Re: Macro de conversion Catpart/produt en stp

Message par Guss_ Lun 5 Aoû 2013 - 17:36

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.

Guss_
Admin
Admin

Messages : 530
Date d'inscription : 08/01/2010

Revenir en haut Aller en bas

Macro de conversion Catpart/produt en stp Empty Re: Macro de conversion Catpart/produt en stp

Message par fanch-bzh Lun 2 Sep 2013 - 9:12

C'est ecrit sur la 2e ligne

avec ma macro , je traduit le catpart en cours sur catia (R21) en stp

fanch-bzh
timide
timide

Messages : 12
Date d'inscription : 09/07/2010

Revenir en haut Aller en bas

Macro de conversion Catpart/produt en stp Empty Re: Macro de conversion Catpart/produt en stp

Message par Mr.J Jeu 10 Oct 2013 - 22:22

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.

Code:

'Ouverture du fichier trouvé (modifié)
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Open(repertoire1 & "\" & objFichier.Name)
Ou encore plus propre :
Code:

Set documents1 = CATIA.Documents
if right(repertoire1 ,1) <> "\" then  repertoire1 =repertoire1  & "\"
Set partDocument1 = documents1.Open(repertoire1 & objFichier.Name)
Mr.J

Mr.J
timide
timide

Messages : 14
Date d'inscription : 10/10/2013
Localisation : Toulouse

Revenir en haut Aller en bas

Macro de conversion Catpart/produt en stp Empty Re: Macro de conversion Catpart/produt en stp

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum