Aller au contenu

galak82

Membres
  • Compteur de contenus

    1
  • Inscription

  • Dernière visite

galak82's Achievements

Newbie

Newbie (1/14)

0

Réputation sur la communauté

  1. A l'aide d'une macro, je simule le taillage d'un engrenage à l'aide d'une boucle for. A chaque itération, il y a un retrait d'une cremailere, copie de solide mort, collage, et ainsi de suite. Comme je fais mini 100 itérations, j'ai créé un UserForm pour définir le nombre d'itérations souhaité (la macro mange beaucoup de puissance si on enf ait trop) et un Label dans ce UserForm pour afficher régulièrement le nombre d'itérations réalisées. Le problème c'est que je n'arrive pas a mettre à jour l'affichage, que ce soit celui du CATProduct ou de la UserForm, du coup. j'ai essayé de définir un viewer et de faire une update mais ça ne marche pas et je ne vois pas trop comment faire d'autre... Pouvez vous m'aider SVP? Merci Voici le texte de ma macro Dim n As Integer Dim t As Integer Dim plateau As Product Dim DocCrem As PartDocument Dim CremPpalBody As Body Dim ProdCrem As Product Dim ProdRoue As Product Dim documentroue As Document Dim partroue As Part Dim MyViewer As Viewer Sub CATMain() Interface.Show End Sub Sub Affichage() Set MyViewer = CATIA.ActiveWindow.ActiveViewer Interface.LabelProg = t MyViewer.Update End Sub Sub Simulation() n = CInt(Interface.IterBox.Text) Pas = 42 / n Set plateau = CATIA.ActiveDocument.Product Set DocCrem = CATIA.Documents.Item("cremaillere.CATPart") Set CremPpalBody = DocCrem.Part.Bodies.Item("Corps principal") Set ProdCrem = plateau.Products.Item("Cremaillere.1") Set ProdRoue = plateau.Products.Item("roue.1") Set documentroue = CATIA.Documents.Item("roue.CATPart") Set partroue = documentroue.Part For k = 1 To n t = k 'Incrementation angle plateau.Parameters.Item("Theta").Value = plateau.Parameters.Item("Theta").Value + Pas plateau.Update 'Retrait de la cremaillere de la roue Dim retrait As AssemblyBoolean Set retrait = plateau.GetTechnologicalObject("AssemblyFeatures").AddAssemblyRemove(CremPpalBody, ProdCrem, ProdRoue) retrait.AddAffectedComponent ProdRoue plateau.Update Dim bodyroue As Body Set bodyroue = documentroue.Part.Bodies.Item(2) 'Copie de la nouvelle roue taillée et collage en tant que solide mort With CATIA.ActiveDocument.Selection .Clear .Add bodyroue .Copy .Clear .Add partroue .PasteSpecial ("CATPrtResultWithOutLink") .Clear End With plateau.Update Dim assemblyFeats As AssemblyFeatures Set assemblyFeats = plateau.GetTechnologicalObject("AssemblyFeatures") 'Effacement de la fonction d'assemblage créée lors du retrait assemblyFeats.Remove (assemblyFeats.Count) 'Suppression de l'ancienne roue With CATIA.ActiveDocument.Selection .Clear .Add documentroue.Part.Bodies.Item(2) .Add documentroue.Part.Bodies.Item(2) .Delete End With If k = n / 2 Then Affichage Else End If plateau.Update Next End Sub
×
×
  • 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é