Aller au contenu

Problème de creation de macro sous V5R14


Messages recommandés

Posté(e)

Bonjour à tous,

 

Je fais un stage sous ce logiciel en ce moment et j'ai un probleme pour créer une macro. J'utilise l'outil d'enregistrement disponible sous catia. En fait je lance l'enregistrement, je crée une coupe, et au lieu de me le traduire en coupe dans le format vba il me le traduit en tant que couture.

Est- ce que vous savez d'où ça peut venir?

Sinon est-ce que vous connaissez la commande coupe en vba? (sachant que la commande couture est AddNewSewSurface(reference, catpositiveside)

 

Merci d'avance

A bientot

Posté(e)

Salut vinz69 !

 

 

A priori, tu travaille sur des surfaces et non sur des solides. Tu peux confirmer cela ?

 

Je viens d'essayer de reproduire ton pb mais l'enregistreur de macro n'enregistre que dalle (vbscript ou vba) dans les surfaces !!

Quelle version de Catia utilises-tu ?

Ciao :cool:

Posté(e)

Re salut !

 

 

Quel boulet ! Je viens de voir la version dans le titre de ton post :o :o

 

Une précision : je n'ai pas de module surfacique avancé mais uniquement le GSD de la config MD2. Peut-être que mon pb d'enregistrement vient de là....

 

D'après la doc (je ne suis pas spé des surfaces !), la méthode à utiliser serait AddNewSplit. A vérifier !

 

A propos de la doc, je te conseille de consulter la doc au format chtml, qui se trouve dans intel_a\code\bin\V5Automation.chm.

 

Bon courage !

Ciao :cool:

Posté(e)

Bonjour,

 

Oui en fait j'utilise le mode surfacique pour créer une surface à partir de trois spline, je réalise un remplissage (toujours en surfacique) et après je repasse en volumique pour faire une coupe.

Dans tous les cas je vais essayer ce que tu m'as conseillé et je te tiens au courant.

Merci

A bientot

Posté(e)

Re bonjour,

 

C'est bon ça marche. Je te remercie 8pool la fonction addnewsplit m'a bien aidé.

 

J'ai un autre probleme maintenant. Je souhaite faire un copier d'un corp d'un doc1 pour faire un colage spécial ds un doc2. En fait je procède comme suit:

- je suis dans doc2, je lance l'enregistrement.

- j'ouvre doc1, je fais mon copier du corps qui m'interesse.

- je reviens dans doc1 en faisant fenetre/doc1.

- et enfin je fais mon colage spécial en tant que résultat avec lien.

 

Le probleme est qu'en fait il ne me code pas la derbière partie. En fait le code réalise la copie du corps puis le changement de fenetre mais ne rend pas la nouvelle fenetre(doc2) réellement active et donc qd il veut faire le collage spécial il le fait dans le mauvais document, soit doc1.

 

Je voudrais savoir s'il y a un code pour forcer la fenetre active en tant que document actif?

Merci d'avance

  • 2 semaines après...
Posté(e)

Bonjour,

 

J'ai une autre question. Je cherche à faire une boite de dialogue pour ouvrir un fichier toujours dans ma macro sous catia. Il me semble qu'en visual basic il existe une fonction Openfiledialog qui ouvre une boite de dialogue pour faire ça. Est-ce que vous savez comment je pourrais réaliser la même chose au sein de ma macro en VBA?

 

Merci d'avance

A bientot

Posté(e)

Je viens de trouver la solution. Je la donne donc au cas où quelqu'un d'autre en aurait besoin.

En fait il faut utiliser la commande CATIA.fileselectionbox

 

Maintenant, désolé de vous embéter encore mais j'aurais une autre question. Je vous mets la partie du code en question:

 

Sub CATMain()

 

Dim documents1 As Documents

Set documents1 = CATIA.Documents

 

Dim productDocument1 As ProductDocument

Set productDocument1 = documents1.Add("Product")

 

Dim product1 As Product

Set product1 = productDocument1.Product

 

Dim products1 As Products

Set products1 = product1.Products

 

OuvertureBlocINF.Show

 

Dim arrayOfVariantOfBSTR1(0)

arrayOfVariantOfBSTR1(0) = cheminINF

Set products1Variant = products1

products1Variant.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All"

 

Dim partDocument1 As PartDocument

Set partDocument1 = documents1.Item [surligneur] ("INF.CATPart")[/surligneur]

 

Dim product2 As Product

Set product2 = partDocument1.GetItem(1)

 

product2.PartNumber = "INF"

 

OuvertureBlocSUP.Show

 

Dim arrayOfVariantOfBSTR2(0)

arrayOfVariantOfBSTR2(0) = cheminSUP

Set products1Variant = products1

products1Variant.AddComponentsFromFiles arrayOfVariantOfBSTR2, "All"

 

Dim partDocument2 As PartDocument

Set partDocument2 = documents1.Item [surligneur] ("SUP.CATPart")[/surligneur]

 

Dim product3 As Product

Set product3 = partDocument2.GetItem(2)

 

product3.PartNumber = "SUP"

 

end sub

 

 

Mon problème est que je ne peut intégrer à ce product que des pièces qui auraient exactement le nom INF.CATPart et SUP.CATPart.

Hors je souhaiterais pouvoir intégrere n'importe quelle" pièce. Que dois-je faire?

 

Je remercie ceux qui ont lu jusqu'à la fin, en espérant que vous pourrez m'aider.

A bientot

 

[Edité le 27/7/2006 par vinz369]

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité