dysjg

115
Sketcher Preface Getting Started Objects Index © Dassault Systèmes 1994-2000. All rights reserved.

Transcript of dysjg

Sketcher Preface Getting Started Objects Index

Dassault Systmes 1994-2000. All rights reserved.

PrefaceCATIA Version 5 Sketcher application makes it possible for designers to sketch precise and rapid 2D profiles.

Getting StartedGo to Tools->Macros from the menu bar:

The Macro dialog box appears:

1. To create and save a macro, press the Create switch. 2. To edit a macro, press the Edit switch. 3. To run a macro, press the Run switch.

Object HierarchyYou will find here a list and structure of all the objects of the workbench. In other words, you will be able to run journaling tasks using the objects below:

Sketcher samples are available. These samples allow you to globally run a journaling scenario from creation to save.

Axis 2DDefinitionClass defining a line in 2D Space.

Properties object.Property HorizontalReference As Line2D (Read Only) object.Property VerticalReference As Line2D (Read Only) object.property_3 definition of property_3 of object. Scenario Create an axis line. Macro Msg "CreateLine" Dim Line1 As Line2D Set Line1 = Factory2D.CreateLine(10, 10, 15, 15) Running the Macro The axis line is created.

Circle 2DDefinitionClass defining a circle in 2D Space. Properties object.Property CenterPoint As Point2D Returns the center point of the circle. Parameters: iCenterPoint. The center point of the circle. object.Property Radius As double (Read Only) Returns the radius of the circleoperty_2 of object. Parameters: oRadius. The radius of the circle Methods object.Sub SetData(double iCenterX, double iCenterY, double iRadius) Modifies the caracteristics of the circle Parameters: iCenterX: The X Coordinate of the circle center iCenterY: The Y Coordinate of the circle center iRadius: The radius of the circle object.Func GetCenter As CATSafeArrayVariant Returns the center of the circle Parameters: oData[0] The X Coordinate of the circle center point oData[1] The Y Coordinate of the circle center point Scenario Create a closed circle. Macro Set Circle = Factory2DPocket.CreateClosedCircle(0,0,20)

Running the Macro The closed circle is created.

Control PointDefinitionClass defining a spline control point in 2D Space. Properties object.Property Curvature As double Returns the curvature properties of the spline control point Parameters: oCurvature The curvature of the tangent determined at the control point. object.property_2 definition of property_2 of object. object.property_3 definition of property_3 of object. t's the format "Defined Term" & "Definition" that are used. Methods object.Sub SetTangent (double iTangentX, double iTangentY) Imposes the tangent properties of the spline control point. Parameters: iTangentX: The X Coordinate of the tangent determined at the control point. iTangentY: The Y Coordinate of the tangent determined at the control point. object.Sub UnsetTangent Unsets the tangent properties of the spline control point. object.Sub UnsetCurvature Unsets the curvature properties of the spline control point. object.Func GetTangent As CATSafeArrayVariant. Returns the tangent properties of the spline control point Parameters: oTangent[0]: The X Coordinate of the tangent determined at the control point. oTangent[1]: The Y Coordinate of the tangent determined at the control point.

Scenario Create control points on a spline. Macro Msg "Spline CtrlPoints creation" Dim Points(3) Set Points(0) = Factory2D.CreateControlPoint(10, 10) Set Points(1) = Factory2D.CreateControlPoint(20, 20) Set Points(2) = Factory2D.CreateControlPoint(30, 10) Set Points(3) = Factory2D.CreateControlPoint(40, 40) Running the Macro The control points are created on the spline.

Curve 2DDefinitionClass defining a curve in 2D Space. Properties object.Property StartPoint As Point2D Returns the start point of the curve. The start point is decided with respect to the logical flow imposed on the curve by the object. Parameters: oStartPoint: The start point of the curve object.Property EndPoint As Point2D Returns the end point of the curve. The end point is decided with respect to the logical flow imposed on the curve by the object. Parameters: oEndPoint: The end point of the curve object.Property Continuity As short (Read Only) Returns the highest level of geometric continuity the curve possesses. Parameters: oLevel The maximum geometric continuity level object.Property Period As double (Read Only) Returns the period of a periodic curve. Parameters: oPeriod The period of the curve.

Methods object.Func GetPointAtParam (double iParam) As CATSafeArrayVariant Returns a point on the curve computed from an input parameter. Parameters:

iParam: The parameter oPoint: The X and Y coordinates of the computed 2D space point. object.Func GetTangent (double iParam) As CATSafeArrayVariant Returns the unit-vector tangent at the parameter specified. Parameters: iParam: The parameter of the chosen point on the curve. oTangency: The X and Y coordinates of the unit-vector tangent at the specified parameter. object.Func GetCurvature (double iParam) As CATSafeArrayVariant Returns the curvature and curvature direction at the parameter specified. Parameters: iParam The parameter of the chosen point on the curve. oCurvature[0] The curvature at the specified parameter oCurvature[1;2] The unit-vector of curvature direction at the specified parameter. object.Func GetDerivatives (double iParam) As CATSafeArrayVariant Returns the first, second and third derivatives at the parameter specified. Parameters: iParam The parameter of the chosen point on the curve. oDerivative[0]: First degree derivative. oDerivative[1]: Second degree derivative. oDerivative[2]: Third degree derivative. object.Func GetParamAtLength (double iFromParam, double iLength) As double Returns the parameter at a given length, measured along the curve, starting from a given parameter. The direction of measurement is always in the direction of the logical flow of the curve. If no inherent logical flow can be assigned the direction is the direction of increasing parameterization. Parameters: iFromParam: The parameter from which the length needs to be measured. iLength: The length of the curve to be measured from iFromParam in the logical flow direction of the curve. oParam: The computed parameter. object.Func GetLengthAtParam (double iFromParam, double iToParam) As double Returns the length, measured along the curve, from a given parameter to a given parameter. Parameters: iFromParam The parameter from which the length is to be measured. iToParam

The parameter to which the length is to be measured. oLength The length between the parameters object.IsPeriodic As boolean Specifies whether a curve is periodic or not. Parameters: oPeriodic Returns true if the curve is periodic. object.Func GetParamExtents As CATSafeArrayVariant Returns the parametric extents of the curve. This is the parametric equivalent of the end-points. Parameters: oParams[0] : The parameter associated with the start point of the curve oParams[1] : The parameter associated with the end point of the curve object.GetRangeBox As CATSafeArrayVariant Returns the range box (or bounding box) of the object The box is axially aligned within the local coordinate system of the server. Parameters: oBoundPoint[0] : The minimum x point of the box oBoundPoint[1] : The minimum y point of the box oBoundPoint[2] : The maximum x point of the box oBoundPoint[3] : The maximum y point of the box object.GetEndPoints As CATSafeArrayVariant Returns the end-points of the curve. The start point and the end point are decided with respect to the logical flow imposed on the curve by the object. Parameters: oEndPoints[0] : The x coordinate of the start point oEndPoints[1] : The y coordinate of the start point oEndPoints[2] : The x coordinate of the end point oEndPoints[3] : The y coordinate of the end point Scenario Gives access to the parameters. Macro Line2D13.ReportName = 7 Line2D13.EndPoint = Point2D10 Line2D13.StartPoint = Point2D12 Running the Macro Access to parameters.

Ellispe 2DDefinitionClass defining an ellipse in 2D Space. Properties object.Property CenterPoint (As Point2D) Returns the center point of the ellipse. Parameters: iCenterPoint The center point of the ellipse object.Property MajorRadius As double (Read Only) Returns the radius of the ellipse major axis Parameters: oMajorRadius: The radius of the major axis object.Property MinorRadius As double (Read Only) Returns the radius of the ellipse minor axis Parameters: oMinorRadius: The radius of the minor axis Methods object.Sub SetData (double iCenterX, double iCenterY, double iMajorX, double iMajorY, double iMajorRadius, double iMinorRadius) Modifies the caracteristics of the ellipse Parameters: iCenterX: The X Coordinate of the ellipse center iCenterY: The Y Coordinate of the ellipse center iMajorX: The X coordinate of the Major axis direction iMajorY: The Y coordinate of the Major axis direction iMajorRadius: The length of the major axis iMinorRadius: The length of the minor axis object.Func GetCenter (As CATSafeArrayVariant) Returns the center of the ellipse in 2D space Parameters: oCenter[0]: The X Coordinate of the center point of the ellipse oCenter[1] : The Y Coordinate of the center point of the ellipse

object.GetMajorAxis As CATSafeArrayVariant Returns the unit vector of the major axis of the ellipse in 2D space Parameters: oMajorAxis[0]: The length of the major axis oMajorAxis[1]: The length of the major axis object.Func GetMinorAxis As CATSafeArrayVariant Returns the unit vector of the minor axis of the ellipse in 2D space Parameters: oMinorAxis[0]: The length of the major axis oMinorAxis[1]: The length of the major axis Scenario Create an ellipse. Macro Msg "CreateEllipse" Dim Ellipse1 As Ellipse2D Set Ellipse1 = Factory2D.CreateClosedEllipse(30, 30, 1, 2, 40, 20) Set Ellipse1 = Factory2D.CreateEllipse(30, 30, 1, 2, 40, 20, 0, DeuxPI) Set Ellipse2 = Factory2D.CreateEllipse(30, 30, 2, 1, 50, 30, 0, QuatrePI) Running the Macro The ellipse is created.

Factory 2DDefinitionCreates all the elements. Methods object.Func CreatePoint (double iX, double iY) As Point2D iX X coordinate of point to create iY Y coordinate of point to create oNewLPoint Created point object.Func CreateControlPoint (double iX, double iY) As ControlPoint2D Creates a 2D spline control point. Parameters: iX X coordinate of point to create iY Y coordinate of point to create oNewLPoint Created point object.Func CreateLine (double iX1, double iY1, double iX2, double iY2) As Line2D Creates a 2D line. Parameters: iX1 X coordinate of line first extremity iY1 Y coordinate of line first extremity iX2 X coordinate of line second extremity iY2 Y coordinate of line second extremity oNewLine Created line Func CreateLineFromVector (double iX1, double iY1, double iUX, double iUY) As Line2D Creates a 2D line. Parameters:

iX1 X coordinate of the line origin iY1 Y coordinate of the line origin iUX X coordinate of the line vector iUY Y coordinate of the line vector oNewLine Created line object.Func CreateClosedCircle (double iCenterX, double iCenterY, double iRadius) As Circle2D Creates a closed 2D circle. Parameters: iCenterX The X Coordinate of the circle center. iCenterY The Y Coordinate of the circle center. iRadius The radius of the circle. oNewCircle Created circle object.Func CreateCircle (double iCenterX, double iCenterY, double iRadius, double iStartParam, double iEndParam) As Circle2D Parameters: iCenterX The X Coordinate of the circle center. iCenterY The Y Coordinate of the circle center. iRadius The radius of the circle. iStartParam The beginning parameter of the circle. This parameter is an angle value between 0 included and 2PI excluded. Parameter values are computed from the axis horizontal direction in the trigonometrical direction. iEndParam The end parameter of the circle. This parameter may take any value between iStartParam excluded and 4PI included. oNewCircle Created circle object. Func CreateClosedEllipse (double iCenterX, doubleiCenterY, doubleiMajorX, doubleiMajorY, doubleiMajorRadius, doubleiMinorRadius) As Ellipse

