Solid Edge Part Type Library
Add3 Method
Number of space points for the creation of curve.
This array is to know whether point is space or key point. Constant used for this are:- igKeyPoint, igSpacePoint.
Parent edges for keypoint curve.
This is array of keypoint constants which states type of keypoint i.e. whether it is start,mid point etc .(igKeyPointStart, igKeyPointMid, igKeyPointEnd)
This array consists of position for space points.

This is the kind of end condition required by user at start point. It can be

1.seKeypointEndConditionNatural
2. seKeypointEndConditionTangent
3. seKeypointEndConditionCurvatureContinues
4. seKeypointEndConditionNormalToFace

Face to be used for normal option for start point of curve.
Magnitude of vector at start point
This is the kind of end condition required by user at end point. It can be either
1.seKeypointEndConditionNatural
2.seKeypointEndConditionTangent
3.seKeypointEndConditionCurvatureContinues
4.seKeypointEndConditionNormalToFace
Face to be used for normal option for end point of curve.
Magnitude of vector at end point
Description
Create Keypoint curve
Syntax
Visual Basic
Public Function Add3( _
   ByVal NumPoints As Long, _
   ByRef PointTypeConstants() As PointTypeConstants, _
   ByRef EdgeSet() As Object, _
   ByRef KeyPointTypeConstants() As KeyPointType, _
   ByRef posArray() As Double, _
   ByVal StartpointEndType As KeypointEndConditionConstants, _
   ByVal startFaceForNormalOption As Object, _
   ByVal StartpointMagnitude As Double, _
   ByVal EndpointEndType As KeypointEndConditionConstants, _
   ByVal endFaceForNormalOption As Object, _
   ByVal EndpointMagnitude As Double _
) As KeyPointCurve
Parameters
NumPoints
Number of space points for the creation of curve.
PointTypeConstants
ValueDescription
igCylinderEndPoint
igCylinderStartPoint
igKeyPoint
igSpacePoint
This array is to know whether point is space or key point. Constant used for this are:- igKeyPoint, igSpacePoint.
EdgeSet
Parent edges for keypoint curve.
KeyPointTypeConstants
ValueDescription
igKeyPointCallbackKeypoint Type - Callback
igKeyPointCenterKeypoint Type - Center
igKeyPointEndKeypoint Type - End
igKeyPointHorizontalSilhouetteKeypoint Type - Horizontal Silhouette
igKeyPointInteriorNodeKeypoint Type - Interior Node
igKeyPointInteriorPoleKeypoint Type - Interior Pole
igKeyPointMajorAxisKeypoint Type - Major Axis
igKeyPointMiddleKeypoint Type - Middle
igKeyPointMinorAxisKeypoint Type - Minor Axis
igKeyPointNonDefiningKeypoint Type - Non-defining
igKeyPointPointOnlyKeypoint Type - Point Only
igKeyPointStartKeypoint Type - Start
igKeyPointVerticalSilhouetteKeypoint Type - Vertical Silhouette
This is array of keypoint constants which states type of keypoint i.e. whether it is start,mid point etc .(igKeyPointStart, igKeyPointMid, igKeyPointEnd)
posArray
This array consists of position for space points.
StartpointEndType
ValueDescription
seKeypointEndConditionCurvatureContinuousKeypoint End Condition - Curvature Continuous
seKeypointEndConditionNaturalKeypoint End Condition - Natural
seKeypointEndConditionNormalToFaceKeypoint End Condition - Normal To Face
seKeypointEndConditionPeriodicKeypoint End Condition - Periodic
seKeypointEndConditionTangentKeypoint End Condition - Tangent

This is the kind of end condition required by user at start point. It can be

1.seKeypointEndConditionNatural
2. seKeypointEndConditionTangent
3. seKeypointEndConditionCurvatureContinues
4. seKeypointEndConditionNormalToFace

startFaceForNormalOption
Face to be used for normal option for start point of curve.
StartpointMagnitude
Magnitude of vector at start point
EndpointEndType
ValueDescription
seKeypointEndConditionCurvatureContinuousKeypoint End Condition - Curvature Continuous
seKeypointEndConditionNaturalKeypoint End Condition - Natural
seKeypointEndConditionNormalToFaceKeypoint End Condition - Normal To Face
seKeypointEndConditionPeriodicKeypoint End Condition - Periodic
seKeypointEndConditionTangentKeypoint End Condition - Tangent
This is the kind of end condition required by user at end point. It can be either
1.seKeypointEndConditionNatural
2.seKeypointEndConditionTangent
3.seKeypointEndConditionCurvatureContinues
4.seKeypointEndConditionNormalToFace
endFaceForNormalOption
Face to be used for normal option for end point of curve.
EndpointMagnitude
Magnitude of vector at end point
Example
Imports System.Runtime.InteropServices

