Bonjour a tous,
J'ai un petit probleme sur CATIA v5, j'ai deux objets pour lesquelles j'aimerais creer un point correspondant au centre d'inertie dans l'editeur de macros.
J'arrive a le faire pour mon premier objet, mais je n'arrive pas a le faire pour le second en passant le nom en parametre. (je suis vraiment debutant sur CATIA).
Voici ce que j'ai essayé:
Dim Koordinaten(2)
Dim Koordinaten1(2)
Dim myPoint As HybridShapePointCoord
Dim myPart As Part
Set myPart = CATIA.ActiveDocument.Part
Set Body = myPart.MainBody
Dim Wzk3D As HybridShapeFactory
Set Wzk3D = myPart.HybridShapeFactory
'Geometrisches Set erzeugen
Dim HBody As HybridBody
Set HBody1 = myPart.HybridBodies.Add
Set HBody2 = myPart.HybridBodies.Add
HBody1.Name = "Schwerpunkt_Flaeche"
HBody2.Name = "Schwerpunkt_Koerper"
Set SPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench" )
Ici je recupere le centre d'inertie de mon premier objet
Set Schwerpunkt = CATIA.ActiveDocument.product.GetTechnologicalObject("Inertia" )
Schwerpunkt.GetCOGPosition Koordinaten
Koordinaten(0) = Round(Koordinaten(0) * 1000, 3) ' in mm
Koordinaten(1) = Round(Koordinaten(1) * 1000, 3)
Koordinaten(2) = Round(Koordinaten(2) * 1000, 3)
MsgBox "Schwerpunkt: X = " & Koordinaten(0) & ", Y = " & Koordinaten(1) & " , Z = " & Koordinaten(2)
Dim Punkt As HybridShapePointCoord
Dim a, b, c As Double
a = Koordinaten(0)
b = Koordinaten(1)
c = Koordinaten(2)
Set Punkt = Wzk3D.AddNewPointCoord(a, b, c)
'Dim objekt As Selection
'Set objekt = myPart.CreateReferenceFromObject(Body)
Set objekt = CATIA.ActiveDocument.Selection
Ici j'aimerais recuperer l'objet dont le nom est Freischneiden-1 et recuperer son centre d'inertie
objekt.Search ("Name=Freischneiden-1,sel" )
Set Element = SPAWorkbench.GetMeasurable(objekt)
Element.GetCOG Koordinaten1
Koordinaten1(0) = Round(Koordinaten(0), 3) ' in mm
Koordinaten1(1) = Round(Koordinaten(1), 3)
Koordinaten1(2) = Round(Koordinaten(2), 3)
Dim Punkt1 As HybridShapePointCoord
Dim a1, b1, c1 As Double
a1 = Koordinaten1(0)
b1 = Koordinaten1(1)
c1 = Koordinaten1(2)
Set Punkt1 = Wzk3D.AddNewPointCoord(a1, b1, c1)
'Geometrie dem geometrischen Set zuweisen
HBody1.AppendHybridShape Punkt
HBody2.AppendHybridShape Punkt1
myPart.Update
En esperant que vous pouvez m'aider
Merci par avance
Matt