Creates a closed 2D ellipse. Parameters: iCenterX The X Coordinate of the ellipse center iCenterY The Y Coordinate of the ellipse center iMajorX The X coordinate of the Major axis direction iMajorY The Y coordinate of the Major axis direction iMajorRadius The length of the major axis iMinorRadius The length of the minor axis oNewEllipse Created ellipse object. Func CreateEllipse (double iCenterX, double iCenterY, double iMajorX, double iMajorY, double iMajorRadius, double iMinorRadius, double iStartParam, double iEndParam) As Ellipse2D Creates a 2D circle arc. Parameters: iCenterX The X Coordinate of the ellipse center iCenterY The Y Coordinate of the ellipse center iMajorX The X coordinate of the Major axis direction iMajorY The Y coordinate of the Major axis direction iMajorRadius The length of the major axis iMinorRadius The length of the minor axis iStartParam The beginning parameter of the ellipse. This parameter is an angle value between 0 included and 2PI excluded. Parameter values are computed from the major axis direction in the trigonometrical direction. iEndParam The end parameter of the ellipse. This parameter may take any value between iStartParam excluded and 4PI included. oNewEllipse Created ellipse object.Func CreateSpline (CATSafeArrayVariant iPoles) As Spline2D Creates a 2D b-spline. Parameters:

iPoles Array of CATIAPoint2D forming the poles of the b-spline. oNewSpline Created spline object.CreateProjections (Reference iGeometry) As GeometricElements object.CreateIntersections ( Reference iGeometry) As GeometricElements object.CreateProjection ( Reference iGeometry) As Geometry2D object.CreateProjection ( Reference iGeometry) As Geometry2D object.Func CreateParabola (double iCenterX, double iCenterY, double iAxisX, double iAxisY, double iFocalDistance) As Parabola2D object. Func CreateHyperbola (double iCenterX, double iCenterY, double iAxisX, double iAxisY, double iMajorRadius, double iMinorRadius) As Hyperbola2D

Scenario Creates all the elements. Macro Dim Factory2D5 As Factory2D Set Factory2D5 = Sketch3.OpenEdition

Dim Axis2D6 As AnyObject Set Axis2D6 = Sketch3.GeometricElements.Item ( "AbsoluteAxis" )

Dim Line2D7 As AnyObject Set Line2D7 = Axis2D6.GetItem ( "HDirection" )

Line2D7.ReportName = 1 Dim Line2D8 As AnyObject Set Line2D8 = Axis2D6.GetItem ( "VDirection" )

Line2D8.ReportName = 2 Dim Point2D9 As Point2D Set Point2D9 = Factory2D5.CreatePoint ( -90.000000, 70.000000 )

Point2D9.ReportName = 3 Dim Point2D10 As Point2D Set Point2D10 = Factory2D5.CreatePoint ( 100.000000, 70.000000 )

Point2D10.ReportName = 4 Dim Line2D11 As Line2D Set Line2D11 = Factory2D5.CreateLine ( -90.000000, 70.000000, 100.000000, 70.000000 )

Line2D11.ReportName = 5 Line2D11.StartPoint = Point2D9 Line2D11.EndPoint = Point2D10 Dim Point2D12 As Point2D Set Point2D12 = Factory2D5.CreatePoint ( 100.000000, -30.000000 )

Point2D12.ReportName = 6 Dim Line2D13 As Line2D Set Line2D13 = Factory2D5.CreateLine ( 100.000000, 70.000000, 100.000000, -30.000000 )

Line2D13.ReportName = 7 Line2D13.EndPoint = Point2D10 Line2D13.StartPoint = Point2D12 Dim Point2D14 As Point2D Set Point2D14 = Factory2D5.CreatePoint ( -90.000000, -30.000000 )

Point2D14.ReportName = 8 Dim Line2D15 As Line2D Set Line2D15 = Factory2D5.CreateLine ( 100.000000, -30.000000, -90.000000, -30.000000 )

Line2D15.ReportName = 9 Line2D15.StartPoint = Point2D12 Line2D15.EndPoint = Point2D14 Dim Line2D16 As Line2D Set Line2D16 = Factory2D5.CreateLine ( -90.000000, -30.000000, -90.000000, 70.000000 )

Line2D16.ReportName = 10 Line2D16.EndPoint = Point2D14 Line2D16.StartPoint = Point2D9 Dim Point2D17 As Point2D Set Point2D17 = Factory2D5.CreatePoint ( 130.000000, 220.000000 )

Point2D17.ReportName = 11 Dim Point2D18 As Point2D Set Point2D18 = Factory2D5.CreatePoint ( 191.600000, 290.000000 )

Point2D18.ReportName = 12 Dim Line2D19 As Line2D Set Line2D19 = Factory2D5.CreateLine ( 130.000000, 220.000000, 191.600000, 290.000000 )

Line2D19.ReportName = 13 Line2D19.StartPoint = Point2D17 Line2D19.EndPoint = Point2D18 Dim Point2D20 As Point2D Set Point2D20 = Factory2D5.CreatePoint ( 271.145455, 220.000000 )

Point2D20.ReportName = 14 Dim Line2D21 As Line2D Set Line2D21 = Factory2D5.CreateLine ( 191.600000, 290.000000, 271.145455, 220.000000 )

Line2D21.ReportName = 15 Line2D21.StartPoint = Point2D18 Line2D21.EndPoint = Point2D20 Dim Point2D22 As Point2D Set Point2D22 = Factory2D5.CreatePoint ( 260.000000, 130.000000 )

Point2D22.ReportName = 16 Dim Line2D23 As Line2D Set Line2D23 = Factory2D5.CreateLine ( 271.145455, 220.000000, 260.000000, 130.000000 )

Line2D23.ReportName = 17 Line2D23.StartPoint = Point2D20 Line2D23.EndPoint = Point2D22 Dim Point2D24 As Point2D Set Point2D24 = Factory2D5.CreatePoint ( 110.000000, 130.000000 )

Point2D24.ReportName = 18 Dim Line2D25 As Line2D Set Line2D25 = Factory2D5.CreateLine ( 260.000000, 130.000000, 110.000000, 130.000000 )

Line2D25.ReportName = 19 Line2D25.StartPoint = Point2D22 Line2D25.EndPoint = Point2D24 Dim Line2D26 As Line2D Set Line2D26 = Factory2D5.CreateLine ( 110.000000, 130.000000, 130.000000, 220.000000 )

Line2D26.ReportName = 20 Line2D26.StartPoint = Point2D24 Line2D26.EndPoint = Point2D17 Dim Point2D27 As Point2D Set Point2D27 = Factory2D5.CreatePoint ( 330.000000, -80.000000 )

Point2D27.ReportName = 21

Dim Circle2D28 As Circle2D Set Circle2D28 = Factory2D5.CreateClosedCircle ( 330.000000, -80.000000, 95.278249 )

Circle2D28.CenterPoint = Point2D27 Circle2D28.ReportName = 22 Dim Point2D29 As Point2D Set Point2D29 = Factory2D5.CreatePoint ( -430.000000, -250.000000 )

Point2D29.ReportName = 23 Dim Point2D30 As Point2D Set Point2D30 = Factory2D5.CreatePoint ( -338.125000, -206.517857 )

Point2D30.ReportName = 24 Dim Point2D31 As Point2D Set Point2D31 = Factory2D5.CreatePoint ( -240.000000, -180.000000 )

Point2D31.ReportName = 25 Dim Circle2D32 As Circle2D Set Circle2D32 = Factory2D5.CreateCircle ( -338.125000, -206.517857, 101.645031, 0.263941, 3.583633 )

Circle2D32.CenterPoint = Point2D30 Circle2D32.ReportName = 26 Circle2D32.EndPoint = Point2D29 Circle2D32.StartPoint = Point2D31

Dim Point2D33 As Point2D Set Point2D33 = Factory2D5.CreatePoint ( -370.000000, -110.000000 )

Point2D33.ReportName = 27 Dim ControlPoint2D34 As ControlPoint2D Set ControlPoint2D34 = Factory2D5.CreateControlPoint ( 310.000000, -270.000000 )

ControlPoint2D34.ReportName = 28 Dim ControlPoint2D35 As ControlPoint2D Set ControlPoint2D35 = Factory2D5.CreateControlPoint ( 170.000000, -330.000000 )

ControlPoint2D35.ReportName = 29 Dim ControlPoint2D36 As ControlPoint2D Set ControlPoint2D36 = Factory2D5.CreateControlPoint ( 18.888889, -280.000000 )

ControlPoint2D36.ReportName = 30 Dim ControlPoint2D37 As ControlPoint2D Set ControlPoint2D37 = Factory2D5.CreateControlPoint ( -160.000000, -330.000000 )

ControlPoint2D37.ReportName = 31 Dim var38 ( 3 ) Set var38 ( 0 ) = ControlPoint2D37 Set var38 ( 1 ) = ControlPoint2D36 Set var38 ( 2 ) = ControlPoint2D35

Set var38 ( 3 ) = ControlPoint2D34 Dim Spline2D39 As Spline2D Set Spline2D39 = Factory2D5.CreateSpline ( var38 )

Spline2D39.ReportName = 32 Dim Point2D40 As Point2D Set Point2D40 = Factory2D5.CreatePoint ( -520.000000, 80.000000 )

Point2D40.ReportName = 33 Dim Point2D41 As Point2D Set Point2D41 = Factory2D5.CreatePoint ( -200.000000, 250.000000 )

Point2D41.ReportName = 34

Dim Line2D42 As Line2D Set Line2D42 = Factory2D5.CreateLine ( -520.000000, 80.000000, -200.000000, 250.000000 )

Line2D42.ReportName = 35 Line2D42.StartPoint = Point2D40 Line2D42.EndPoint = Point2D41 Dim Point2D43 As Point2D Set Point2D43 = Factory2D5.CreatePoint ( -340.000000, 175.625000 )

Point2D43.ReportName = 36 Dim Point2D44 As Point2D

Set Point2D44 = Factory2D5.CreatePoint ( -273.261719, 50.000000 )

Point2D44.ReportName = 37 Dim Line2D45 As Line2D Set Line2D45 = Factory2D5.CreateLine ( -340.000000, 175.625000, -273.261719, 50.000000 )

Line2D45.ReportName = 38 Line2D45.StartPoint = Point2D43 Line2D45.EndPoint = Point2D44 Dim Point2D46 As Point2D Set Point2D46 = Factory2D5.CreatePoint ( -610.312500, -150.000000 )

Point2D46.ReportName = 39 Dim Point2D47 As Point2D Set Point2D47 = Factory2D5.CreatePoint ( -555.312500, -370.000000 )

Point2D47.ReportName = 40 Dim Parabola2D48 As Parabola2D Set Parabola2D48 = Factory2D5.CreateParabola ( -540.000000, -300.000000, -1.000000, 0.000000, 320.000000 )

Parabola2D48.ReportName = 41 Parabola2D48.StartPoint = Point2D46 Parabola2D48.EndPoint = Point2D47 Dim Point2D49 As Point2D

Set Point2D49 = Factory2D5.CreatePoint ( 515.298736, -250.000000 )

Point2D49.ReportName = 42 Dim Point2D50 As Point2D Set Point2D50 = Factory2D5.CreatePoint ( 420.000000, -270.232274 )

Point2D50.ReportName = 43 Dim Hyperbola2D51 As Hyperbola2D Set Hyperbola2D51 = Factory2D5.CreateHyperbola ( 490.000000, -340.000000, -0.242536, 0.970143, 54.543561, 61.846584 )

Hyperbola2D51.ReportName = 44 Hyperbola2D51.StartPoint = Point2D49 Hyperbola2D51.EndPoint = Point2D50 Dim Point2D52 As Point2D Set Point2D52 = Factory2D5.CreatePoint ( 740.000000, -70.000000 )

Point2D52.ReportName = 45 Dim Point2D53 As Point2D Set Point2D53 = Factory2D5.CreatePoint ( 540.000000, 10.000000 )

Point2D53.ReportName = 46 Dim Point2D54 As Point2D Set Point2D54 = Factory2D5.CreatePoint ( 780.000000, 41.162642 )

Point2D54.ReportName = 47 Dim Line2D55 As Line2D Set Line2D55 = Factory2D5.CreateLine ( 540.000000, 10.000000, 780.000000, 41.162642 )

Line2D55.ReportName = 48 Line2D55.Construction = True Line2D55.StartPoint = Point2D53 Line2D55.EndPoint = Point2D54 Dim Point2D56 As Point2D Set Point2D56 = Factory2D5.CreatePoint ( 531.078934, 78.705849 )

Point2D56.ReportName = 49 Dim Point2D57 As Point2D Set Point2D57 = Factory2D5.CreatePoint ( 771.078934, 109.868491 )

Point2D57.ReportName = 50 Dim Line2D58 As Line2D Set Line2D58 = Factory2D5.CreateLine ( 531.078934, 78.705849, 771.078934, 109.868491 )

Line2D58.ReportName = 51 Line2D58.StartPoint = Point2D56 Line2D58.EndPoint = Point2D57 Dim Point2D59 As Point2D Set Point2D59 = Factory2D5.CreatePoint ( 788.921066, -27.543207 )

Point2D59.ReportName = 52 Dim Point2D60 As Point2D Set Point2D60 = Factory2D5.CreatePoint ( 548.921066, -58.705849 )

Point2D60.ReportName = 53 Dim Line2D61 As Line2D Set Line2D61 = Factory2D5.CreateLine ( 788.921066, -27.543207, 548.921066, -58.705849 )

Line2D61.ReportName = 54 Line2D61.StartPoint = Point2D59 Line2D61.EndPoint = Point2D60 Dim Circle2D62 As Circle2D Set Circle2D62 = Factory2D5.CreateCircle ( 780.000000, 41.162642, 69.282603, 4.841511, 7.983104 )

Circle2D62.CenterPoint = Point2D54 Circle2D62.ReportName = 55 Circle2D62.EndPoint = Point2D57 Circle2D62.StartPoint = Point2D59 Dim Circle2D63 As Circle2D Set Circle2D63 = Factory2D5.CreateCircle ( 540.000000, 10.000000, 69.282603, 1.699918, 4.841511 )

Circle2D63.CenterPoint = Point2D53 Circle2D63.ReportName = 56

Circle2D63.EndPoint = Point2D60 Circle2D63.StartPoint = Point2D56 Dim Point2D64 As Point2D Set Point2D64 = Factory2D5.CreatePoint ( -520.000000, 410.000000 )

Point2D64.ReportName = 57 Dim Point2D65 As Point2D Set Point2D65 = Factory2D5.CreatePoint ( -389.585481, 428.038476 )

Point2D65.ReportName = 58 Dim Point2D66 As Point2D Set Point2D66 = Factory2D5.CreatePoint ( -470.414519, 531.961524 )

Point2D66.ReportName = 59 Dim Point2D67 As Point2D Set Point2D67 = Factory2D5.CreatePoint ( -600.829038, 513.923048 )

Point2D67.ReportName = 60 Dim Point2D68 As Point2D Set Point2D68 = Factory2D5.CreatePoint ( -650.414519, 391.961524 )

Point2D68.ReportName = 61 Dim Point2D69 As Point2D Set Point2D69 = Factory2D5.CreatePoint ( -569.585481, 288.038476 )

Point2D69.ReportName = 62 Dim Point2D70 As Point2D Set Point2D70 = Factory2D5.CreatePoint ( -439.170962, 306.076952 )

Point2D70.ReportName = 63 Dim Point2D71 As Point2D Set Point2D71 = Factory2D5.CreatePoint ( -430.000000, 480.000000 )

Point2D71.ReportName = 64 Dim Line2D72 As Line2D Set Line2D72 = Factory2D5.CreateLine ( -389.585481, 428.038476, -470.414519, 531.961524 )

Line2D72.ReportName = 65 Line2D72.StartPoint = Point2D65 Line2D72.EndPoint = Point2D66 Dim Line2D73 As Line2D Set Line2D73 = Factory2D5.CreateLine ( -470.414519, 531.961524, -600.829038, 513.923048 )

Line2D73.ReportName = 66 Line2D73.StartPoint = Point2D66 Line2D73.EndPoint = Point2D67 Dim Line2D74 As Line2D Set Line2D74 = Factory2D5.CreateLine ( -600.829038, 513.923048, -650.414519, 391.961524 )

Line2D74.ReportName = 67 Line2D74.StartPoint = Point2D67 Line2D74.EndPoint = Point2D68 Dim Line2D75 As Line2D Set Line2D75 = Factory2D5.CreateLine ( -650.414519, 391.961524, -569.585481, 288.038476 )

Line2D75.ReportName = 68 Line2D75.StartPoint = Point2D68 Line2D75.EndPoint = Point2D69 Dim Line2D76 As Line2D Set Line2D76 = Factory2D5.CreateLine ( -569.585481, 288.038476, -439.170962, 306.076952 )

Line2D76.ReportName = 69 Line2D76.StartPoint = Point2D69 Line2D76.EndPoint = Point2D70 Dim Line2D77 As Line2D Set Line2D77 = Factory2D5.CreateLine ( -439.170962, 306.076952, -389.585481, 428.038476 )

Line2D77.ReportName = 70 Line2D77.StartPoint = Point2D70 Line2D77.EndPoint = Point2D65 Dim Line2D78 As Line2D Set Line2D78 = Factory2D5.CreateLine ( -520.000000, 410.000000, -430.000000, 480.000000 )

Line2D78.ReportName = 71 Line2D78.Construction = True Line2D78.StartPoint = Point2D64 Line2D78.EndPoint = Point2D71 Dim Circle2D79 As Circle2D Set Circle2D79 = Factory2D5.CreateClosedCircle ( -520.000000, 410.000000, 131.656118 )

Circle2D79.CenterPoint = Point2D64 Circle2D79.ReportName = 72 Circle2D79.Construction = True Dim Point2D80 As Point2D Set Point2D80 = Factory2D5.CreatePoint ( -569.585481, 288.038476 )

Point2D80.ReportName = 73 Dim Circle2D81 As Circle2D Set Circle2D81 = Factory2D5.CreateCircle ( -569.585481, 288.038476, 131.656118, 0.137444, 2.231839 )

Circle2D81.CenterPoint = Point2D80 Circle2D81.ReportName = 74 Circle2D81.Construction = True Circle2D81.EndPoint = Point2D68 Circle2D81.StartPoint = Point2D70 Dim Point2D82 As Point2D Set Point2D82 = Factory2D5.CreatePoint ( -470.414519, 531.961524 )

Point2D82.ReportName = 75 Dim Circle2D83 As Circle2D Set Circle2D83 = Factory2D5.CreateCircle ( -470.414519, 531.961524, 131.656118, 3.279037, 5.373432 )

Circle2D83.CenterPoint = Point2D82 Circle2D83.ReportName = 76 Circle2D83.Construction = True Circle2D83.StartPoint = Point2D67 Circle2D83.EndPoint = Point2D65 Dim Reference84 As Reference Set Reference84 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D11 )

Dim Reference85 As Reference Set Reference85 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D7 )

Dim Constraint86 As Constraint Set Constraint86 = Sketch3.Constraints.AddBiEltCst ( 10, Reference84, Reference85 )

Constraint86.Mode = 0 Dim Reference87 As Reference Set Reference87 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D13 )

Dim Reference88 As Reference

Set Reference88 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D8 )

Dim Constraint89 As Constraint Set Constraint89 = Sketch3.Constraints.AddBiEltCst ( 13, Reference87, Reference88 )

Constraint89.Mode = 0 Dim Reference90 As Reference Set Reference90 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D15 )

Dim Reference91 As Reference Set Reference91 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D7 )

Dim Constraint92 As Constraint Set Constraint92 = Sketch3.Constraints.AddBiEltCst ( 10, Reference90, Reference91 )

Constraint92.Mode = 0 Dim Reference93 As Reference Set Reference93 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D16 )

Dim Reference94 As Reference Set Reference94 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D8 )

Dim Constraint95 As Constraint

Set Constraint95 = Sketch3.Constraints.AddBiEltCst ( 13, Reference93, Reference94 )

Constraint95.Mode = 0 Dim Reference96 As Reference Set Reference96 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D19 )

Dim Reference97 As Reference Set Reference97 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D14 )

Dim Constraint98 As Constraint Set Constraint98 = Sketch3.Constraints.AddBiEltCst ( 2, Reference96, Reference97 )

Constraint98.Mode = 0 Dim Reference99 As Reference Set Reference99 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D21 )

Dim Reference100 As Reference Set Reference100 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D19 )

Dim Constraint101 As Constraint Set Constraint101 = Sketch3.Constraints.AddBiEltCst ( 11, Reference99, Reference100 )

Constraint101.Mode = 0 Dim Reference102 As Reference Set Reference102 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D25 )

Dim Reference103 As Reference Set Reference103 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D11 )

Dim Constraint104 As Constraint Set Constraint104 = Sketch3.Constraints.AddBiEltCst ( 8, Reference102, Reference103 )

Constraint104.Mode = 0 Dim Reference105 As Reference Set Reference105 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D28 )

Dim Reference106 As Reference Set Reference106 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D23 )

Dim Constraint107 As Constraint Set Constraint107 = Sketch3.Constraints.AddBiEltCst ( 4, Reference105, Reference106 )

Constraint107.Mode = 0 Dim Reference108 As Reference Set Reference108 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D32 )

Dim Reference109 As Reference Set Reference109 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D33 )

Dim Constraint110 As Constraint Set Constraint110 = Sketch3.Constraints.AddBiEltCst ( 2, Reference108, Reference109 )

Constraint110.Mode = 0 Dim Reference111 As Reference Set Reference111 = PartDocument0.Part.CreateReferenceFromGeometry ( ControlPoint2D36 )

Dim Reference112 As Reference Set Reference112 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D26 )

Dim Constraint113 As Constraint Set Constraint113 = Sketch3.Constraints.AddBiEltCst ( 2, Reference111, Reference112 )

Constraint113.Mode = 0 Set Reference111 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D43 )

Dim Reference114 As Reference Set Reference114 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D42 )

Dim Constraint115 As Constraint Set Constraint115 = Sketch3.Constraints.AddBiEltCst ( 2, Reference111, Reference114 )

Constraint115.Mode = 0 Dim Reference116 As Reference Set Reference116 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D45 )

Dim Reference117 As Reference Set Reference117 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D42 )

Dim Constraint118 As Constraint Set Constraint118 = Sketch3.Constraints.AddBiEltCst ( 11, Reference116, Reference117 )

Constraint118.Mode = 0 Dim Reference119 As Reference Set Reference119 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D55 )

Dim Reference120 As Reference Set Reference120 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D32 )

Dim Constraint121 As Constraint Set Constraint121 = Sketch3.Constraints.AddBiEltCst ( 4, Reference119, Reference120 )

Constraint121.Mode = 0 Dim Reference122 As Reference Set Reference122 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D62 )

Dim Reference123 As Reference Set Reference123 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D58 )

Dim Constraint124 As Constraint Set Constraint124 = Sketch3.Constraints.AddBiEltCst ( 4, Reference122, Reference123 )

Constraint124.Mode = 0 Dim Reference125 As Reference Set Reference125 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D63 )

Dim Reference126 As Reference Set Reference126 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D58 )

Dim Constraint127 As Constraint Set Constraint127 = Sketch3.Constraints.AddBiEltCst ( 4, Reference125, Reference126 )

Constraint127.Mode = 0 Dim Reference128 As Reference

Set Reference128 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D62 )

Dim Reference129 As Reference Set Reference129 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D61 )

Dim Constraint130 As Constraint Set Constraint130 = Sketch3.Constraints.AddBiEltCst ( 4, Reference128, Reference129 )

Constraint130.Mode = 0 Dim Reference131 As Reference Set Reference131 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D63 )

Dim Reference132 As Reference Set Reference132 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D61 )

Dim Constraint133 As Constraint Set Constraint133 = Sketch3.Constraints.AddBiEltCst ( 4, Reference131, Reference132 )

Constraint133.Mode = 0 Dim Reference134 As Reference Set Reference134 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D55 )

Dim Constraint135 As Constraint

Set Constraint135 = Sketch3.Constraints.AddMonoEltCst ( 5, Reference134 )

Constraint135.Mode = 0 Constraint135.Dimension.Value = 242.014690 Dim Reference136 As Reference Set Reference136 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D55 )

Dim Reference137 As Reference Set Reference137 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D58 )

Dim Constraint138 As Constraint Set Constraint138 = Sketch3.Constraints.AddBiEltCst ( 1, Reference136, Reference137 )

Constraint138.Mode = 0 Constraint138.Dimension.Value = 69.282603 Dim Reference139 As Reference Set Reference139 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference140 As Reference Set Reference140 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D65 )

Dim Constraint141 As Constraint Set Constraint141 = Sketch3.Constraints.AddBiEltCst ( 2, Reference139, Reference140 )

Constraint141.Mode = 0 Dim Reference142 As Reference Set Reference142 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference143 As Reference Set Reference143 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D66 )

Dim Constraint144 As Constraint Set Constraint144 = Sketch3.Constraints.AddBiEltCst ( 2, Reference142, Reference143 )

Constraint144.Mode = 0 Dim Reference145 As Reference Set Reference145 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference146 As Reference Set Reference146 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D67 )

Dim Constraint147 As Constraint Set Constraint147 = Sketch3.Constraints.AddBiEltCst ( 2, Reference145, Reference146 )

Constraint147.Mode = 0 Dim Reference148 As Reference

Set Reference148 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference149 As Reference Set Reference149 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D68 )

Dim Constraint150 As Constraint Set Constraint150 = Sketch3.Constraints.AddBiEltCst ( 2, Reference148, Reference149 )

Constraint150.Mode = 0 Dim Reference151 As Reference Set Reference151 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference152 As Reference Set Reference152 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D69 )

Dim Constraint153 As Constraint Set Constraint153 = Sketch3.Constraints.AddBiEltCst ( 2, Reference151, Reference152 )

Constraint153.Mode = 0 Dim Reference154 As Reference Set Reference154 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference155 As Reference Set Reference155 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D70 )

Dim Constraint156 As Constraint Set Constraint156 = Sketch3.Constraints.AddBiEltCst ( 2, Reference154, Reference155 )

Constraint156.Mode = 0 Dim Reference157 As Reference Set Reference157 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D81 )

Dim Reference158 As Reference Set Reference158 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D68 )

Dim Constraint159 As Constraint Set Constraint159 = Sketch3.Constraints.AddBiEltCst ( 2, Reference157, Reference158 )

Constraint159.Mode = 0 Dim Reference160 As Reference Set Reference160 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D81 )

Dim Reference161 As Reference Set Reference161 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D70 )

Dim Constraint162 As Constraint Set Constraint162 = Sketch3.Constraints.AddBiEltCst ( 2, Reference160, Reference161 )

Constraint162.Mode = 0 Dim Reference163 As Reference Set Reference163 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D81 )

Dim Reference164 As Reference Set Reference164 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D64 )

Dim Constraint165 As Constraint Set Constraint165 = Sketch3.Constraints.AddBiEltCst ( 2, Reference163, Reference164 )

Constraint165.Mode = 0 Dim Reference166 As Reference Set Reference166 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D80 )

Dim Reference167 As Reference Set Reference167 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D69 )

Dim Constraint168 As Constraint Set Constraint168 = Sketch3.Constraints.AddBiEltCst ( 2, Reference166, Reference167 )

Constraint168.Mode = 0 Dim Reference169 As Reference Set Reference169 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D83 )

Dim Reference170 As Reference Set Reference170 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D67 )

Dim Constraint171 As Constraint Set Constraint171 = Sketch3.Constraints.AddBiEltCst ( 2, Reference169, Reference170 )

Constraint171.Mode = 0 Dim Reference172 As Reference Set Reference172 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D83 )

Dim Reference173 As Reference Set Reference173 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D65 )

Dim Constraint174 As Constraint Set Constraint174 = Sketch3.Constraints.AddBiEltCst ( 2, Reference172, Reference173 )

Constraint174.Mode = 0 Dim Reference175 As Reference Set Reference175 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D83 )

Dim Reference176 As Reference Set Reference176 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D64 )

Dim Constraint177 As Constraint Set Constraint177 = Sketch3.Constraints.AddBiEltCst ( 2, Reference175, Reference176 )

Constraint177.Mode = 0 Dim Reference178 As Reference Set Reference178 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D82 )

Dim Reference179 As Reference Set Reference179 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D66 )

Dim Constraint180 As Constraint Set Constraint180 = Sketch3.Constraints.AddBiEltCst ( 2, Reference178, Reference179 )

Constraint180.Mode = 0 Dim Reference181 As Reference Set Reference181 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D71 )

Dim Reference182 As Reference

Set Reference182 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D72 )

Dim Constraint183 As Constraint Set Constraint183 = Sketch3.Constraints.AddBiEltCst ( 16, Reference181, Reference182 )

Constraint183.Mode = 0 Dim Reference184 As Reference Set Reference184 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D72 )

Dim Reference185 As Reference Set Reference185 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D75 )

Dim Constraint186 As Constraint Set Constraint186 = Sketch3.Constraints.AddBiEltCst ( 1, Reference184, Reference185 )

Constraint186.Mode = 0 Constraint186.Dimension.Value = 228.035085 Sketch3.CenterLine = Line2D45 Sketch3.CloseEdition

PartDocument0.Part.Update

Running the Macro All the elements are created.

Geometric ElementDefinition2D or 3D wireframe geometric element. Properties object.o Property GeometricType As CatGeometricType (Read Only) Returns the type of the underlying geometrical element Parameters: oType Specific type of the geometric interface Scenario Access the types of the geometrical elements. Macro Macro available on all subtypes.

Geometry 2DDefinition2D wireframe geometric element. Properties object.Property ReportName As long Returns the report name of the 2D geometry Parameters: oReportName The integer value of the report name object.Property Construction (boolean oConstruction) Returns the construction mode of the 2D geometry Scenario Access the types of the 2D wireframe elements. Macro Macro available on all subtypes.

Hyperbola 2DDefinitionClass defining an hyperbola in 2D Space. Properties object.Property MajorRadius As double (Read Only) Returns the major radius of the hyperbola in 2D space Parameters: oMajorRadius The major radius of the hyperbola object.Property MinorRadius As double (Read Only) Returns the minor radius of the hyperbola in 2D space Parameters: oMinorRadius The minor radius of the hyperbola Methods object.Sub SetData (double iCenterX, double iCenterY, double iAxisX, double iAxisY, double iMajorRadius, double iMinorRadius) Modifies the caracteristics of the hyperbola Parameters: iCenterX The X Coordinate of the hyperbola center iCenterY The Y Coordinate of the hyperbola center iAxisX The X coordinate of the axis vector direction iAxisY The Y coordinate of the axis vector direction iMajorRadius The length of the major radius iMinorRadius The length of the minor radius object.Func GetCenter As CATSafeArrayVariant Returns the center point of the hyperbola in 2D space Parameters: oCenter[0]:

The X Coordinate of the center point of the hyperbola oCenter[1]: The Y Coordinate of the center point of the hyperbola object.Func GetAxis As CATSafeArrayVariant Returns the axis vector direction of the hyperbola in 2D space Parameters: oAxis[0] The X coordinate of the axis vector direction oAxis[1] The Y coordinate of the axis vector direction Scenario Create an hyperbola. Macro Dim Hyperbola2D51 As Hyperbola2D Set Hyperbola2D51 = Factory2D5.CreateHyperbola ( 490.000000, -340.000000, -0.242536, 0.970143, 54.543561, 61.846584 )

Hyperbola2D51.ReportName = 44 Hyperbola2D51.StartPoint = Point2D49 Hyperbola2D51.EndPoint = Point2D50 Running the Macro The hyperbola is created.

Line 2DDefinitionThe Line feature : an Line is made up of a face to process and one Line parameter. Properties object.property_1 definition of property_1 of object. Note that the object must be in italic and the property in bold. object.property_2 definition of property_2 of object. object.property_3 definition of property_3 of object. It's the format "Defined Term" & "Definition" that are used. Methods object.Sub GetOrigin (CATSafeArrayVariant oOrigin) Returns the origin of the line Parameters: oOrigin[0] The X Coordinate of a point lying on the line oOrigin[1] The Y Coordinate of a point lying on the line oOrigin[2] The Z Coordinate of a point lying on the line object.Sub PutOrigin (CATSafeArrayVariant oOrigin) object.Sub GetDirection (CATSafeArrayVariant oDirection) Returns the unit-vector pointing in the direction of the line. Parameters: oDirection[0] The X Coordinate of the unit vector pointing in the direction of the line oDirection[1] The Y Coordinate of the unit vector pointing in the direction of the line oDirection[2] The Z Coordinate of the unit vector pointing in the direction of the line object.Sub PutDirection (CATSafeArrayVariant oDirection)

Scenario Create a line. Macro Dim Line2D55 As Line2D Set Line2D55 = Factory2D5.CreateLine ( 540.000000, 10.000000, 780.000000, 41.162642 )

Running the Macro The line is created.

Parabola 2DDefinitionClass defining an parabola in 2D Space. Properties object.Property FocalDistance As double (Read Only) Returns the focal distance of the parabola in 2D space Parameters: oFocal The focal distance of the parabola Methods object.Sub SetData (double iCenterX, double iCenterY, double iAxisX, double iAxisY, double iFocalDistance) Modifies the caracteristics of the parabola Parameters: iCenterX The X Coordinate of the parabola center iCenterY The Y Coordinate of the parabola center iAxisX The X coordinate of the axis vector direction iAxisY The Y coordinate of the axis vector direction iFocalDistance The focal distance of the parabola object.Func GetCenter As CATSafeArrayVariant Returns the center of the parabola in 2D space Parameters: oCenter[0] The X Coordinate of the center point of the parabola oCenter[1] The Y Coordinate of the center point of the parabola object.Func GetAxis As CATSafeArrayVariant Returns the axis vector direction of the parabola in 2D space Parameters: oAxis[0]

The X coordinate of the axis vector direction oAxis[1] The Y coordinate of the axis vector direction Scenario Create a parabola. Macro Dim Parabola2D48 As Parabola2D Set Parabola2D48 = Factory2D5.CreateParabola ( -540.000000, -300.000000, -1.000000, 0.000000, 320.000000 )

Parabola2D48.ReportName = 41 Parabola2D48.StartPoint = Point2D46 Parabola2D48.EndPoint = Point2D47 Running the Macro The parabola is created.

Point 2DDefinitionClass defining a point in 2D Space. Methods object.Sub SetData (double iX, double iY) Modifies the coordinates of the point Parameters: iX The X Coordinate of the point iY The Y Coordinate of the point object.Func GetCoordinates As CATSafeArrayVariant Returns the coordinates of the point Parameters: oPoint[0] The X Coordinate of the point oPoint[1] The Y Coordinate of the point Scenario Create a point. Macro Dim Point2D49 As Point2D Set Point2D49 = Factory2D5.CreatePoint ( 515.298736, -250.000000 ) Running the Macro The point is created.

SketchDefinitionThe Sketch is a 2D based element comprising constrained 2D geometrical elements. The Sketch is created by giving a 2D support. Properties object.Property GeometricElements As GeometricElements (Read Only) Returns the list of geometrical elements included in the sketch. Returns: oGeometricElements The list of geometric elements in the sketch (@see CATIAGeometricElements for more information). Example: The following example returns in colGeometry the list of geometrical elements in the sketch mySketch: Set colGeometry = mySketch.GeometricElements object.Property Constraints As Constraints (Read Only) Returns the list of constraints included in the sketch. Returns: oConstraints The list of constraints in the sketch (@see CATIAConstraints for more information). Example: The following example returns in colConstraint the list of constraints in the sketch mySketch: Set colConstraint = mySketch.Constraints object.Property Factory2D As Factory2D (Read Only) Returns the 2D factory of the sketch. Take care that you must open edition on a sketch before adding or modifying elements in it. Returns: oFactory The 2D geometrical factory of the sketch (@see CATIAFactory2D for more information). Example: The following example returns in my2DFactory the 2D factory of the sketch mySketch: Set my2DFactory = mySketch.Factory2D object.Property CenterLine As Line2D Returns the geometric 2D line defined as the center line of the sketch. Center lines are

