Solid Edge Geometry Type Library
GetCurvature Method
Specifies the number of parameters to be evaluated.
Specifies the array of parameters at which to evaluate the curvatures.
Returns the array of unit vectors that point toward the center of curvature. Can be NULL if not required.
Returns the array of positive curvature values. The value returned can be 0 (when the radius of curvature is infinite). Can be NULL if not required.
Description
Computes the curvature of the referenced edge at a specified point.
Syntax
Visual Basic
Public Sub GetCurvature( _
   ByVal NumParams As Long, _
   ByRef Params() As Double, _
   ByRef Directions() As Double, _
   ByRef Curvatures() As Double _
) 
Parameters
NumParams
Specifies the number of parameters to be evaluated.
Params
Specifies the array of parameters at which to evaluate the curvatures.
Directions
Returns the array of unit vectors that point toward the center of curvature. Can be NULL if not required.
Curvatures
Returns the array of positive curvature values. The value returned can be 0 (when the radius of curvature is infinite). Can be NULL if not required.
Remarks
This method computes the curvature of the referenced curve edge at a specified point, given an array of parameters on the curve. This method outputs the curvature direction as the unit-vector to the center of curvature. The curvature returned is always positive. The osculating circle that passes through the point defines curvature direction and value at a point on a curve. The osculating circle is the limit of circles that pass through the point and two points on the curve close to the given point. The curvature direction is the direction of the vector from the point to the center of the osculating circle. The curvature direction is always orthogonal to the tangent. Radius of curvature is 1/curvature. The value of curvature can be 0, indicating an infinite radius of curvature (line).
Example
Private Sub Form_Load()
    Dim objApp As SolidEdgeFramework.Application
    Dim objDoc As SolidEdgePart.PartDocument
    Dim objBody As SolidEdgeGeometry.Body
    Dim objEdge As SolidEdgeGeometry.Edge
    Dim dblParams(1 To 2) As Double
    Dim dblDirections() As Double
    Dim dblCurvatures() As Double
    ' Report errors
    Const PI = 3.14159265358979
    ' Create/get the application with specific settings
    On Error Resume Next
    Set objApp = GetObject(, "SolidEdge.Application")
    If Err Then
        Err.Clear
        Set objApp = CreateObject("SolidEdge.Application")
        Set objDoc = objApp.Documents.Add("SolidEdge.PartDocument")
        objApp.Visible = True
    Else
        Set objDoc = objApp.ActiveDocument
    End If
    ' creating the base feature
    If CreateModel(objDoc) <> "" Then
        MsgBox "Error creating the model"
        Exit Sub
    End If
    ' getting the body object of the model
    Set objBody = objDoc.Models(1).Body
    'getting an edge from the collection of edges of the body
    Set objEdge = objBody.Edges(EdgeType:=igQueryAll).Item(1)
    'getting the curvature at two points (u=-0.1 and u=0) on an edge
    dblParams(1) = 0
    dblParams(2) = PI
    Call objEdge.GetCurvature(NumParams:=2, Params:=dblParams, Directions:=dblDirections, _
                              Curvatures:=dblCurvatures)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objBody = Nothing
    Set objEdge = Nothing
End Sub
See Also

Edge Object  | Edge Members