CATIA V5 | 3DEXPERIENCE
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G ...
Voir le deal
599 €

Lancer Optimisation à partir d'une macro

2 participants

Aller en bas

R?solu Lancer Optimisation à partir d'une macro

Message par Saïf'ty Mer 18 Juin 2014 - 16:38

Bonjour,

j'aimerai savoir comment lancer plusieurs optimisations à la suite, grâce à une macro.

L'optimisation est déjà entièrement paramétrée. Je me sert de la fonction optimizer de CATIA. J'ai déjà codé (très simplement) comment trouver la bonne optimisation dans mon arbre et faire la boucle. Ce que je voudrai maintenant c'est la lancer. en gros remplacer le clique de la souris sur "Run Optimization".

Quelqu'un à une idée?

Ci-dessous le début de mon code :

Sub Launch_optim()

Dim analysisDocument1 As AnalysisDocument
Dim selection1 As Selection
Dim analysisManager1 As AnalysisManager
Dim analysisModels1 As AnalysisModels

Set analysisDocument1 = CATIA.ActiveDocument
Set analysisManager1 = analysisDocument1.Analysis
'checkname = analysisManager1.Name

Set analysisModels1 = analysisManager1.AnalysisModels

For i = 2 To 12
   Set optim1 = analysisManager1.Relations.Optimizations.Item(i) 'selecting the optimization function already set up
   'checkname = optim1.Name 'for debugging only, used to verify the name of the optimization currently selected
   'ici je voudrais mettre un code du genre : "optim1.run"    
Next

End Sub

En vous remerciant Very Happy

Charly


Dernière édition par Saïf'ty le Lun 23 Juin 2014 - 14:08, édité 1 fois

Saïf'ty
actif
actif

Messages : 32
Date d'inscription : 11/01/2013
Localisation : La Rochelle

Revenir en haut Aller en bas

R?solu Re: Lancer Optimisation à partir d'une macro

Message par Guss_ Ven 20 Juin 2014 - 17:22

Je pige pas trop ce que tu veux, à un moment ou un autre il faut fatalement que tu cliques sur un bouton pour lancer la macro. (elle ne se lancera pas même si tu y pense très fortement ...)

Guss_
Admin
Admin

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

Revenir en haut Aller en bas

R?solu Re: Lancer Optimisation à partir d'une macro

Message par Saïf'ty Lun 23 Juin 2014 - 10:05

Oui, c'est pas le problème.

Au début de mon code je clique sur un bouton pour le lancer. Ce que je voudrais, c'est la ligne de commande qui permait de lancer des optimisation à partir d'une macro. les optimisations se trouvent dans le module "Product Engineering Optimizer".

Saïf'ty
actif
actif

Messages : 32
Date d'inscription : 11/01/2013
Localisation : La Rochelle

Revenir en haut Aller en bas

R?solu Re: Lancer Optimisation à partir d'une macro

Message par Guss_ Lun 23 Juin 2014 - 11:25

Je n'ai jamais utilisé le module d'optimisation alors je ne pourrait te dire exactement, mais uniquement des idées.

As tu essayé l'enregistreur de macros en lançant une optimisation pour voir les lignes de code que ça exécuterait, dans la cas ou l'enregistreur capture ça ?

Guss_
Admin
Admin

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

Revenir en haut Aller en bas

R?solu Re: Lancer Optimisation à partir d'une macro

Message par Saïf'ty Lun 23 Juin 2014 - 12:47

Oui, mais il n'enregistre pas cette partie. J'ai trouvé dans la documentation CATIA/VBA un paragraphe qui dit un truc du genre :

Sub Run()
Permet de lancer une optimisation, avec les parametres définis plus tôt.

Mais pas d'autres explications...

Merci pour ton aide Wink

Saïf'ty
actif
actif

Messages : 32
Date d'inscription : 11/01/2013
Localisation : La Rochelle

Revenir en haut Aller en bas

R?solu Re: Lancer Optimisation à partir d'une macro

Message par Guss_ Lun 23 Juin 2014 - 13:33

J'ai jette un œil à ton code

Code:

Sub Launch_optim()

Dim analysisDocument1 As AnalysisDocument
Dim selection1 As Selection
Dim analysisManager1 As AnalysisManager
Dim analysisModels1 As AnalysisModels

Set analysisDocument1 = CATIA.ActiveDocument
Set analysisManager1 = analysisDocument1.Analysis
'checkname = analysisManager1.Name

Dim optim1 As Optimization



Set analysisModels1 = analysisManager1.AnalysisModels

For i = 2 To 12
   Set optim1 = analysisManager1.Relations.Optimizations.Item(i) 'selecting the optimization function already set up
   'checkname = optim1.Name 'for debugging only, used to verify the name of the optimization currently selected
   'ici je voudrais mettre un code du genre : "optim1.run"    
Next

End Sub

J'ai a jouté la ligne
Dim optim1 As Optimization
qui permet de definir  optim1 comme objet optimistion et finalement de voir la listes des méthodes et propriétés lié.

Dans la liste on a bien "run"
du coup ça te dis quoi justement lorsque tu fais
"optim1.run"
?

Guss_
Admin
Admin

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

Revenir en haut Aller en bas

R?solu Re: Lancer Optimisation à partir d'une macro

Message par Saïf'ty Lun 23 Juin 2014 - 14:08

Super ! çà a fonctionné!

erreur très très bête, j'ai simplement pas déclarer optim1 comme tu l'as fait.

Merci ! je mets le post comme résolu!

Saïf'ty
actif
actif

Messages : 32
Date d'inscription : 11/01/2013
Localisation : La Rochelle

Revenir en haut Aller en bas

R?solu Re: Lancer Optimisation à partir d'une macro

Message par Guss_ Lun 23 Juin 2014 - 15:01

cool Wink

Guss_
Admin
Admin

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

Revenir en haut Aller en bas

R?solu Re: Lancer Optimisation à partir d'une macro

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