then used for creating shafts. Returns: oLine The center line of the sketch(@see CATIALine2D for more information). Example: The following example returns in myCenterLine the center line in the sketch mySketch: Set myCenterLine = mySketch.CenterLine object.Property AbsoluteAxis As Axis2D (Read Only) Returns the 2D absolute axis of the sketch. The absolute axis is used for constraining the sketch in 3D space, and its constituting horizontal and vertical directions can also be used to constrain horizontally or vertically subsequent geometrical elements in the sketch. Returns: oAxis The absolute axis of the sketch (@see CATIAAxis2D for more information). Example: The following example places in myAxis the absolute axis of the sketch mySketch: Set myAxis = mySketch.AbsoluteAxis Methods object.Sub GetAbsoluteAxisData (CATSafeArrayVariant oAxisData) Returns the sketch axis coordinates in 3D space. The matrix returned comprises 9 doubles, the first 3 being the coordinates of the axis origin, the next 3 being those of the horizontal axis, and the last 3 those of the vertical axis. The sketch horizontal axis is in fact computed from the first non null projection of one of the 3 3D space axes on the sketch plane. Returns: oAxisData The matrix of the axis in 3D space. Example: The following example reads the coordinates of the axis of the sketch mySketch: Set myAxisCoordinates = mySketch.AxisTo3D Set OriginX = myAxisCoordinate[1] Set OriginY = myAxisCoordinate[2] Set OriginZ = myAxisCoordinate[3] Set HorizontalX = myAxisCoordinate[4] Set HorizontalY = myAxisCoordinate[5] Set HorizontalZ = myAxisCoordinate[6] Set VerticalX = myAxisCoordinate[7] Set VerticalY = myAxisCoordinate[8]

Set VerticalZ = myAxisCoordinate[9] object.Sub SetAbsoluteAxisData (CATSafeArrayVariant iAxisData) Sets the absolute axis of the sketch in 3D space. Parameters: oAxisData The matrix comprises 9 doubles, the first 3 being the coordinates of the axis origin, the next 3 being those of the horizontal axis, and the last 3 those of the vertical axis of the absolute axis. object.Func OpenEdition As Factory2D Opens the Sketch Edition. You must open edition on a sketch before you can add elements in it. The CATIAFactory2D returned then enables you to create 2D geometrical elements in the sketch. Returns: oFactory Returns the 2D FACTORY. Example: The following example opens edition on the sketch mySketch and places the factory in my2DFactory: Set my2DFactory = mySketch.OpenEdition object.Sub CloseEdition Closes the Sketch Edition. Once you have finished working with the sketch, you must close its edition before using it for sketch-based shapes. Example: The following example closes the edition of the sketch mySketch: mySketch.CloseEdition Scenario Give a 2D support to the sketch. Macro Set NewSketch = Body.Sketches.Add(RefPlnXY) Set Factory2D = NewSketch.OpenEdition Running the Macro The support is created.

Spline 2DDefinitionClass defining a spline in 2D Space. A 2D spline is defined by its constituting control points. Methods object.Func GetControlPoints As CATSafeArrayVariant Returns the control points making up the spline. Parameters: oCtrlPoints The control points of the spline Example: The following example fetches the list of control points defining the splinemySpline: Set ControlPoints = mySpline.ControlPoints object.Sub InsertControlPointAfter (Point2D iCtrlPoint, long iPosition) Inserts control points in the spline. If a 2D point is given (and not a control point), a new control point is created and aggregated in the spline. Parameters: iCtrlPoint The new point to be inserted. (@see CATIAPoint2D and CATIAControlPoint2D for more information). iPosition The position at which to insert the point. To insert a new control point as the first element, set iPosition to 0. Example: The following example inserts a control point myCtrlPoint as the second element of the splinemySpline: call mySpline.InsertControlPointAfter (myCtrlPoint, 1) Scenario Create a spline. Macro Msg "Spline CtrlPoints creation" Dim Points(3)

Set Points(0) = Factory2D.CreateControlPoint(10, 10) Set Points(1) = Factory2D.CreateControlPoint(20, 20) Set Points(2) = Factory2D.CreateControlPoint(30, 10) Set Points(3) = Factory2D.CreateControlPoint(40, 40) ' Msg "CreateSpline" Set Spline1 = Factory2D.CreateSpline(Points) Running the Macro The spline is created.

SamplesSkecther samples are available. These samples allow you to globally run a journaling scenario:

Sample 1In this sample, you will perform the following: Create a pad with a hole. -------------- Sample MACRO written in Basic Script ---------------------EnvVar = CATIA.SystemService.Environ("ADL_ODT_IN") Debugging = 1 CATIA.SystemService.Print "EnvVar=" & EnvVar If ( EnvVar "ADL_ODT_IN is not defined" ) Then CATIA.SystemService.Print "IN MKODT" End If Debugging = 0 Dim NewPartDoc As Document Set NewPartDoc = CATIA.Documents.Add("Part") Set NewPart = NewPartDoc.Part Set ShapeFactory = NewPart.ShapeFactory '----------------------------- XY Plane ---------------------------------Set OriginElts = NewPart.OriginElements Set PlnXY = OriginElts.PlaneXY '----------------------------- Sketch in MainBody -----------------------Set Body = NewPart.MainBody Set RefPlnXY = NewPart.CreateReferenceFromGeometry(PlnXY) Set NewSketch = Body.Sketches.Add(RefPlnXY) Set Factory2D = NewSketch.OpenEdition '----------------------------- Rectangle in Sketch ----------------------Set LineUp = Factory2D.CreateLine(-80, 80, 80, 80)

Set LineRight = Factory2D.CreateLine(80, 80, 80, -80) Set LineDown = Factory2D.CreateLine(80, -80, -80, -80) Set LineLeft = Factory2D.CreateLine(-80, -80, -80, 80) NewSketch.CloseEdition '------------------------------- Pad creation -----------------------------Set Pad = ShapeFactory.AddNewPad(NewSketch, 50) '--------------------------- Sketch for pocket creation -------------------Set NewSketchPocket = Body.Sketches.Add(RefPlnXY) Set Factory2DPocket = NewSketchPocket.OpenEdition Set Circle = Factory2DPocket.CreateClosedCircle(0,0,20) NewSketchPocket.CloseEdition '------------------------------- Pocket creation ------------------------Set Pocket = ShapeFactory.AddNewPocket(NewSketchPocket, 30) '------------------------------ Pocket configuration -------------------'Pocket.DirectionOrientation = 0 'Set limit = Pocket.FirstLimit 'limit.LimitMode = 4 '---------------------------- Part Update ------------------------------NewPart.Update

If ( EnvVar "ADL_ODT_IN is not defined" ) Then CATIA.SystemService.Print

End Sub

Sample 2In this sample, you will perform the following:

Create all the elements (factory): splines, control points, lines, points, parabolas, hyperbolas, closed circles, non-closed circles. '--------------------------------------------------------------------------'----------------------------- New Part ---------------------------------'--------------------------------------------------------------------------'MsgBox (ScriptEngineMajorVersion ) 'MsgBox (ScriptEngineMinorVersion ) Debugging = 0 ' To display Message Boxes, uncomment next line 'Debugging = 1

Msg "access application's documents" Set CATDocs = CATIA.Documents ' Msg "add a new CATPart document to the collection" Set PartDoc = CATDocs.Add("Part") Set NewPart = PartDoc.Part ' '----------------------------- Reference Planes -------------------------Msg "access reference planes in document" Set OriginElts = NewPart.OriginElements Set PlnXY = OriginElts.PlaneXY Set PlnYZ = OriginElts.PlaneYZ Set PlnZX = OriginElts.PlaneZX '--------------------------------------------------------------------------'----------------------------- Sketches in MainBody ---------------------'--------------------------------------------------------------------------Msg "NewPart.Bodies.MainBody" Set Body = NewPart.MainBody

' Msg "NewPart.CreateReferenceFromGeometry(PlnXY)" Set RefPlnXY = NewPart.CreateReferenceFromGeometry(PlnXY) ' Msg "Body.Sketches.Add(RefPlnXY)" Set Sketch1 = Body.Sketches.Add(RefPlnXY) ' Msg "NewPart.CreateReferenceFromGeometry(PlnYZ)" Set RefPlnYZ = NewPart.CreateReferenceFromGeometry(PlnYZ) ' Msg "Body.Sketches.Add(RefPlnYZ)" Set Sketch2 = Body.Sketches.Add(RefPlnYZ) ' Msg "NewPart.CreateReferenceFromGeometry(PlnZX)" Set RefPlnZX = NewPart.CreateReferenceFromGeometry(PlnZX) ' Msg "Body.Sketches.Add(RefPlnZX)" Set Sketch3 = Body.Sketches.Add(RefPlnZX) '--------------------------------------------------------------------------'----------------------------- Creations in Sketches --------------------'--------------------------------------------------------------------------Msg "Sketch1.OpenEdition" Set Factory2D = Sketch1.OpenEdition ' Msg "CreatePoint" Dim Point1 As Point2D Set Point1 = Factory2D.CreatePoint(5, 5) '

Msg "CreateLine" Dim Line1 As Line2D Set Line1 = Factory2D.CreateLine(10, 10, 15, 15)

' Msg "Sketch1.CloseEdition" Sketch1.CloseEdition ' ' Msg "Sketch2.OpenEdition" Set Factory2D = Sketch2.OpenEdition MyPI = 3.14159265358979323846 DeuxPI = 6.28318530718 QuatrePI = 12.56637061436 TroisPISurDeux = 4.712388980385 CinqPISurDeux = 7.853981633974 ' Msg "CreateCircle" Dim Circle1 As Circle2D Set Circle1 = Factory2D.CreateClosedCircle(20, 20, 25) Set Circle1 = Factory2D.CreateCircle(20, 20, 25, 0, 0) Set Circle2 = Factory2D.CreateCircle(100, 100, 50, 0, DeuxPI) Set ArcCircle1 = Factory2D.CreateCircle(20, 20, 35, MyPI, TroisPISurDeux) Set ArcCircle2 = Factory2D.CreateCircle(20, 20, 45, TroisPISurDeux, CinqPISurDeux)

Msg "Sketch2.CloseEdition" Sketch2.CloseEdition '

' Msg "Sketch3.OpenEdition" Set Factory2D = Sketch3.OpenEdition ' Msg "CreateEllipse" Dim Ellipse1 As Ellipse2D Set Ellipse1 = Factory2D.CreateClosedEllipse(30, 30, 1, 2, 40, 20) Set Ellipse1 = Factory2D.CreateEllipse(30, 30, 1, 2, 40, 20, 0, DeuxPI) Set Ellipse2 = Factory2D.CreateEllipse(30, 30, 2, 1, 50, 30, 0, QuatrePI) '

Msg "Spline CtrlPoints creation" Dim Points(3) Set Points(0) = Factory2D.CreateControlPoint(10, 10) Set Points(1) = Factory2D.CreateControlPoint(20, 20) Set Points(2) = Factory2D.CreateControlPoint(30, 10) Set Points(3) = Factory2D.CreateControlPoint(40, 40) ' Msg "CreateSpline" Set Spline1 = Factory2D.CreateSpline(Points)

' Msg "Sketch3.CloseEdition" Sketch3.CloseEdition

'--------------------------------------------------------------------------'----------------------------- Modifications in Sketches ----------------'---------------------------------------------------------------------------

