Hallo,
Ich habe folgendes Problem. Ich will den Schwerpunkt und die Haupträgheitsachsen von allen Bodies innerhalb eines CATProducts ermitteln. Diese Werte sollen auf das "Absolute Axes System" von dem Hauptprodukt bezogen werden.
ich habe erstmals mit dem folgenden Code versucht.
Set Inertia = Inertias.Add(Body)
Inertia.GetPrincipalAxes Component
Inertia.GetCOGPosition Coord
Als Ergebnis bekomme ich diese Werte bezüglich des CATPart Systems und nicht des Hauptprodukt Systems. Als zweiter Versuch wurde mit einem "Referenz" (Product.CreateReferenceFromName)ausprobiert
MyRefName = Selection.Item(1).Value.Name
Set MyLeafProduct = Selection.Item(1).LeafProduct
MyRefName = MyLeafProduct.Name & "/!" & MyRefName
Set MyLeafProduct = MyLeafProduct.Parent.Parent
Do While MyLeafProduct.PartNumber <> Product.PartNumber
MyRefName = MyLeafProduct.Name & "/" & MyRefName
Set MyLeafProduct = MyLeafProduct.Parent.Parent
Loop
MyRefName = Product.PartNumber & "/" & MyRefName
Set MyRef = Product.CreateReferenceFromName(MyRefName)
Set TheMeasurable = TheSPAWorkbench.GetMeasurable(MyRef)
TheMeasurable.GetCOG Coord
Dies hat nur mit dem Schwerpunkt gut geklappt. Für die Hauptträgheitsachsen muss ich unbedingt die "Inertia Class" nutzen, und hier bekomme ich einen Fehler. Ich weiss nicht ob ich diese Referezen mit Inertia nutzen kann. Ich habe folgendes versucht
MyRefName = Selection.Item(1).Value.Name
Set MyLeafProduct = Selection.Item(1).LeafProduct
MyRefName = MyLeafProduct.Name & "/!" & MyRefName
Set MyLeafProduct = MyLeafProduct.Parent.Parent
Do While MyLeafProduct.PartNumber <> Product.PartNumber
MyRefName = MyLeafProduct.Name & "/" & MyRefName
Set MyLeafProduct = MyLeafProduct.Parent.Parent
Loop
MyRefName = Product.PartNumber & "/" & MyRefName
Set MyRef = Product.CreateReferenceFromName(MyRefName)
Set Inertia = Inertias.Add(MyRef)
Inertia.GetPrincipalAxes Component
Ich habe keine Fehlemeldung bei "Set Inertia = Inertias.Add(MyRef)" aber wenn ich versuche die Inertia Info zu ermitteln bekomme ich eine Fehlermeldung "The Method GetPrincipalAxes failed".
Ich arbeite mit vielen Bodies deswegen versuche ich einen schnellen Code zu haben. Gibts eine Möglichkeit um dieses Problem zu lösen, oder ich soll eine Transformation Matrix nutzen um die bisherige werte bezüglich des CATParts zu ändern
Vielen Dank und ich hoffe dass mein Deutsch verständlich war
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP