Gestion des propriétés sous CATIA en VB Script [Résolu]

Signaler
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Statut
Membre
Dernière intervention
25 novembre 2010
-
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Statut
Membre
Dernière intervention
25 novembre 2010
-
Bonjour,
Je suis en train de faire un code permettant de créer des Part, Product et/ou Drawing en renseignant dès la création des documents un certain de nombre de propriétés.
Pour le Part, j'ai quelques problemes, je ne sais pas comment renseigner les propriétés comme Référence, Designation, etc....
Pour le Product j'y suis arrivée, pourquoi ces propriétées ne sont elles pas gérées de la meme facon ?
Comment faire pour le Part en CATScript?
Merci d'avance.

Isa911
A voir également:

12 réponses

Messages postés
63
Date d'inscription
mercredi 28 février 2001
Statut
Membre
Dernière intervention
25 novembre 2010

Isa911

Ca y est, j'ai trouvé ....
Messages postés
13
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
6 mars 2008

salut

je prog également sur Catia en VBscript, Vba
pour l'instant y a pas trop de bouquin ladessus
un conseil :
il faut utiliser l'aide catia ( qui est merdique je te l'accorde)
ou enregistrer des manip sou catia le plus possible (quan sa marche) pour connaitre les propriété des parts, products, etc...

bonne prog

Belec :big)
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Statut
Membre
Dernière intervention
25 novembre 2010

Doc en ligne pour developpement sous CATIA :
http://www.3ds.com/alliances/automation-developers/
Messages postés
20
Date d'inscription
mercredi 19 octobre 2005
Statut
Membre
Dernière intervention
12 décembre 2005

Salut

Que le plaisir de la progammation soit!!!!!
Messages postés
20
Date d'inscription
mercredi 19 octobre 2005
Statut
Membre
Dernière intervention
12 décembre 2005

Salut je cherche comment utiliser l'editeur de script catia est ce que tu pourrai m'aider
merci
excuse pour le double poste mais y a un truc qui a foiré
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Statut
Membre
Dernière intervention
25 novembre 2010

En fait, moi, je l'utilise pas, je fait de l'Automation.
Je travaille sur les cartouches et les propriétés des fichiers, mon code est donc dans ma base de données Access.

Dans la doc, il n'y rien ?

Isa911
Messages postés
48
Date d'inscription
mardi 28 mars 2006
Statut
Membre
Dernière intervention
22 septembre 2011

Salut Isa911, le sujet dont tu parles est exactement sur lequel je suis en train de plancher... et de sécher ! J'ai besoin, dans le cadre de mon travail de créer un part, un product et 2 drawings, tout cela en fonction de un seul paramètre qui varie dans le part... Pour faire plus clair, il n'y a qu'une dimension qui change dans le part, dimension que j'ai passé en paramètre. Ce part est inclus dans un product, et le part et le body ont leur drawing, qui doit donc être mis à jour en fonction du paramètre qui a changé...

comme a priori tu as trouvé une solution, j'aimerais bien que tu m'aides un peu, si ça ne t'ennuie pas, voire que tu me fasses partager ta source.

merci beaucoup d'avance

Max
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Statut
Membre
Dernière intervention
25 novembre 2010

Il te faut les références suivantes :
CATIA V5 InfInterfaces Object Library : InfTypeLib.tlb
CATIA V5 DraftingInterfaces Object Library : DraftingTypeLib.tlb
CATIA V5 ProductStructureInterfaces Object Library : PSTypeLib.tlb

Pour la création d'un Part ou un Product via une base Access (fonction brute pour inspiration, me demander si besoin d'aide) :

Public Function CreaPart(Prems As Boolean)
Dim oProduct As Product
Dim ferme As Boolean
On Error GoTo err
ferme = False
If Module1.CatiaOuvert = False Then
Set AppCATIA = CreateObject("CATIA.Application")
' Rend la fenetre visible
AppCATIA.Visible = True
ferme = True
End If
'Si c'est le premier et non pas une copie à faire
If Prems = True Then
If Module1.Extension = ".CATProduct" Then
'Créé le Product spécifié
Set DrwDocument = AppCATIA.Documents.Add("Product")
'Ajoute un Part dans le Product
'oProduct.AddShapeRepresentation ( CATBSTR iShapePathName, CATBSTR iShapeName, CatRepType iRepBehavior, boolean iContext)
End If
If Module1.Extension = ".CATPart" Then
'Créé LE PART spécifié
Set DrwDocument = AppCATIA.Documents.Add("Part")
End If
Set oProduct = DrwDocument.Product
'Renseigne les propriétés
oProduct.Name = Module1.Reference
oProduct.PartNumber = Module1.desi
oProduct.Definition = Module1.Reference
oProduct.DescriptionRef = Module1.desidoc & " " & Module1.desi
Module1.RechercheRevision ("New")
Module1.NameFonc = "SerieCATIA"
oProduct.Revision = Module1.Revision
'Met à jour
oProduct.Update
'Enregistre le document
AppCATIA.DisplayFileAlerts = False
DrwDocument.SaveAs Module1.debchemin & Module1.Repertoire("Catia") & Left(Module1.ref, 4) & "-" & Right(Module1.ref, 4) & "-" & Module1.Doc & Module1.Indice & Extension
DrwDocument.Close
AppCATIA.DisplayFileAlerts = True
Else
Set DrwDocument = AppCATIA.Documents.Open(Module1.debchemin & Module1.Repertoire("Catia") & Left(Module1.ref, 4) & "-" & Right(Module1.ref, 4) & "-" & Module1.Doc & Module1.Indice & Extension)
Set oProduct = DrwDocument.Product
oProduct.Revision = Module1.Revision
'Met à jour
oProduct.Update
'Enregistre le plan
AppCATIA.DisplayFileAlerts = False
DrwDocument.Save
DrwDocument.Close
AppCATIA.DisplayFileAlerts = True
End If
If ferme = True Then
AppCATIA.Quit
End If