Msg "Sketch1.OpenEdition" Set Factory2D = Sketch1.OpenEdition ' ' Msg "Point1.PointData 1" Dim coords2D (2) Point1.GetCoordinates coords2D ' If (coords2D(0) 5 Or coords2D(1) 5) Then Msg "Point1.coords are wrong" Else Msg "Point1.coords are good" End If ' Msg "Point1.SetPointData(-5, -5)" Call Point1.SetData(-5, -5) ' Msg "Point1.PointData (2)" Point1.GetCoordinates coords2D If (coords2D(1) -5 Or coords2D(1) -5) Then Msg "Point1.coords are wrong" Else Msg "Point1.coords are good" End If ' ' Msg "Line1.Origin (1)" Line1.GetOrigin coords2D

Msg "Line1.point(0) " & coords2D(0) & " / Line1.point(1) " & coords2D(1) ' Msg "Line1.Direction (1)" Line1.GetDirection coords2D Msg "Line1.dir(0) " & coords2D(0) & " / Line1.dir(1) " & coords2D(1) ' Msg "Line1.SetData(20, 20, 20, 100)" Call Line1.SetData(20, 20, 20, 100) ' Msg "Line1.Origin (2)" Line1.GetOrigin coords2D Msg "Line1.point(0) " & coords2D(0) & " / Line1.point(1) " & coords2D(1) ' Msg "Line1.Direction (2)" Line1.GetDirection coords2D Msg "Line1.dir(0) " & coords2D(0) & " / Line1.dir(1) " & coords2D(1) ' ' Msg "Sketch1.CloseEdition" Sketch1.CloseEdition ' ' ' Msg "Sketch2.OpenEdition" Set Factory2D = Sketch2.OpenEdition ' Msg "Circle1.Center (1)" Circle1.GetCenter coords2D

If (coords2D(0) 20 Or coords2D(1) 20) Then Msg "Circle1.coords are wrong" Else Msg "Circle1.coords are good" End If ' Msg "Circle1.Radius (1)" CircRadius = Circle1.Radius ' If (CircRadius 25.) Then Msg "CircRadius is wrong" Else Msg "CircRadius is good" End If ' Msg "Circle1.SetData(10, 15, 50)" Call Circle1.SetData(10, 15, 50) ' Msg "Circle1.Center (2)" Circle1.GetCenter coords2D ' If (coords2D(0) 10 Or coords2D(1) 15) Then Msg "Circle1.coords are wrong" Else Msg "Circle1.coords are good" End If ' Msg "Circle1.Radius (2)"

CircRadius = Circle1.Radius ' If (CircRadius 50) Then Msg "CircRadius is wrong" Else Msg "CircRadius is good" End If ' ' Msg "Sketch2.CloseEdition" Sketch2.CloseEdition ' ' ' Msg "Sketch3.OpenEdition" Set Factory2D = Sketch3.OpenEdition ' 'Set Ellipse1 = Factory2D.CreateClosedEllipse(30, 30, 1, 2, 40, 20) ' -------------------Msg "Ellipse1.Center (1)" Ellipse1.GetCenter coords2D If (coords2D(0) 30 Or coords2D(1) 30) Then Msg "Ellipse1.center.coords are wrong" Else Msg "Ellipse1.center.coords are good" End If ' Msg "Ellipse1.MajorAxis (1)"

Ellipse1.GetMajorAxis coords2D If (coords2D(0) 1 Or coords2D(1) 2) Then Msg "Ellipse1.maj-axis.coords are wrong" Else Msg "Ellipse1.maj-axis.coords are good" End If ' Msg "Ellipse1.MinorAxis (1)" Ellipse1.GetMinorAxis coords2D Msg "Ellipse1.min-axis.coords " & coords2D(0) & "," & coords2D(1) ' Msg "Ellipse1.MajorRadius (1)" Radius = Ellipse1.MajorRadius If (Radius 40) Then Msg "Ellipse1.maj-radius is wrong" Else Msg "Ellipse1.maj-radius is good" End If ' Msg "Ellipse1.MinorRadius (1)" Radius = Ellipse1.MinorRadius If (Radius 20) Then Msg "Ellipse1.min-radius is wrong" Else Msg "Ellipse1.min-radius is good" End If ' Msg "Ellipse1.SetData"

Call Ellipse1.SetData(28, 32, 2, 3, 42, 18) ' -------------------Msg "Ellipse1.Center (2)" Ellipse1.GetCenter coords2D If (coords2D(0) 28 Or coords2D(1) 32) Then Msg "Ellipse1.center.coords are wrong" Else Msg "Ellipse1.center.coords are good" End If ' Msg "Ellipse1.MajorAxis (2)" Ellipse1.GetMajorAxis coords2D If (coords2D(0) 2 Or coords2D(1) 3) Then Msg "Ellipse1.maj-axis.coords are wrong" Else Msg "Ellipse1.maj-axis.coords are good" End If ' Msg "Ellipse1.MinorAxis (2)" Ellipse1.GetMinorAxis coords2D Msg "Ellipse1.min-axis.coords " & coords2D(0) & "," & coords2D(1) ' Msg "Ellipse1.MajorRadius (2)" Radius = Ellipse1.MajorRadius If (Radius 42) Then Msg "Ellipse1.maj-radius is wrong" Else Msg "Ellipse1.maj-radius is good"

End If ' Msg "Ellipse1.MinorRadius (2)" Radius = Ellipse1.MinorRadius ' If (Radius 18) Then Msg "Ellipse1.min-radius is wrong" Else Msg "Ellipse1.min-radius is good" End If ' ' Msg "insert Spline CtrlPoints" Set Pa = Factory2D.CreateControlPoint(10, 0) Set Pb = Factory2D.CreateControlPoint(12, 13) Set Pc = Factory2D.CreateControlPoint(50, 0) Msg "Sketch3.CloseEdition" Sketch3.CloseEdition ' ' ------------------------Msg "-- V I S U RESIZE --" ' ------------------------CATIA.ActiveWindow.WindowState = 0 'catWindowStateMaximized CATIA.ActiveWindow.ActiveViewer.Reframe 'Set Viewers = CATIA.ActiveWindow.Viewers 'bound = Viewers.Count - 1 'For i=0 to bound ' MsgBox i

' Viewers.Item(i).Reframe 'Next ' 'For each Viewer in Viewers ' Viewer.Reframe 'Next

'----------------------------- Quit Application -------------------------If ( EnvVar "ADL_ODT_IN is not defined" ) Then CATIA.SystemService.Print "CATIA.Quit" CATIA.Quit Else MsgBox "Macro completed" End If

'--------------------------------------------------------------------------'----------------------------- Msg --------------------------------------'--------------------------------------------------------------------------Sub Msg(Txt) CATIA.SystemService.Print Txt

Sample 3In this sample, you will perform the following: Use the 2D elements factory Language="VBSCRIPT"

Sub CATMain() Dim PartDocument0 As Document Set PartDocument0 = CATIA.Documents.Add ( "Part" )

Dim Body1 As AnyObject Set Body1 = PartDocument0.Part.Bodies.Item ( "PartBody" )

Dim Reference2 As Reference Set Reference2 = PartDocument0.Part.CreateReferenceFromGeometry ( PartDocument0.Part.OriginElements.PlaneXY )

Dim Sketch3 As Sketch Set Sketch3 = Body1.Sketches.Add ( Reference2 )

Dim var4 ( 8 ) var4 ( 0 ) = 0.000000 var4 ( 1 ) = 0.000000 var4 ( 2 ) = 0.000000 var4 ( 3 ) = 1.000000 var4 ( 4 ) = 0.000000 var4 ( 5 ) = 0.000000 var4 ( 6 ) = 0.000000 var4 ( 7 ) = 1.000000

var4 ( 8 ) = 0.000000 Sketch3.SetAbsoluteAxisData var4

Dim Factory2D5 As Factory2D Set Factory2D5 = Sketch3.OpenEdition

Dim Axis2D6 As AnyObject Set Axis2D6 = Sketch3.GeometricElements.Item ( "AbsoluteAxis" )

Dim Line2D7 As AnyObject Set Line2D7 = Axis2D6.GetItem ( "HDirection" )

Line2D7.ReportName = 1 Dim Line2D8 As AnyObject Set Line2D8 = Axis2D6.GetItem ( "VDirection" )

Line2D8.ReportName = 2 Dim Point2D9 As Point2D Set Point2D9 = Factory2D5.CreatePoint ( -90.000000, 70.000000 )

Point2D9.ReportName = 3 Dim Point2D10 As Point2D Set Point2D10 = Factory2D5.CreatePoint ( 100.000000, 70.000000 )

Point2D10.ReportName = 4 Dim Line2D11 As Line2D Set Line2D11 = Factory2D5.CreateLine ( -90.000000, 70.000000, 100.000000, 70.000000 )

Line2D11.ReportName = 5 Line2D11.StartPoint = Point2D9 Line2D11.EndPoint = Point2D10 Dim Point2D12 As Point2D Set Point2D12 = Factory2D5.CreatePoint ( 100.000000, -30.000000 )

Point2D12.ReportName = 6 Dim Line2D13 As Line2D Set Line2D13 = Factory2D5.CreateLine ( 100.000000, 70.000000, 100.000000, -30.000000 )

Line2D13.ReportName = 7 Line2D13.EndPoint = Point2D10 Line2D13.StartPoint = Point2D12 Dim Point2D14 As Point2D Set Point2D14 = Factory2D5.CreatePoint ( -90.000000, -30.000000 )

Point2D14.ReportName = 8 Dim Line2D15 As Line2D Set Line2D15 = Factory2D5.CreateLine ( 100.000000, -30.000000, -90.000000, -30.000000 )

Line2D15.ReportName = 9 Line2D15.StartPoint = Point2D12 Line2D15.EndPoint = Point2D14 Dim Line2D16 As Line2D Set Line2D16 = Factory2D5.CreateLine ( -90.000000, -30.000000, -90.000000, 70.000000 )

Line2D16.ReportName = 10 Line2D16.EndPoint = Point2D14 Line2D16.StartPoint = Point2D9 Dim Point2D17 As Point2D Set Point2D17 = Factory2D5.CreatePoint ( 130.000000, 220.000000 )

Point2D17.ReportName = 11 Dim Point2D18 As Point2D Set Point2D18 = Factory2D5.CreatePoint ( 191.600000, 290.000000 )

Point2D18.ReportName = 12 Dim Line2D19 As Line2D Set Line2D19 = Factory2D5.CreateLine ( 130.000000, 220.000000, 191.600000, 290.000000 )

Line2D19.ReportName = 13 Line2D19.StartPoint = Point2D17 Line2D19.EndPoint = Point2D18

Dim Point2D20 As Point2D Set Point2D20 = Factory2D5.CreatePoint ( 271.145455, 220.000000 )

Point2D20.ReportName = 14 Dim Line2D21 As Line2D Set Line2D21 = Factory2D5.CreateLine ( 191.600000, 290.000000, 271.145455, 220.000000 )

Line2D21.ReportName = 15 Line2D21.StartPoint = Point2D18 Line2D21.EndPoint = Point2D20 Dim Point2D22 As Point2D Set Point2D22 = Factory2D5.CreatePoint ( 260.000000, 130.000000 )

Point2D22.ReportName = 16 Dim Line2D23 As Line2D Set Line2D23 = Factory2D5.CreateLine ( 271.145455, 220.000000, 260.000000, 130.000000 )

Line2D23.ReportName = 17 Line2D23.StartPoint = Point2D20 Line2D23.EndPoint = Point2D22 Dim Point2D24 As Point2D Set Point2D24 = Factory2D5.CreatePoint ( 110.000000, 130.000000 )

Point2D24.ReportName = 18

Dim Line2D25 As Line2D Set Line2D25 = Factory2D5.CreateLine ( 260.000000, 130.000000, 110.000000, 130.000000 )

