Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1782 connectés 

  FORUM HardWare.fr
  Graphisme
  Infographie 3D

  Utilisation de macro sous CATIA V5

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utilisation de macro sous CATIA V5

n°1180354
puravidagu​y
Posté le 06-04-2017 à 15:07:14  profilanswer
 

Bonjour à tous,
 
Etant nouveau, j'espère que ma question sera adaptée au style de ce forum.
 
Je travaille beaucoup sur CATIA V5 et je cherche à améliorer mes talents de "programmeur" en faisant appel aux macros (et donc au VBA) sur CATIA. Cependant, ce n'est pas chose facile et je fais donc appel à vos conseils.
 
Je souhaiterais comprendre comment faire pour paramétrer une fonction de CATIA. Je m'explique. Sous le module générative shape design, j'aimerais pouvoir, après utilisation de la macro, faire appel à la fonction "création de sphères". Une boîte de dialogue devrait apparaître en demandant à l'utilisateur le rayon de la sphère mini et le rayon de la sphère maxi voulu, et un calcul automatique (interne à la macro) se ferai pour calculer le pas idéal à avoir entre ces deux valeurs pour avoir un total de 40 sphères.  
 
La macro générerait donc les 40 sphères automatiquement et par ordre croissant suivant le repère standard de CATIA.
 
Je ne sais absolument pas par où commencer, je suis débutant en VBA... Je suis donc preneur de tout commentaire ou aide! Si ma demande est confuse n'hésitez pas à me poser des questions pour plus de détails, je me ferai un plaisir d'y répondre.
 
Au plaisir de discuter à vous.
 
Cordialement,
 
PuraVidaGuy

mood
Publicité
Posté le 06-04-2017 à 15:07:14  profilanswer
 

n°1180355
TotalRecal​l
Posté le 06-04-2017 à 15:48:35  profilanswer
 

Ce sujet a été déplacé de la catégorie Hardware vers la categorie Graphisme par TotalRecall


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°1180379
ptittom
Posté le 10-04-2017 à 13:25:26  profilanswer
 

Bonjour,
 
Ta macro semble assez facile sur le papier. Je te conseilles de passer par le macro recorder pour enregistrer le code produisant une sphère et l'adapter pour en produire 40 de rayons différents.
 
Macro Recorder: Tools > Macros > Start recording. ensuite Créer une sphère et appuyer sur le bouton stop. Penser à indiquer de créer directement du code VBA.
 
Au final, ca ressemblera à ca. Pour le moment, il n'y a pas de controle sur les entrées utilisateur, la présence ou non des éléments dans la part, etc.
 

Public part As part
 
 
Sub CATMain()
 
Dim partDocument As partDocument
Dim hybridBodies1 As HybridBodies
Dim TargetBody As HybridBody
Dim hybridShapes1 As HybridShapes
 
Set partDocument = CATIA.ActiveDocument
Set part = partDocument.part
Set hybridBodies1 = part.HybridBodies
Set TargetBody = hybridBodies1.Item("Geometrical Set.1" )
 
Set hybridShapes1 = TargetBody.HybridShapes
 
Dim CenterPoint As HybridShapePointCoord
Set CenterPoint = hybridShapes1.Item("CenterPoint" )
 
Dim RefPoint As Reference
Set RefPoint = part.CreateReferenceFromObject(CenterPoint)
 
Dim axisSystem1 As AxisSystem
Set axisSystem1 = part.AxisSystems.Item(1)
 
Dim RefAxisSystem As Reference
Set RefAxisSystem = part.CreateReferenceFromObject(axisSystem1)
 
Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part.HybridShapeFactory
 
Dim LowerLimit As Double
Dim UpperLimit As Double
 
LowerLimit = CDbl(InputBox("Input the lower radius", "Lower radius" ))
UpperLimit = CDbl(InputBox("Input the upper radius", "Upper radius" ))
 
Dim I As Integer
Dim Step As Double
Step = (UpperLimit - LowerLimit) / (20 - 1)
Dim CurrentRadius As Double
For I = 0 To 20 - 1
    CurrentRadius = LowerLimit + I * Step
    CreateSphere RefPoint, RefAxisSystem, CurrentRadius, TargetBody
Next
 
 
 
End Sub
 
Sub CreateSphere(RefCenterPoint As Reference, RefAxisSystem, Radius, TargetGeometricalSet As HybridBody)
    Dim hybridShapeFactory1 As HybridShapeFactory
    Set hybridShapeFactory1 = part.HybridShapeFactory
     
    Dim hybridShapeSphere1 As HybridShapeSphere
    Set hybridShapeSphere1 = hybridShapeFactory1.AddNewSphere(RefCenterPoint, RefAxisSystem, Radius, -45#, 45#, 0#, 180#)
    hybridShapeSphere1.Limitation = 1
    TargetGeometricalSet.AppendHybridShape hybridShapeSphere1
    hybridShapeSphere1.Name = "Sphere_" & Radius
    part.UpdateObject hybridShapeSphere1
     
End Sub


Message édité par ptittom le 10-04-2017 à 13:46:35
n°1180604
puravidagu​y
Posté le 12-05-2017 à 11:09:51  profilanswer
 

Bonjour ptittom,
 
Désolé de ne répondre que maintenant, je n'avais pas vu que tu avais répondu. Je te remercie pour tes conseils, après quelques essais j'ai réussi à faire exactement ce que je voulais, et en effet l'outil recording est vraiment très utile.
 
Merci encore!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Graphisme
  Infographie 3D

  Utilisation de macro sous CATIA V5

 

Sujets relatifs
Quelle tablette pour utilisation nomade ?CATIA Perte de traits d'esquisse au passage 3D
Perte des trais d'esquisse au passage 3D sur CATIA V5Utilisation du matériaux blend sur 3ds max 2015
Pouvoir comparer une image photo avec une vue 3D Catia[CATIA v5 VBA] Adapter le UserForm a la taille de la fenetre
VBA CATIA: icone dans barre d'outil pour appeler macro ne marche pas 
Plus de sujets relatifs à : Utilisation de macro sous CATIA V5



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR