Gestion des propriétés sous CATIA en VB Script

Résolu
isa911 Messages postés 63 Date d'inscription mercredi 28 février 2001 Statut Membre Dernière intervention 25 novembre 2010 - 29 avril 2003 à 10:08
isa911 Messages postés 63 Date d'inscription mercredi 28 février 2001 Statut Membre 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

12 réponses

isa911 Messages postés 63 Date d'inscription mercredi 28 février 2001 Statut Membre Dernière intervention 25 novembre 2010
29 avril 2003 à 13:33
Isa911

Ca y est, j'ai trouvé ....
0
cs_Belec Messages postés 13 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 6 mars 2008
15 mai 2003 à 18:27
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)
0
isa911 Messages postés 63 Date d'inscription mercredi 28 février 2001 Statut Membre Dernière intervention 25 novembre 2010
11 juil. 2005 à 14:27
Doc en ligne pour developpement sous CATIA :
http://www.3ds.com/alliances/automation-developers/
0
cs_DAHOKHAN Messages postés 20 Date d'inscription mercredi 19 octobre 2005 Statut Membre Dernière intervention 12 décembre 2005
5 janv. 2006 à 03:56
Salut

Que le plaisir de la progammation soit!!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DAHOKHAN Messages postés 20 Date d'inscription mercredi 19 octobre 2005 Statut Membre Dernière intervention 12 décembre 2005
5 janv. 2006 à 04:15
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é
0
isa911 Messages postés 63 Date d'inscription mercredi 28 février 2001 Statut Membre Dernière intervention 25 novembre 2010
5 janv. 2006 à 08:35
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
0
mfaure Messages postés 48 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 septembre 2011
28 mars 2006 à 14:23
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
0
isa911 Messages postés 63 Date d'inscription mercredi 28 février 2001 Statut Membre Dernière intervention 25 novembre 2010
28 mars 2006 à 15:37
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
0
isa911 Messages postés 63 Date d'inscription mercredi 28 février 2001 Statut Membre Dernière intervention 25 novembre 2010
28 mars 2006 à 15:39
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
0
mfaure Messages postés 48 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 22 septembre 2011
28 mars 2006 à 16:36
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
0
MAT63000 Messages postés 2 Date d'inscription lundi 16 avril 2007 Statut Membre Dernière intervention 17 avril 2007
17 avril 2007 à 15:46
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!
0
isa911 Messages postés 63 Date d'inscription mercredi 28 février 2001 Statut Membre Dernière intervention 25 novembre 2010
18 juin 2007 à 09:06
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
0
Rejoignez-nous