Line2D25.ReportName = 19 Line2D25.StartPoint = Point2D22 Line2D25.EndPoint = Point2D24 Dim Line2D26 As Line2D Set Line2D26 = Factory2D5.CreateLine ( 110.000000, 130.000000, 130.000000, 220.000000 )

Line2D26.ReportName = 20 Line2D26.StartPoint = Point2D24 Line2D26.EndPoint = Point2D17 Dim Point2D27 As Point2D Set Point2D27 = Factory2D5.CreatePoint ( 330.000000, -80.000000 )

Point2D27.ReportName = 21 Dim Circle2D28 As Circle2D Set Circle2D28 = Factory2D5.CreateClosedCircle ( 330.000000, -80.000000, 95.278249 )

Circle2D28.CenterPoint = Point2D27 Circle2D28.ReportName = 22 Dim Point2D29 As Point2D Set Point2D29 = Factory2D5.CreatePoint ( -430.000000, -250.000000 )

Point2D29.ReportName = 23 Dim Point2D30 As Point2D Set Point2D30 = Factory2D5.CreatePoint ( -338.125000, -206.517857 )

Point2D30.ReportName = 24 Dim Point2D31 As Point2D Set Point2D31 = Factory2D5.CreatePoint ( -240.000000, -180.000000 )

Point2D31.ReportName = 25 Dim Circle2D32 As Circle2D Set Circle2D32 = Factory2D5.CreateCircle ( -338.125000, -206.517857, 101.645031, 0.263941, 3.583633 )

Circle2D32.CenterPoint = Point2D30 Circle2D32.ReportName = 26 Circle2D32.EndPoint = Point2D29 Circle2D32.StartPoint = Point2D31 Dim Point2D33 As Point2D Set Point2D33 = Factory2D5.CreatePoint ( -370.000000, -110.000000 )

Point2D33.ReportName = 27 Dim ControlPoint2D34 As ControlPoint2D Set ControlPoint2D34 = Factory2D5.CreateControlPoint ( 310.000000, -270.000000 )

ControlPoint2D34.ReportName = 28 Dim ControlPoint2D35 As ControlPoint2D Set ControlPoint2D35 = Factory2D5.CreateControlPoint ( 170.000000, -330.000000 )

ControlPoint2D35.ReportName = 29 Dim ControlPoint2D36 As ControlPoint2D Set ControlPoint2D36 = Factory2D5.CreateControlPoint ( 18.888889, -280.000000 )

ControlPoint2D36.ReportName = 30 Dim ControlPoint2D37 As ControlPoint2D Set ControlPoint2D37 = Factory2D5.CreateControlPoint ( -160.000000, -330.000000 )

ControlPoint2D37.ReportName = 31 Dim var38 ( 3 ) Set var38 ( 0 ) = ControlPoint2D37 Set var38 ( 1 ) = ControlPoint2D36 Set var38 ( 2 ) = ControlPoint2D35 Set var38 ( 3 ) = ControlPoint2D34 Dim Spline2D39 As Spline2D Set Spline2D39 = Factory2D5.CreateSpline ( var38 )

Spline2D39.ReportName = 32 Dim Point2D40 As Point2D Set Point2D40 = Factory2D5.CreatePoint ( -520.000000, 80.000000 )

Point2D40.ReportName = 33 Dim Point2D41 As Point2D Set Point2D41 = Factory2D5.CreatePoint ( -200.000000, 250.000000 )

Point2D41.ReportName = 34 Dim Line2D42 As Line2D Set Line2D42 = Factory2D5.CreateLine ( -520.000000, 80.000000, -200.000000, 250.000000 )

Line2D42.ReportName = 35 Line2D42.StartPoint = Point2D40 Line2D42.EndPoint = Point2D41 Dim Point2D43 As Point2D Set Point2D43 = Factory2D5.CreatePoint ( -340.000000, 175.625000 )

Point2D43.ReportName = 36 Dim Point2D44 As Point2D Set Point2D44 = Factory2D5.CreatePoint ( -273.261719, 50.000000 )

Point2D44.ReportName = 37 Dim Line2D45 As Line2D Set Line2D45 = Factory2D5.CreateLine ( -340.000000, 175.625000, -273.261719, 50.000000 )

Line2D45.ReportName = 38

Line2D45.StartPoint = Point2D43 Line2D45.EndPoint = Point2D44 Dim Point2D46 As Point2D Set Point2D46 = Factory2D5.CreatePoint ( -610.312500, -150.000000 )

Point2D46.ReportName = 39 Dim Point2D47 As Point2D Set Point2D47 = Factory2D5.CreatePoint ( -555.312500, -370.000000 )

Point2D47.ReportName = 40 Dim Parabola2D48 As Parabola2D Set Parabola2D48 = Factory2D5.CreateParabola ( -540.000000, -300.000000, -1.000000, 0.000000, 320.000000 )

Parabola2D48.ReportName = 41 Parabola2D48.StartPoint = Point2D46 Parabola2D48.EndPoint = Point2D47 Dim Point2D49 As Point2D Set Point2D49 = Factory2D5.CreatePoint ( 515.298736, -250.000000 )

Point2D49.ReportName = 42 Dim Point2D50 As Point2D Set Point2D50 = Factory2D5.CreatePoint ( 420.000000, -270.232274 )

Point2D50.ReportName = 43 Dim Hyperbola2D51 As Hyperbola2D Set Hyperbola2D51 = Factory2D5.CreateHyperbola ( 490.000000, -340.000000, -0.242536, 0.970143, 54.543561, 61.846584 )

Hyperbola2D51.ReportName = 44 Hyperbola2D51.StartPoint = Point2D49 Hyperbola2D51.EndPoint = Point2D50 Dim Point2D52 As Point2D Set Point2D52 = Factory2D5.CreatePoint ( 740.000000, -70.000000 )

Point2D52.ReportName = 45 Dim Point2D53 As Point2D Set Point2D53 = Factory2D5.CreatePoint ( 540.000000, 10.000000 )

Point2D53.ReportName = 46 Dim Point2D54 As Point2D Set Point2D54 = Factory2D5.CreatePoint ( 780.000000, 41.162642 )

Point2D54.ReportName = 47 Dim Line2D55 As Line2D Set Line2D55 = Factory2D5.CreateLine ( 540.000000, 10.000000, 780.000000, 41.162642 )

Line2D55.ReportName = 48

Line2D55.Construction = True Line2D55.StartPoint = Point2D53 Line2D55.EndPoint = Point2D54 Dim Point2D56 As Point2D Set Point2D56 = Factory2D5.CreatePoint ( 531.078934, 78.705849 )

Point2D56.ReportName = 49 Dim Point2D57 As Point2D Set Point2D57 = Factory2D5.CreatePoint ( 771.078934, 109.868491 )

Point2D57.ReportName = 50 Dim Line2D58 As Line2D Set Line2D58 = Factory2D5.CreateLine ( 531.078934, 78.705849, 771.078934, 109.868491 )

Line2D58.ReportName = 51 Line2D58.StartPoint = Point2D56 Line2D58.EndPoint = Point2D57 Dim Point2D59 As Point2D Set Point2D59 = Factory2D5.CreatePoint ( 788.921066, -27.543207 )

Point2D59.ReportName = 52 Dim Point2D60 As Point2D Set Point2D60 = Factory2D5.CreatePoint ( 548.921066, -58.705849 )

Point2D60.ReportName = 53 Dim Line2D61 As Line2D Set Line2D61 = Factory2D5.CreateLine ( 788.921066, -27.543207, 548.921066, -58.705849 )

Line2D61.ReportName = 54 Line2D61.StartPoint = Point2D59 Line2D61.EndPoint = Point2D60 Dim Circle2D62 As Circle2D Set Circle2D62 = Factory2D5.CreateCircle ( 780.000000, 41.162642, 69.282603, 4.841511, 7.983104 )

Circle2D62.CenterPoint = Point2D54 Circle2D62.ReportName = 55 Circle2D62.EndPoint = Point2D57 Circle2D62.StartPoint = Point2D59 Dim Circle2D63 As Circle2D Set Circle2D63 = Factory2D5.CreateCircle ( 540.000000, 10.000000, 69.282603, 1.699918, 4.841511 )

Circle2D63.CenterPoint = Point2D53 Circle2D63.ReportName = 56 Circle2D63.EndPoint = Point2D60 Circle2D63.StartPoint = Point2D56 Dim Point2D64 As Point2D Set Point2D64 = Factory2D5.CreatePoint ( -520.000000, 410.000000 )

Point2D64.ReportName = 57

Dim Point2D65 As Point2D Set Point2D65 = Factory2D5.CreatePoint ( -389.585481, 428.038476 )

Point2D65.ReportName = 58 Dim Point2D66 As Point2D Set Point2D66 = Factory2D5.CreatePoint ( -470.414519, 531.961524 )

Point2D66.ReportName = 59 Dim Point2D67 As Point2D Set Point2D67 = Factory2D5.CreatePoint ( -600.829038, 513.923048 )

Point2D67.ReportName = 60 Dim Point2D68 As Point2D Set Point2D68 = Factory2D5.CreatePoint ( -650.414519, 391.961524 )

Point2D68.ReportName = 61 Dim Point2D69 As Point2D Set Point2D69 = Factory2D5.CreatePoint ( -569.585481, 288.038476 )

Point2D69.ReportName = 62 Dim Point2D70 As Point2D Set Point2D70 = Factory2D5.CreatePoint ( -439.170962, 306.076952 )

Point2D70.ReportName = 63 Dim Point2D71 As Point2D Set Point2D71 = Factory2D5.CreatePoint ( -430.000000, 480.000000 )

Point2D71.ReportName = 64 Dim Line2D72 As Line2D Set Line2D72 = Factory2D5.CreateLine ( -389.585481, 428.038476, -470.414519, 531.961524 )

Line2D72.ReportName = 65 Line2D72.StartPoint = Point2D65 Line2D72.EndPoint = Point2D66 Dim Line2D73 As Line2D Set Line2D73 = Factory2D5.CreateLine ( -470.414519, 531.961524, -600.829038, 513.923048 )

Line2D73.ReportName = 66 Line2D73.StartPoint = Point2D66 Line2D73.EndPoint = Point2D67 Dim Line2D74 As Line2D Set Line2D74 = Factory2D5.CreateLine ( -600.829038, 513.923048, -650.414519, 391.961524 )

Line2D74.ReportName = 67 Line2D74.StartPoint = Point2D67 Line2D74.EndPoint = Point2D68 Dim Line2D75 As Line2D Set Line2D75 = Factory2D5.CreateLine ( -650.414519, 391.961524, -569.585481, 288.038476 )

Line2D75.ReportName = 68 Line2D75.StartPoint = Point2D68 Line2D75.EndPoint = Point2D69 Dim Line2D76 As Line2D Set Line2D76 = Factory2D5.CreateLine ( -569.585481, 288.038476, -439.170962, 306.076952 )

Line2D76.ReportName = 69 Line2D76.StartPoint = Point2D69 Line2D76.EndPoint = Point2D70 Dim Line2D77 As Line2D Set Line2D77 = Factory2D5.CreateLine ( -439.170962, 306.076952, -389.585481, 428.038476 )

Line2D77.ReportName = 70 Line2D77.StartPoint = Point2D70 Line2D77.EndPoint = Point2D65 Dim Line2D78 As Line2D Set Line2D78 = Factory2D5.CreateLine ( -520.000000, 410.000000, -430.000000, 480.000000 )

Line2D78.ReportName = 71 Line2D78.Construction = True Line2D78.StartPoint = Point2D64 Line2D78.EndPoint = Point2D71 Dim Circle2D79 As Circle2D Set Circle2D79 = Factory2D5.CreateClosedCircle ( -520.000000, 410.000000, 131.656118 )

Circle2D79.CenterPoint = Point2D64 Circle2D79.ReportName = 72 Circle2D79.Construction = True Dim Point2D80 As Point2D Set Point2D80 = Factory2D5.CreatePoint ( -569.585481, 288.038476 )

