Solid Edge Geometry Type Library
GetCurvatures Method
Specifies the number of points to be evaluated.
Specifies the array of parametric points at which to evaluate the surface curvatures.
Returns the array of unit tangent vectors for every point, denoting the direction of maximum curvature. Can be NULL if not required.
Returns the array of signed maximum curvature values. Can be NULL if not required.
Returns the array of signed minimum curvature values. Can be NULL if not required.
Description
Computes the minimum and maximum curvatures of the surface at a given parametric point on the surface.
Syntax
Visual Basic
Public Sub GetCurvatures( _
   ByVal NumParams As Long, _
   ByRef Params() As Double, _
   ByRef MaxTangents() As Double, _
   ByRef MaxCurvatures() As Double, _
   ByRef MinCurvatures() As Double _
) 
Parameters
NumParams
Specifies the number of points to be evaluated.
Params
Specifies the array of parametric points at which to evaluate the surface curvatures.
MaxTangents
Returns the array of unit tangent vectors for every point, denoting the direction of maximum curvature. Can be NULL if not required.
MaxCurvatures
Returns the array of signed maximum curvature values. Can be NULL if not required.
MinCurvatures
Returns the array of signed minimum curvature values. Can be NULL if not required.
Remarks
This method computes the minimum and the maximum curvatures (also called the principle curvatures) of the surface at a given parametric point (U, V) on the surface. It returns the direction in which the maximum curvature occurs. The algebraic sign of each curvature that is returned signifies if the center of curvature occurs in the same direction of the surface normal or not. The sign is positive if the center lies in the opposite direction. Curvature can be 0, indicating an infinite radius of curvature (flat surface).
Example
Private Sub Form_Load()
    Dim objApp As solidedgeframework.Application
    Dim objDoc As SolidEdgepart.PartDocument
    Dim objBody As solidedgegeometry.Body
    Dim objFace As solidedgegeometry.Face
    Dim dblParam(3) As Double
    Dim dblMaxTang() As Double
    Dim dblMaxCurv() As Double
    Dim dblMinCurv() As Double
    Const TESTFILE = "T:\vbtests\testcases\HalfCyl.par"
    ' 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
    Call objDoc.Close
    ' opening the testfile
    Set objDoc = objApp.Documents.Open(TESTFILE)
    ' getting the body object of the model
    Set objBody = objDoc.Models(1).Body
    ' getting a particular face from the collection of faces on the body
    Set objFace = objBody.Faces(FaceType:=igQueryAll).Item(2)
    ' getting the curvatures at a point (u=0.5, v=0.5) on a Face
    dblParam(0) = PI
    dblParam(1) = 0.05
    dblParam(2) = 3 * PI / 2
    dblParam(3) = 0.1
    Call objFace.GetCurvatures(NumParams:=2, Params:=dblParam, MaxTangents:=dblMaxTang, _
                               MaxCurvatures:=dblMaxCurv, MinCurvatures:=dblMinCurv)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objBody = Nothing
    Set objFace = Nothing
End Sub
See Also

Face Object  | Face Members