Public Class KeyPointCurvewithC2Continuity

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim objApplication As SolidEdgeFramework.Application = Nothing
        Dim objPartDoc As SolidEdgePart.PartDocument = Nothing
        Dim objEdges As SolidEdgeGeometry.Edges = Nothing
        Dim objFaces(1) As Object
        Dim objEdge As SolidEdgeGeometry.Edge
        Dim objEndFaceForNormalOption As SolidEdgeGeometry.Face = Nothing

        Dim StartEndConditionAsObject As SolidEdgeConstants.KeypointEndConditionConstants
        Dim EndEndConditionAsObject As SolidEdgeConstants.KeypointEndConditionConstants

        Dim objEdgArr(0 To 2) As Object
        Dim kptypeArr(0 To 2) As SolidEdgeConstants.KeyPointType
        Dim objConstructions As SolidEdgePart.Constructions
        Dim PositionArray(8) As Double
        Dim pointtypeArr(0 To 2) As SolidEdgeConstants.PointTypeConstants
        Dim objKeypointCurve As SolidEdgePart.KeyPointCurve
        Dim objType As Type = Nothing
        Dim strRetStatusMsg As String
        strRetStatusMsg = ""

        Try

            ' Create/get the application with specific settings
            objApplication = Marshal.GetActiveObject("SolidEdge.Application")

            If objApplication Is Nothing Then
                ' Get the type from the Solid Edge ProgID
                objType = Type.GetTypeFromProgID("SolidEdge.Application")
                ' Start Solid Edge
                objApplication = Activator.CreateInstance(objType)
                ' Make Solid Edge visible
                objApplication.Visible = True
            End If
            'Get reference to active document
            objPartDoc = objApplication.ActiveDocument()

            'obtain constrction object
            objConstructions = objPartDoc.Constructions

            'obtain the first model and get all its edges
            objEdges = objPartDoc.Models.Item(1).ExtrudedProtrusions.Item(1).Edges(SolidEdgeConstants.FeatureTopologyQueryTypeConstants.igQueryAll)

            'fill the edges in array
            ' Get the Edges and store them in an Array
            objEdgArr(0) = objEdges(1)
            objEdgArr(1) = Nothing
            objEdgArr(2) = objEdges(3)

            'obtain the face of the edge so that we will use it for normal to face option
            objEdge = objEdges.Item(3)
            objEdge.GetFaces(2, objFaces)
            objEndFaceForNormalOption = objFaces(1)

            'fill the key point type aaray
            kptypeArr(0) = SolidEdgeFramework.KeyPointType.igKeyPointStart
            kptypeArr(1) = SolidEdgeFramework.KeyPointType.igKeyPointStart
            kptypeArr(2) = SolidEdgeFramework.KeyPointType.igKeyPointStart

            'Define an Array of Points
            PositionArray(0) = 0
            PositionArray(1) = 0
            PositionArray(2) = 0
            PositionArray(3) = 0.02
            PositionArray(4) = 0.02
            PositionArray(5) = 0.02
            PositionArray(6) = 0
            PositionArray(7) = 0
            PositionArray(8) = 0

            'now fill the point type array
            pointtypeArr(0) = SolidEdgeConstants.PointTypeConstants.igKeyPoint
            pointtypeArr(1) = SolidEdgeConstants.PointTypeConstants.igSpacePoint
            pointtypeArr(2) = SolidEdgeConstants.PointTypeConstants.igKeyPoint

            'now create keypoint curve
            objKeypointCurve = objConstructions.KeyPointCurves.Add3(3, pointtypeArr, objEdgArr, kptypeArr, PositionArray, _
                                                                    SolidEdgeConstants.KeypointEndConditionConstants.seKeypointEndConditionCurvatureContinuous, _
                                                                    Nothing, _
                                                                    0.01, _
                                                                    SolidEdgeConstants.KeypointEndConditionConstants.seKeypointEndConditionNormalToFace, _
                                                                    objEndFaceForNormalOption, _
                                                                    0.01)


            'get startpoint end condition
            StartEndConditionAsObject = objKeypointCurve.StartpointEndCondition

            'get endpoint end condition
            EndEndConditionAsObject = objKeypointCurve.EndpointEndCondition

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class
See Also

KeyPointCurves Collection  | KeyPointCurves Members