Point2D80.ReportName = 73 Dim Circle2D81 As Circle2D Set Circle2D81 = Factory2D5.CreateCircle ( -569.585481, 288.038476, 131.656118, 0.137444, 2.231839 )

Circle2D81.CenterPoint = Point2D80 Circle2D81.ReportName = 74 Circle2D81.Construction = True Circle2D81.EndPoint = Point2D68 Circle2D81.StartPoint = Point2D70 Dim Point2D82 As Point2D Set Point2D82 = Factory2D5.CreatePoint ( -470.414519, 531.961524 )

Point2D82.ReportName = 75 Dim Circle2D83 As Circle2D Set Circle2D83 = Factory2D5.CreateCircle ( -470.414519, 531.961524, 131.656118, 3.279037, 5.373432 )

Circle2D83.CenterPoint = Point2D82 Circle2D83.ReportName = 76 Circle2D83.Construction = True Circle2D83.StartPoint = Point2D67 Circle2D83.EndPoint = Point2D65 Dim Reference84 As Reference Set Reference84 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D11 )

Dim Reference85 As Reference Set Reference85 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D7 )

Dim Constraint86 As Constraint Set Constraint86 = Sketch3.Constraints.AddBiEltCst ( 10, Reference84, Reference85 )

Constraint86.Mode = 0 Dim Reference87 As Reference Set Reference87 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D13 )

Dim Reference88 As Reference Set Reference88 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D8 )

Dim Constraint89 As Constraint Set Constraint89 = Sketch3.Constraints.AddBiEltCst ( 13, Reference87, Reference88 )

Constraint89.Mode = 0 Dim Reference90 As Reference Set Reference90 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D15 )

Dim Reference91 As Reference Set Reference91 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D7 )

Dim Constraint92 As Constraint Set Constraint92 = Sketch3.Constraints.AddBiEltCst ( 10, Reference90, Reference91 )

Constraint92.Mode = 0 Dim Reference93 As Reference Set Reference93 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D16 )

Dim Reference94 As Reference Set Reference94 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D8 )

Dim Constraint95 As Constraint Set Constraint95 = Sketch3.Constraints.AddBiEltCst ( 13, Reference93, Reference94 )

Constraint95.Mode = 0

Dim Reference96 As Reference Set Reference96 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D19 )

Dim Reference97 As Reference Set Reference97 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D14 )

Dim Constraint98 As Constraint Set Constraint98 = Sketch3.Constraints.AddBiEltCst ( 2, Reference96, Reference97 )

Constraint98.Mode = 0 Dim Reference99 As Reference Set Reference99 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D21 )

Dim Reference100 As Reference Set Reference100 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D19 )

Dim Constraint101 As Constraint Set Constraint101 = Sketch3.Constraints.AddBiEltCst ( 11, Reference99, Reference100 )

Constraint101.Mode = 0 Dim Reference102 As Reference Set Reference102 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D25 )

Dim Reference103 As Reference Set Reference103 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D11 )

Dim Constraint104 As Constraint Set Constraint104 = Sketch3.Constraints.AddBiEltCst ( 8, Reference102, Reference103 )

Constraint104.Mode = 0 Dim Reference105 As Reference Set Reference105 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D28 )

Dim Reference106 As Reference Set Reference106 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D23 )

Dim Constraint107 As Constraint Set Constraint107 = Sketch3.Constraints.AddBiEltCst ( 4, Reference105, Reference106 )

Constraint107.Mode = 0 Dim Reference108 As Reference Set Reference108 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D32 )

Dim Reference109 As Reference Set Reference109 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D33 )

Dim Constraint110 As Constraint Set Constraint110 = Sketch3.Constraints.AddBiEltCst ( 2, Reference108, Reference109 )

Constraint110.Mode = 0 Dim Reference111 As Reference Set Reference111 = PartDocument0.Part.CreateReferenceFromGeometry ( ControlPoint2D36 )

Dim Reference112 As Reference Set Reference112 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D26 )

Dim Constraint113 As Constraint Set Constraint113 = Sketch3.Constraints.AddBiEltCst ( 2, Reference111, Reference112 )

Constraint113.Mode = 0 Set Reference111 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D43 )

Dim Reference114 As Reference Set Reference114 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D42 )

Dim Constraint115 As Constraint Set Constraint115 = Sketch3.Constraints.AddBiEltCst ( 2, Reference111, Reference114 )

Constraint115.Mode = 0

Dim Reference116 As Reference Set Reference116 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D45 )

Dim Reference117 As Reference Set Reference117 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D42 )

Dim Constraint118 As Constraint Set Constraint118 = Sketch3.Constraints.AddBiEltCst ( 11, Reference116, Reference117 )

Constraint118.Mode = 0 Dim Reference119 As Reference Set Reference119 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D55 )

Dim Reference120 As Reference Set Reference120 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D32 )

Dim Constraint121 As Constraint Set Constraint121 = Sketch3.Constraints.AddBiEltCst ( 4, Reference119, Reference120 )

Constraint121.Mode = 0

Dim Reference122 As Reference Set Reference122 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D62 )

Dim Reference123 As Reference Set Reference123 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D58 )

Dim Constraint124 As Constraint Set Constraint124 = Sketch3.Constraints.AddBiEltCst ( 4, Reference122, Reference123 )

Constraint124.Mode = 0 Dim Reference125 As Reference Set Reference125 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D63 )

Dim Reference126 As Reference Set Reference126 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D58 )

Dim Constraint127 As Constraint Set Constraint127 = Sketch3.Constraints.AddBiEltCst ( 4, Reference125, Reference126 )

Constraint127.Mode = 0 Dim Reference128 As Reference Set Reference128 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D62 )

Dim Reference129 As Reference Set Reference129 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D61 )

Dim Constraint130 As Constraint Set Constraint130 = Sketch3.Constraints.AddBiEltCst ( 4, Reference128, Reference129 )

Constraint130.Mode = 0 Dim Reference131 As Reference Set Reference131 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D63 )

Dim Reference132 As Reference Set Reference132 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D61 )

Dim Constraint133 As Constraint Set Constraint133 = Sketch3.Constraints.AddBiEltCst ( 4, Reference131, Reference132 )

Constraint133.Mode = 0 Dim Reference134 As Reference Set Reference134 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D55 )

Dim Constraint135 As Constraint Set Constraint135 = Sketch3.Constraints.AddMonoEltCst ( 5, Reference134 )

Constraint135.Mode = 0 Constraint135.Dimension.Value = 242.014690 Dim Reference136 As Reference Set Reference136 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D55 )

Dim Reference137 As Reference Set Reference137 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D58 )

Dim Constraint138 As Constraint Set Constraint138 = Sketch3.Constraints.AddBiEltCst ( 1, Reference136, Reference137 )

Constraint138.Mode = 0 Constraint138.Dimension.Value = 69.282603 Dim Reference139 As Reference Set Reference139 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference140 As Reference Set Reference140 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D65 )

Dim Constraint141 As Constraint Set Constraint141 = Sketch3.Constraints.AddBiEltCst ( 2, Reference139, Reference140 )

Constraint141.Mode = 0 Dim Reference142 As Reference Set Reference142 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference143 As Reference Set Reference143 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D66 )

Dim Constraint144 As Constraint Set Constraint144 = Sketch3.Constraints.AddBiEltCst ( 2, Reference142, Reference143 )

Constraint144.Mode = 0 Dim Reference145 As Reference Set Reference145 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference146 As Reference Set Reference146 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D67 )

Dim Constraint147 As Constraint Set Constraint147 = Sketch3.Constraints.AddBiEltCst ( 2, Reference145, Reference146 )

Constraint147.Mode = 0 Dim Reference148 As Reference

Set Reference148 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference149 As Reference Set Reference149 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D68 )

Dim Constraint150 As Constraint Set Constraint150 = Sketch3.Constraints.AddBiEltCst ( 2, Reference148, Reference149 )

Constraint150.Mode = 0 Dim Reference151 As Reference Set Reference151 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference152 As Reference Set Reference152 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D69 )

Dim Constraint153 As Constraint Set Constraint153 = Sketch3.Constraints.AddBiEltCst ( 2, Reference151, Reference152 )

Constraint153.Mode = 0 Dim Reference154 As Reference Set Reference154 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D79 )

Dim Reference155 As Reference Set Reference155 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D70 )

Dim Constraint156 As Constraint Set Constraint156 = Sketch3.Constraints.AddBiEltCst ( 2, Reference154, Reference155 )

Constraint156.Mode = 0 Dim Reference157 As Reference Set Reference157 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D81 )

Dim Reference158 As Reference Set Reference158 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D68 )

Dim Constraint159 As Constraint Set Constraint159 = Sketch3.Constraints.AddBiEltCst ( 2, Reference157, Reference158 )

Constraint159.Mode = 0 Dim Reference160 As Reference Set Reference160 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D81 )

Dim Reference161 As Reference Set Reference161 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D70 )

Dim Constraint162 As Constraint Set Constraint162 = Sketch3.Constraints.AddBiEltCst ( 2, Reference160, Reference161 )

Constraint162.Mode = 0 Dim Reference163 As Reference Set Reference163 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D81 )

Dim Reference164 As Reference Set Reference164 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D64 )

Dim Constraint165 As Constraint Set Constraint165 = Sketch3.Constraints.AddBiEltCst ( 2, Reference163, Reference164 )

Constraint165.Mode = 0 Dim Reference166 As Reference Set Reference166 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D80 )

Dim Reference167 As Reference Set Reference167 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D69 )

Dim Constraint168 As Constraint Set Constraint168 = Sketch3.Constraints.AddBiEltCst ( 2, Reference166, Reference167 )

Constraint168.Mode = 0 Dim Reference169 As Reference Set Reference169 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D83 )

Dim Reference170 As Reference Set Reference170 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D67 )

Dim Constraint171 As Constraint Set Constraint171 = Sketch3.Constraints.AddBiEltCst ( 2, Reference169, Reference170 )

Constraint171.Mode = 0 Dim Reference172 As Reference Set Reference172 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D83 )

Dim Reference173 As Reference Set Reference173 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D65 )

Dim Constraint174 As Constraint Set Constraint174 = Sketch3.Constraints.AddBiEltCst ( 2, Reference172, Reference173 )

Constraint174.Mode = 0

Dim Reference175 As Reference Set Reference175 = PartDocument0.Part.CreateReferenceFromGeometry ( Circle2D83 )

Dim Reference176 As Reference Set Reference176 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D64 )

Dim Constraint177 As Constraint Set Constraint177 = Sketch3.Constraints.AddBiEltCst ( 2, Reference175, Reference176 )

Constraint177.Mode = 0 Dim Reference178 As Reference Set Reference178 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D82 )

Dim Reference179 As Reference Set Reference179 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D66 )

Dim Constraint180 As Constraint Set Constraint180 = Sketch3.Constraints.AddBiEltCst ( 2, Reference178, Reference179 )

Constraint180.Mode = 0 Dim Reference181 As Reference Set Reference181 = PartDocument0.Part.CreateReferenceFromGeometry ( Point2D71 )

Dim Reference182 As Reference Set Reference182 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D72 )

Dim Constraint183 As Constraint Set Constraint183 = Sketch3.Constraints.AddBiEltCst ( 16, Reference181, Reference182 )

Constraint183.Mode = 0 Dim Reference184 As Reference Set Reference184 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D72 )

Dim Reference185 As Reference Set Reference185 = PartDocument0.Part.CreateReferenceFromGeometry ( Line2D75 )

Dim Constraint186 As Constraint Set Constraint186 = Sketch3.Constraints.AddBiEltCst ( 1, Reference184, Reference185 )

Constraint186.Mode = 0 Constraint186.Dimension.Value = 228.035085 Sketch3.CenterLine = Line2D45 Sketch3.Close