Set DrwDocument = Nothing
Set AppCATIA = Nothing


err:


If err.Number <> 0 Then
Module1.NameFonc = "CreaPart"
Module1.Recup_Erreurs
AppCATIA.DisplayFileAlerts = False 'If Module1.Indice "X1" Or Left(Module1.Indice, 1) "0" Then
If Prems = True Then
DrwDocument.SaveAs Module1.debchemin & Module1.Repertoire("Catia") & Left(Module1.ref, 4) & "-" & Right(Module1.ref, 4) & "-" & Module1.Doc & Module1.Indice & Extension
Else
DrwDocument.Save
End If
DrwDocument.Close
AppCATIA.DisplayFileAlerts = True
If ferme = True Then
AppCATIA.Quit
End If
Set DrwDocument = Nothing
Set AppCATIA = Nothing
End If


End Function

Isa911
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Statut
Membre
Dernière intervention
25 novembre 2010

Public Function CatiaOuvert() As Boolean
Module1.NameFonc = "CatiaOuvert"
On Error GoTo err:
Set AppCATIA = GetObject(, "catia.Application")


err:
If err.Number <> 0 Then
CatiaOuvert = False
Else
CatiaOuvert = True
End If
End Function

Isa911
Messages postés
48
Date d'inscription
mardi 28 mars 2006
Statut
Membre
Dernière intervention
22 septembre 2011

Merci beaucoup, mais outch !!!

je me retrouve assez vite perdu. En fait, je n'ai jamais fait de macro, et on me demande d'en faire une pour mon travail. J'ai réussi à faire l'interface graphique, mais n'arrive pas à faire le code qui va derrière, alors je vais y aller tout doucement avec mes questions :

- 1erement, tu parles de références à avoir, comment cela se passe-t-il concretement (il faut importer des fichiers qqpart, les appeler ?)
2èmement, je détaille un peu plus le cas auquel je suis confronté : j'ai un part, avec une cote qui peut changer. Il s'agit d'un part de base. Il faudrait qu'il soit ouvert opar la macro, que la valeur de la cote soit changée en fonction du paramètre donné en entrée. Ensuite, il faudrait que la macro ouvre le drawing associé à ce part, et le mette à jour, afin que toutes les côtes colent. Ensuite, la macro devra ouvrir un product qui contient 2 instances de ce part modifié, ainsi que 2 autres part. Mise à jour du product pour prendre en compte les modifs sur le part, ouvertire du drawing associé au product et mise à jour également, puis sauvegarde de ces 4 fichiers avec un nom "qui va bien" dans un répertoire "qui va bien", et impression des 2 drawings sur demande. Si j'arrive à avoir ça, c'est le pied, il faut quand même voir si c'est réalisable aussi.

Si ça ne te gène pas de me filer un coup de main, on peut peut être directement voir ça en privé.

merci beaucoup pour ton aide.

Max
Messages postés
2
Date d'inscription
lundi 16 avril 2007
Statut
Membre
Dernière intervention
17 avril 2007

Bon ok, mon post n'est pas tout à fait dans le sujet mais puisqu'il y a ici des pro des vbscripts sur catia je me lance!
Je voudrais juste savoir quel est la ligne de commande pour prendre une cote ("mesure entre" dans catia).
J'ai essayé en enregistrant une macro mais à chaque fois elle est vide, alors que d'autre fonction qu'une prise de mesure la remplissent.
D'autre part, existe-t-il un document spécialisé dans les commandes VBA de Catia?
S'il existe j'en serai friand..!!! et je pense que d'autres également!
Merci à vous!
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Statut
Membre
Dernière intervention
25 novembre 2010

Bonjour,

Désolé, pour le délais, j'etais en congé maternité, je viens juste de reprendre et ne travaille plus pour l'instant sur CATIA.

Pour avoir de l'aide va sur : http://www.3ds.com/alliances/developers-tools/

A++

Isa911