Language="VBSCRIPT" Sub CATMain() Dim Was(0) Dim UserSel As Selection Dim Punktauswahl As CATBSTR '----- Userabfrage Name Name = InputBox("Bitte die Zusatzbezeichnung des Punktes angeben") '----- Basispunkt wähöen Was(0) = "Point" Set UserSel= CATIA.ActiveDocument.Selection UserSel.Clear Punktauswahl = UserSel.SelectElement2(Was, "Bitte den Basispunkt auswählen!", False) UserSel.Item(1).Value.Name = "PKT_" & Name PKT_Name = UserSel.Item(1).Value.Name Set PKT_Wert = UserSel.Item(1).Value 'msgbox PKT_Name '----- Dateiname suchen Datei_Name = UserSel.Item(1).Value.Parent.Parent.Parent.Parent.Parent.Name 'msgbox Datei_Name '----- Geo-Set-Name suchen Geo_Set = UserSel.Item(1).Value.Parent.Parent.Name 'msgbox Geo_Set '----- Achsensystem wählen Was(0) = "AxisSystem" Set UserSel= CATIA.ActiveDocument.Selection UserSel.Clear Punktauswahl = UserSel.SelectElement2(Was, "Bitte das Achsensystem auswählen!", False) UserSel.Item(1).Value.Name = "AXS_" & Name AXS_Name = UserSel.Item(1).Value.Name Set AXS_Wert = UserSel.Item(1).Value 'msgbox AXS_Name '----- Achsen-Linien zeichnen Dim documents1 As Documents Set documents1 = CATIA.Documents Dim partDocument1 As Document Set partDocument1 = documents1.Item(Datei_Name) Dim part1 As Part Set part1 = partDocument1.Part Dim hybridBodies1 As HybridBodies Set hybridBodies1 = part1.HybridBodies Dim hybridBody1 As HybridBody Set hybridBody1 = hybridBodies1.Item(Geo_Set) Dim hybridShapes1 As HybridShapes Set hybridShapes1 = hybridBody1.HybridShapes Dim hybridShapePointCoord1 As HybridShape Set hybridShapePointCoord1 = hybridShapes1.Item(PKT_Name) Dim Ref_Null As Reference Set Ref_Null = part1.CreateReferenceFromObject(hybridShapePointCoord1) Dim hybridShapeFactory1 As Factory Set hybridShapeFactory1 = part1.HybridShapeFactory Dim axisSystem1 As AxisSystem ' No resolution found for the object axisSystem1... '----- X-Achse Dim Ref_X As Reference Set Ref_X = part1.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(" & AXS_Name & ";1);None:();Cf11:());Face:(Brp:(" & AXS_Name & ";3);None:();Cf9:());None:(Limits1:();Limits2:());Cf9:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR14)", AXS_Wert) Dim hybridShapeDirection1 As HybridShapeDirection Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirection(Ref_X) Dim hybridShapeLinePtDir1 As HybridShapeLinePtDir Set hybridShapeLinePtDir1 = hybridShapeFactory1.AddNewLinePtDir(Ref_Null , hybridShapeDirection1, 25.000000, -25.000000, False) hybridBody1.AppendHybridShape hybridShapeLinePtDir1 part1.InWorkObject = hybridShapeLinePtDir1 hybridShapeLinePtDir1.Name = "X-Achse_" & Name '----- Y-Achse Dim Ref_Y As Reference Set Ref_Y = part1.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(" & AXS_Name & ";2);None:();Cf11:());Face:(Brp:(" & AXS_Name & ";1);None:();Cf9:());None:(Limits1:();Limits2:());Cf9:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR14)", AXS_Wert) Dim hybridShapeDirection2 As HybridShapeDirection Set hybridShapeDirection2 = hybridShapeFactory1.AddNewDirection(Ref_Y) Dim hybridShapeLinePtDir2 As HybridShapeLinePtDir Set hybridShapeLinePtDir2 = hybridShapeFactory1.AddNewLinePtDir(Ref_Null , hybridShapeDirection2, 25.000000, -25.000000, False) hybridBody1.AppendHybridShape hybridShapeLinePtDir2 part1.InWorkObject = hybridShapeLinePtDir2 hybridShapeLinePtDir2.Name = "Y-Achse_" & Name '----- Z-Achse Dim Ref_Z As Reference Set Ref_Z = part1.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(" & AXS_Name & ";3);None:();Cf11:());Face:(Brp:(" & AXS_Name & ";2);None:();Cf9:());None:(Limits1:();Limits2:());Cf9:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR14)", AXS_Wert) Dim hybridShapeDirection3 As HybridShapeDirection Set hybridShapeDirection3 = hybridShapeFactory1.AddNewDirection(Ref_Z) Dim hybridShapeLinePtDir3 As HybridShapeLinePtDir Set hybridShapeLinePtDir3 = hybridShapeFactory1.AddNewLinePtDir(Ref_Null , hybridShapeDirection3, 25.000000, -25.000000, False) hybridBody1.AppendHybridShape hybridShapeLinePtDir3 part1.InWorkObject = hybridShapeLinePtDir3 hybridShapeLinePtDir3.Name = "Z-Achse_" & Name part1.Update '----- Plane's zeichnen Dim Ref_PLN_X As Reference Dim Ref_PLN_Y As Reference Dim Ref_PLN_Z As Reference Set Ref_PLN_X= part1.CreateReferenceFromObject(hybridShapeLinePtDir1) Set Ref_PLN_Y = part1.CreateReferenceFromObject(hybridShapeLinePtDir2) Dim hybridShapePlane2Lines1 As HybridShapePlane2Lines Set hybridShapePlane2Lines1 = hybridShapeFactory1.AddNewPlane2Lines(Ref_PLN_X, Ref_PLN_Y) hybridBody1.AppendHybridShape hybridShapePlane2Lines1 part1.InWorkObject = hybridShapePlane2Lines1 hybridShapePlane2Lines1.Name = "XY-Plane_" & Name Set Ref_PLN_Y= part1.CreateReferenceFromObject(hybridShapeLinePtDir2) Set Ref_PLN_Z = part1.CreateReferenceFromObject(hybridShapeLinePtDir3) Dim hybridShapePlane2Lines2 As HybridShapePlane2Lines Set hybridShapePlane2Lines2 = hybridShapeFactory1.AddNewPlane2Lines(Ref_PLN_Y, Ref_PLN_Z) hybridBody1.AppendHybridShape hybridShapePlane2Lines2 part1.InWorkObject = hybridShapePlane2Lines1 hybridShapePlane2Lines2.Name = "YZ-Plane_" & Name Set Ref_PLN_Z= part1.CreateReferenceFromObject(hybridShapeLinePtDir3) Set Ref_PLN_X = part1.CreateReferenceFromObject(hybridShapeLinePtDir1) Dim hybridShapePlane2Lines3 As HybridShapePlane2Lines Set hybridShapePlane2Lines3 = hybridShapeFactory1.AddNewPlane2Lines(Ref_PLN_Z, Ref_PLN_X) hybridBody1.AppendHybridShape hybridShapePlane2Lines3 part1.InWorkObject = hybridShapePlane2Lines1 hybridShapePlane2Lines3.Name = "ZX-Plane_" & Name part1.Update '----- Einfärben Dim Selection1 As Selection Set Selection1 = partDocument1.Selection Selection1.Clear Selection1.Add hybridShapeLinePtDir1 Selection1.Add hybridShapePlane2Lines2 Selection1.VisProperties.SetVisibleColor 0,0,255,0 Selection1.VisProperties.SetRealWidth 2, 0 Selection1.Clear Selection1.Add hybridShapeLinePtDir2 Selection1.Add hybridShapePlane2Lines3 Selection1.VisProperties.SetVisibleColor 255,0,255,0 Selection1.VisProperties.SetRealWidth 2, 1 Selection1.Clear Selection1.Add hybridShapeLinePtDir3 Selection1.Add hybridShapePlane2Lines1 Selection1.VisProperties.SetVisibleColor 0,128,0,0 Selection1.VisProperties.SetRealWidth 3, 0 selection1.Clear '----- Achsensystem verdecken Dim visPropertySet1 As VisPropertySet Set visPropertySet1 = selection1.VisProperties selection1.Add AXS_Wert Set visPropertySet1 = visPropertySet1.Parent visPropertySet1.SetShow 1 selection1.Clear '----- Punktform ändern selection1.Add PKT_Wert Selection1.VisProperties.SetVisibleColor 128,255,255,0 Selection1.VisProperties.SetSymbolType 4 selection1.Clear End Sub