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

Messages postés
63
Date d'inscription
mercredi 28 février 2001
Dernière intervention
25 novembre 2010
- - Dernière réponse : isa911
Messages postés
63
Date d'inscription
mercredi 28 février 2001
Dernière intervention
25 novembre 2010
- 18 juin 2007 à 09:06
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
Afficher la suite 

12 réponses

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

Ca y est, j'ai trouvé ....
Messages postés
13
Date d'inscription
vendredi 21 mars 2003
Dernière intervention
6 mars 2008
0
Merci
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
Dernière intervention
25 novembre 2010
0
Merci
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
Dernière intervention
12 décembre 2005
0
Merci
Salut

Que le plaisir de la progammation soit!!!!!
Messages postés
20
Date d'inscription
mercredi 19 octobre 2005
Dernière intervention
12 décembre 2005
0
Merci
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
Dernière intervention
25 novembre 2010
0
Merci
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
Dernière intervention
22 septembre 2011
0
Merci
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
Dernière intervention
25 novembre 2010
0
Merci
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
Dernière intervention
25 novembre 2010
0
Merci
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
Dernière intervention
22 septembre 2011
0
Merci
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
Dernière intervention
17 avril 2007
0
Merci
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
Dernière intervention
25 novembre 2010
0
Merci
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.