Section programmation CatScript, VBA, VB.NET...
+8
flo
Tétras-Mobile
Guss_
Threedots
tuxmickmac
mike688
gautier2305
SamsGuamejy
12 participants
Page 2 sur 5
Page 2 sur 5 • 1, 2, 3, 4, 5
Re: Section programmation CatScript, VBA, VB.NET...
Pas de quoi!!ouais encore un peut de patience!
gautier2305- Fédérateur
- Messages : 412
Date d'inscription : 02/09/2010
Age : 38
Localisation : Carvin(62)
Re: Section programmation CatScript, VBA, VB.NET...
moi je veux bien m'occuper de vous avec gautier si il veux. (uniquement sur le forum hein, pas d'histoire tordu entre nous )
il faudrai que wanou s'il est d'accord nous nomme admin
il faudrai que wanou s'il est d'accord nous nomme admin
mike688- actif
- Messages : 257
Date d'inscription : 23/12/2009
Age : 43
Localisation : Portieux (88)
Re: Section programmation CatScript, VBA, VB.NET...
Moi ca me tente bien Mike, le seul hic est que ce Mr Wanou est inconnu au bataillon et ne réponds à aucun message.
Pour les admin, on pourra faire un vote pour savoir qui les membres veulent voir en admin si il y a plusieurs candidatures!
Pour les admin, on pourra faire un vote pour savoir qui les membres veulent voir en admin si il y a plusieurs candidatures!
gautier2305- Fédérateur
- Messages : 412
Date d'inscription : 02/09/2010
Age : 38
Localisation : Carvin(62)
Re: Section programmation CatScript, VBA, VB.NET...
Pareil si il faut un coup de main ya pas de problême
Re: Section programmation CatScript, VBA, VB.NET...
Il pus faut attendre au moins 2 mois pour récupérer le forum et virer l'admin!
des coups de main il en faudra!
des coups de main il en faudra!
gautier2305- Fédérateur
- Messages : 412
Date d'inscription : 02/09/2010
Age : 38
Localisation : Carvin(62)
Re: Section programmation CatScript, VBA, VB.NET...
Ca sent la mutinerie tout ça !
Cela dit, Mr Wanou doit trainer ses guêtres dans les parages depuis 2008, il s'en est peut-être lassé ?
Quoiqu'il en soit, chapeau aux créateurs du forum, qui regroupe maintenant pas mal d'infos pratiques (et j'ai pas encore tout lu...)
Pour en revenir à ce que disait Sam, il est vrai que la création de macros est plus que conseillée pour booster encore un peu plus certaines opérations sous Catia, qui est déjà une sacrée usine à gaz... Une section pour la programmation est donc bienvenue !
Cela dit, Mr Wanou doit trainer ses guêtres dans les parages depuis 2008, il s'en est peut-être lassé ?
Quoiqu'il en soit, chapeau aux créateurs du forum, qui regroupe maintenant pas mal d'infos pratiques (et j'ai pas encore tout lu...)
Pour en revenir à ce que disait Sam, il est vrai que la création de macros est plus que conseillée pour booster encore un peu plus certaines opérations sous Catia, qui est déjà une sacrée usine à gaz... Une section pour la programmation est donc bienvenue !
Threedots- Fédérateur
- Messages : 617
Date d'inscription : 16/09/2010
Age : 36
Localisation : Toulouse
Re: Section programmation CatScript, VBA, VB.NET...
Salut Ludo,
ça va être long d'attendre 2 mois pour pouvoir récupérer un admin...
Mais bon quand on goutte au macro et que l'on revient à un catia on perd un peu de réflex sur les ateliers. Mais la créations de macros me hape de plus en plus même si je n'ai pas trouvé de réel tuto sur la programmation autant CatScript que VB.net.
J'aimerai bien avoir quelque exemple de programme en .net pour CATIA pour apprendre comment cela foctionne réellement. J'avance un peu à taton surtout que je ne connais que le VB comme language à la base alors que le .net est un peu différent. Mais bon je commence tout doucement
La programmation reste un atout majeur pour l'outil de CATIA je pense. Puisque je vois mes chers dirigeant essayé de mettre CATIA à la portée de pratiquement n'importe qui via des développements.
ça va être long d'attendre 2 mois pour pouvoir récupérer un admin...
Mais bon quand on goutte au macro et que l'on revient à un catia on perd un peu de réflex sur les ateliers. Mais la créations de macros me hape de plus en plus même si je n'ai pas trouvé de réel tuto sur la programmation autant CatScript que VB.net.
J'aimerai bien avoir quelque exemple de programme en .net pour CATIA pour apprendre comment cela foctionne réellement. J'avance un peu à taton surtout que je ne connais que le VB comme language à la base alors que le .net est un peu différent. Mais bon je commence tout doucement
La programmation reste un atout majeur pour l'outil de CATIA je pense. Puisque je vois mes chers dirigeant essayé de mettre CATIA à la portée de pratiquement n'importe qui via des développements.
Re: Section programmation CatScript, VBA, VB.NET...
C'est sûr, mon ancien patron aussi ne jurait que part les Macros. Notamment pour aider un peu les gars à la FAO lors des tâches répétitives et pas très intéressantes. Et c'est vrai que mettre des boites de dialogue explicite rend certaines fonctions accessibles à tous.
Mais à vrai dire, je ne travaillais pas au code, et si je suis assez habitué au VB (programmation excel), je n'ai jamais trop touché à la programmation sur Catia.
Etant en poste et déjà quasiment référence en tant que mécanicien CAO (eh oui, les "vieux" mécanos cataloguent vite les jeunes quand ils les voient taquiner le mulot, même si j'ai encore tellement de chose à apprendre sur Catia...), j'ai envie de faire un peu évoluer les choses. Nous travaillons sur quasiment le même type d'instrumentation : c'est pourquoi mettre en place des outils automatisés me semble être une bonne idée...
Je sent que ça va me titiller et que je vais finir par plonger là dedans
Mais à vrai dire, je ne travaillais pas au code, et si je suis assez habitué au VB (programmation excel), je n'ai jamais trop touché à la programmation sur Catia.
Etant en poste et déjà quasiment référence en tant que mécanicien CAO (eh oui, les "vieux" mécanos cataloguent vite les jeunes quand ils les voient taquiner le mulot, même si j'ai encore tellement de chose à apprendre sur Catia...), j'ai envie de faire un peu évoluer les choses. Nous travaillons sur quasiment le même type d'instrumentation : c'est pourquoi mettre en place des outils automatisés me semble être une bonne idée...
Je sent que ça va me titiller et que je vais finir par plonger là dedans
Threedots- Fédérateur
- Messages : 617
Date d'inscription : 16/09/2010
Age : 36
Localisation : Toulouse
Re: Section programmation CatScript, VBA, VB.NET...
Sam, si tu veux apprendre je te conseille un petit truc, c'est d'enregistrer une tache tout simple que tu fais, comme changer la couleur du fond et regarde le code qu'il t'a créer ca aide beaucoup, je fais encore souvent comme ca quand je bloque!
Pour enregistrer, tools/Macro/Start recording
Pour enregistrer, tools/Macro/Start recording
gautier2305- Fédérateur
- Messages : 412
Date d'inscription : 02/09/2010
Age : 38
Localisation : Carvin(62)
Re: Section programmation CatScript, VBA, VB.NET...
Salut Gautier,
c'est effectivement ce que je fais déjà mais tout ne s'enregistre pas dans la macro dès fois..
c'est effectivement ce que je fais déjà mais tout ne s'enregistre pas dans la macro dès fois..
Re: Section programmation CatScript, VBA, VB.NET...
ouais ca c'est un peu embêtant!
gautier2305- Fédérateur
- Messages : 412
Date d'inscription : 02/09/2010
Age : 38
Localisation : Carvin(62)
Re: Section programmation CatScript, VBA, VB.NET...
Salut,
Bon étant donné qu'il n'y a pas de section réservée, je post quelques questions macros ici :
Je suis en train d'essayer d'automatiser le processus de sauvegarde d'un product, afin d'en faire des sauvegardes pour figer les différentes releases et versions (en gros, un semblant de PDM, en simplifié).
Seulement il me manque certaines fonctions, et certains trucs accrochent un peu...
Voilà pour l'instant le code (que j'ai réussi à compiler en m'inspirant de plusieurs sources sur le net, merci à elles ) qui permet de changer le nom de tous les products et parts composant le produit principal :
Un userform (composé d'une textbox et d'un bouton de commande) a été créé pour que l'utilisateur puisse renseigner le nom du préfixe qu'il veut pour sa sauvegarde (de la forme XXX_AAMMJJ pour notre boulot...), et tout fonctionne bien... ou presque.
Les fichiers sont renommés, mais pas les noms des instances (commande Product.Name). Je ne sais pas d'où ça peut venir...
En parallèle, je chercherai la traduction de l'outil "Gestion des enregistrement", afin d'essayer d'utiliser le code
Il me faudrait aussi les outils de "Propager le répertoire", et "appliquer le motif". Bien entendu, si vous avez déjà des codes VBA permettant de faire des sauvegardes, je suis preneur
J'espère avoir été clair, à bientot, j'attends vos avis et vos questions si jamais !
Bon étant donné qu'il n'y a pas de section réservée, je post quelques questions macros ici :
Je suis en train d'essayer d'automatiser le processus de sauvegarde d'un product, afin d'en faire des sauvegardes pour figer les différentes releases et versions (en gros, un semblant de PDM, en simplifié).
Seulement il me manque certaines fonctions, et certains trucs accrochent un peu...
Voilà pour l'instant le code (que j'ai réussi à compiler en m'inspirant de plusieurs sources sur le net, merci à elles ) qui permet de changer le nom de tous les products et parts composant le produit principal :
- Code:
Private Sub CommandButton1_Click()
'Déclaration de la variable 'prefix'
Dim prefix As String
prefix = TextBox1.Value
'Début de la boucle de renommage
For Each ProductDocument In CATIA.Documents
Set Product = ProductDocument.Product
Product.PartNumber = prefix & Product.PartNumber
Product.Name = prefix & Product.Name
Next ProductDocument
Unload Me
End Sub
Un userform (composé d'une textbox et d'un bouton de commande) a été créé pour que l'utilisateur puisse renseigner le nom du préfixe qu'il veut pour sa sauvegarde (de la forme XXX_AAMMJJ pour notre boulot...), et tout fonctionne bien... ou presque.
Les fichiers sont renommés, mais pas les noms des instances (commande Product.Name). Je ne sais pas d'où ça peut venir...
En parallèle, je chercherai la traduction de l'outil "Gestion des enregistrement", afin d'essayer d'utiliser le code
- Code:
CATIA.StartCommand "..."
Il me faudrait aussi les outils de "Propager le répertoire", et "appliquer le motif". Bien entendu, si vous avez déjà des codes VBA permettant de faire des sauvegardes, je suis preneur
J'espère avoir été clair, à bientot, j'attends vos avis et vos questions si jamais !
Threedots- Fédérateur
- Messages : 617
Date d'inscription : 16/09/2010
Age : 36
Localisation : Toulouse
Re: Section programmation CatScript, VBA, VB.NET...
Salut Threedots,
l'erreur concernant le nom de l'instance est peut-être dût au fait que ton proct actif n'est pas en mode conception (DesignMode).
Une boucle Next comme ci-dessous est préférable : la macro ne traite que le product actif et non tous les composants chargés en session.
Sub CATMain()
'
Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument
'
Dim product1 As Product
Set product1 = productDocument1.Product
'
'passe le product actif en mode conception
product1.ApplyWorkMode DESIGN_MODE
'
Dim products1 As Products
Set products1 = product1.Products
'
'Scan tous les composants du product actif
For i = 1 to products1.Count
Set product2 = products1.Item(i)
'
toto = product2.PartNumber
product2.PartNumber = prefix & toto
titi = product2.Name
Product2.Name = prefix & titi
Next
'
End Sub
'
Pour faire comme la gestion des enregistrement il faut ouvrir les composants un par un les enregistrer individuellement puis les fermer.
l'erreur concernant le nom de l'instance est peut-être dût au fait que ton proct actif n'est pas en mode conception (DesignMode).
Une boucle Next comme ci-dessous est préférable : la macro ne traite que le product actif et non tous les composants chargés en session.
Sub CATMain()
'
Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument
'
Dim product1 As Product
Set product1 = productDocument1.Product
'
'passe le product actif en mode conception
product1.ApplyWorkMode DESIGN_MODE
'
Dim products1 As Products
Set products1 = product1.Products
'
'Scan tous les composants du product actif
For i = 1 to products1.Count
Set product2 = products1.Item(i)
'
toto = product2.PartNumber
product2.PartNumber = prefix & toto
titi = product2.Name
Product2.Name = prefix & titi
Next
'
End Sub
'
Pour faire comme la gestion des enregistrement il faut ouvrir les composants un par un les enregistrer individuellement puis les fermer.
tuxmickmac- actif
- Messages : 25
Date d'inscription : 14/09/2010
Age : 49
Localisation : nord
Re: Section programmation CatScript, VBA, VB.NET...
Salut !
Merci Mick pour ce bout de programme. En fait, il renomme bien l'instance des produits du produits principal, cependant il y a quelques erreurs :
- le produit principal n'est pas renommé,
- les parts qui composent les sous-produits ne sont pas non plus affectées
Par contre c'est vrai, je n'avais pas fait attention que
J'ai réussi à condenser nos deux programmes pour faire quelques chose qui marche pile comme je voudrais, mais qui obligerait l'utilisateur à fermer tous les fichiers qu'il ne veut pas renommer... Je sais pas si je ne vais pas tenter autre chose, car ça me parait un poil contraignant, non ?
Pour les enregistrements, je vais plancher dessus juste après, je vous tiendrai au courant.
Ludo
Merci Mick pour ce bout de programme. En fait, il renomme bien l'instance des produits du produits principal, cependant il y a quelques erreurs :
- le produit principal n'est pas renommé,
- les parts qui composent les sous-produits ne sont pas non plus affectées
Par contre c'est vrai, je n'avais pas fait attention que
- Code:
For Each ProductDocument In CATIA.Documents
J'ai réussi à condenser nos deux programmes pour faire quelques chose qui marche pile comme je voudrais, mais qui obligerait l'utilisateur à fermer tous les fichiers qu'il ne veut pas renommer... Je sais pas si je ne vais pas tenter autre chose, car ça me parait un poil contraignant, non ?
Pour les enregistrements, je vais plancher dessus juste après, je vous tiendrai au courant.
Ludo
Threedots- Fédérateur
- Messages : 617
Date d'inscription : 16/09/2010
Age : 36
Localisation : Toulouse
Re: Section programmation CatScript, VBA, VB.NET...
Je vous met le code quand même... Je rappelle comment il est utilisé : un userform avec une textbox1 et un bouton (CommandButton1).
Voilou
- Code:
Private Sub CommandButton1_Click()
'
'Déclaration de la variable 'prefix'
Dim prefix As String
'
'Vérification que 'prefix' n'est pas égale à la valeur par défaut
If TextBox1.Value = "XXX_AAMMJJ_" Then
MsgBox ("The prefix has not been chosen. Please don't let the default value.")
Exit Sub
Else
prefix = TextBox1.Value
End If
'
'Ici il faut insérer des msgbox ou userform pour avertir l'utilisateur de fermer les autres documents
For Each ProductDocument In CATIA.Documents
'
'Une erreur apparait à la fin du programme, bien que celui-ci se soit executé correctement... Enlevez "On Error..." pour voir d'où ça vient, je ne pense pas que ce soit trop grave
On Error Resume Next
'
Set Product = ProductDocument.Product
'
'Ici on renomme le PartNumber : permet d'atteindre le produit principal
Product.PartNumber = prefix & Product.PartNumber
'
Product.ApplyWorkMode DESIGN_MODE
Dim products1 As Products
Set products1 = Product.Products
'
'Boucle permettant de renommer l'instance
For i = 1 To products1.Count
Set Product2 = products1.Item(i)
'
merci_mick = Product2.Name
Product2.Name = prefix & merci_mick
'
Next
'
Next ProductDocument
'
Unload Me
'
End Sub
Voilou
Dernière édition par Threedots le Mar 28 Sep 2010 - 17:25, édité 1 fois (Raison : Yavais une ligne en commentaire alors qu'elle ne devais pas y être (commentée pour tests ^^))
Threedots- Fédérateur
- Messages : 617
Date d'inscription : 16/09/2010
Age : 36
Localisation : Toulouse
Re: Section programmation CatScript, VBA, VB.NET...
Merci de mettre ton code source à disposition!!!
Bravo à vous!!
Bravo à vous!!
gautier2305- Fédérateur
- Messages : 412
Date d'inscription : 02/09/2010
Age : 38
Localisation : Carvin(62)
Re: Section programmation CatScript, VBA, VB.NET...
Pour ouvrir un composant et le sauvegarder :
- Code:
Set documents10 = CATIA.Documents
'
Set titi = productC.ReferenceProduct
set lepar = titi.parent
REF = lepar.fullname
Set productDocument10 = documents10.Open(REF)
Set productDocument10 = CATIA.ActiveDocument
productDocument10.SaveAs "C:\Documents and Settings\mapart.CATPart"
productDocument10.Close
tuxmickmac- actif
- Messages : 25
Date d'inscription : 14/09/2010
Age : 49
Localisation : nord
Re: Section programmation CatScript, VBA, VB.NET...
pour désactiver les alertes catia du style :"voulez vous vraiment écraser..."
- Code:
Sub CATMain()
CATIA.DisplayFileAlerts = False
.......
.......
........
CATIA.DisplayFileAlerts = True
End Sub
tuxmickmac- actif
- Messages : 25
Date d'inscription : 14/09/2010
Age : 49
Localisation : nord
Re: Section programmation CatScript, VBA, VB.NET...
Bien le bonsoir,
Bon finalement je vais rester sur un truc un peu dangereux, mais comme ya que moi qui vais utiliser ça ici, j'essayerais de faire attention ^^'
Ca va se faire en :
- Gestion des enregistrement à la mano, propagation de répertoire (même si ça met tous les fichiers pèle-mèle dans un répertoire, c'est pour un sauvegarde donc...)
- Macro de renommage présentée précédemment, en faisant gaffe de ne garder en session que ce que l'on veut renommer...
Après, il y a possibilité de faire quelque chose de plus optimisé et plus propre, mais il me manque du temps et des compétences... J'essayerais de l'optimiser dans les temps creux...
Bonne soirée !
Ludo
PS : le programme présenté fonctionne bien, mais a un comportement un peu étrange : dans ses boucles, tout n'est pas très net (en mettant des msgbox pour vérifier l'état de variables, on voit qu'il y a un drôle de cheminement...). Mais à consommer sans modérations ! ! ^^
Bon finalement je vais rester sur un truc un peu dangereux, mais comme ya que moi qui vais utiliser ça ici, j'essayerais de faire attention ^^'
Ca va se faire en :
- Gestion des enregistrement à la mano, propagation de répertoire (même si ça met tous les fichiers pèle-mèle dans un répertoire, c'est pour un sauvegarde donc...)
- Macro de renommage présentée précédemment, en faisant gaffe de ne garder en session que ce que l'on veut renommer...
Après, il y a possibilité de faire quelque chose de plus optimisé et plus propre, mais il me manque du temps et des compétences... J'essayerais de l'optimiser dans les temps creux...
Bonne soirée !
Ludo
PS : le programme présenté fonctionne bien, mais a un comportement un peu étrange : dans ses boucles, tout n'est pas très net (en mettant des msgbox pour vérifier l'état de variables, on voit qu'il y a un drôle de cheminement...). Mais à consommer sans modérations ! ! ^^
Threedots- Fédérateur
- Messages : 617
Date d'inscription : 16/09/2010
Age : 36
Localisation : Toulouse
Re: Section programmation CatScript, VBA, VB.NET...
Et au fait, encore merci pour tes idées Mick !
Mais chez moi l'ouverture des pièces et leur sauvegarde n'a pas très bien marché (j'ai eu du mal a cerner les différents arguments et à les utiliser... en fait ). Si tu pouvais expliciter plus...
Quand tu auras du temps, ça ne presse plus trop vu que je n'automatise pas cette étape, mais la curiosité l'emporte ^^
Mais chez moi l'ouverture des pièces et leur sauvegarde n'a pas très bien marché (j'ai eu du mal a cerner les différents arguments et à les utiliser... en fait ). Si tu pouvais expliciter plus...
Quand tu auras du temps, ça ne presse plus trop vu que je n'automatise pas cette étape, mais la curiosité l'emporte ^^
Threedots- Fédérateur
- Messages : 617
Date d'inscription : 16/09/2010
Age : 36
Localisation : Toulouse
Re: Section programmation CatScript, VBA, VB.NET...
Salut Ludo,
Perso j'utiliserai une vérif sur l'état de la sauvegarde :
Perso j'utiliserai une vérif sur l'état de la sauvegarde :
- Code:
CATIA.ActiveDocument.Saved
Re: Section programmation CatScript, VBA, VB.NET...
Salut,
Oui je viens de rechercher quelle était cet argument... Pourquoi pas dans une boucle if...
Mais bon, faut que j'avance sur autre chose, je n'ai pas le temps de m'y pencher plus sur le moment
A bientot,
Oui je viens de rechercher quelle était cet argument... Pourquoi pas dans une boucle if...
Mais bon, faut que j'avance sur autre chose, je n'ai pas le temps de m'y pencher plus sur le moment
A bientot,
Threedots- Fédérateur
- Messages : 617
Date d'inscription : 16/09/2010
Age : 36
Localisation : Toulouse
Ajout de paramètres en .NET
Bonjour à tous,
Mon problême est que je cherche à savoir comment rajouter un set de paramètre dans un corp de pièce défini. Mais déjà je me trouve comfronter à une erreur des les premières ligne.
Si quelqu'un pouvait m'aider ça serait top
Source : archi-tech.dyndns.org
Mon problême est que je cherche à savoir comment rajouter un set de paramètre dans un corp de pièce défini. Mais déjà je me trouve comfronter à une erreur des les premières ligne.
- Code:
Imports MECMOD
Imports INFITF
Module FunctionCATIA
Dim CATIA As INFITF.Application
Dim oDoc As Documents
Dim oPart As Part
Sub CatiaAjoutParametre(ByVal Name As String)
oDoc = CATIA.ActiveDocument
oPart = oDoc.Part
oPart.Parameters.CreateSetOfParameters(oDoc.Part.Parameters.RootParameterSet)
oPart.Parameters.CreateSetOfParameters(oPart.MainBody)
oPart.Update()
End Sub
End Module
Si quelqu'un pouvait m'aider ça serait top
Source : archi-tech.dyndns.org
Re: Section programmation CatScript, VBA, VB.NET...
j'ai presque réussi à te le faire sam, reste juste à lui dire dans quel body les mettre, je fais ca et je te le poste!
gautier2305- Fédérateur
- Messages : 412
Date d'inscription : 02/09/2010
Age : 38
Localisation : Carvin(62)
Page 2 sur 5 • 1, 2, 3, 4, 5
Sujets similaires
» Programmation avec CATScript
» Importation outil - catscript
» programmation sous catia v5 récupération de données
» Comment se former a la programmation de macro VBA pour CATIA
» Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT.
» Importation outil - catscript
» programmation sous catia v5 récupération de données
» Comment se former a la programmation de macro VBA pour CATIA
» Création de point sur segment de harnais sélectionné avec option extrémité en CATSCRIPT.
Page 2 sur 5
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum