Hallo liebe cad gemeinde
versuch mich gerade mit Catia-Makro Programmierung(VBSCRIPT).
In meinem Makro kopiere ich ein Geometrisches Set von einem Produkt in ein anderes dabei geht die Referenz der Rotationsachse einer Ebene verloren. Wie kann ich diese neu vergeben. Bzw Den Benutzer eine Achse auswählen lassen und diese dan als Rotationsachse definieren.
wär klasse wenn mir jemand weiter helfen könnte hab beim durchstöbern des Forums leider noch nix gefunden.
Language="VBSCRIPT"
Sub CATMain()
'//////////////////////////////////AS-Skelett auswählen
Dim Was4(0)
Was4(0) = "AnyObject"
Set UserSel = CATIA.ActiveDocument.Selection
UserSel.Clear
ASSK = UserSel.SelectElement2(Was4, "Bitte Selektieren sie das AS-Skelett des neuen Produkts", False)
Set ASSK = UserSel.Item(1).Value
DIM ASSKname
ASSKName = CStr(ASSK.Name & ".CATPart")
'///////////////////////////////////Ebene auswählen
Dim Was8(0)
Was8(0) = "AnyObject"
Set UserSel = CATIA.ActiveDocument.Selection
UserSel.Clear
Winkel = UserSel.SelectElement2(Was8, "Bitte Selektieren sie die Winkel-Richtung-Oben_Unten-Ebene.", False)
Set Winkel= UserSel.Item(1).Value
Dim WinkelName
WinkelName = Winkel.Name
'/////////////////////////////////////////Rotationsachse auswählen
Dim Was9(0)
Was9(0) = "AnyObject"
Set UserSel = CATIA.ActiveDocument.Selection
UserSel.Clear
Rotationsachse = UserSel.SelectElement2(Was9, "Bitte Selektieren sie die Rotationsachse.", False)
Set Rotationsachse = UserSel.Item(1).Value
Dim RotationsachseName
RotationsachseName =Rotationsachse.Name
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Item(ASSKName)
Set part1 = partDocument1.Part
Set originElements1 = part1.OriginElements
Set hybridShapePlaneExplicit1 = originElements1.PlaneZX
Set reference1 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)
Set hybridBodies1 = part1.HybridBodies
Set hybridBody1 = hybridBodies1.Item("Schieber_links")
Set hybridShapes1 = hybridBody1.HybridShapes
Set hybridShapeLineExplicit1 = hybridShapes1.Item(Rotationsachse) ' hier zeigt er mir immer einen Fehler auf ;(
Set reference2 = part1.CreateReferenceFromObject(hybridShapeLineExplicit1)
Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridShapePlaneAngle1 = hybridShapeFactory1.AddNewPlaneAngle(reference1, reference2, 0.000000, False)
hybridShapePlaneAngle1.ProjectionMode = False
hybridBody1.AppendHybridShape hybridShapePlaneAngle1
part1.InWorkObject = hybridShapePlaneAngle1
part1.Update
End Sub
[Diese Nachricht wurde von Scipio am 10. Mai. 2010 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP