Solid Edge Geometry Type Library
GetTangents Method
Specifies the number of points to be evaluated.
Returns the array of parametric points at which to evaluate the surface tangents.
Returns the array of unit tangent vectors in the direction of increasing u. Can be NULL if only v-tangents are required.
Returns the array of unit tangent vectors in the v direction, governed by the right-hand rule. Can be NULL if only u-tangents are required.
Description
Computes the two unit-vector tangents, given an array of parametric points on the surface.
Syntax
Visual Basic
Public Sub GetTangents( _
   ByVal NumParams As Long, _
   ByRef Params() As Double, _
   ByRef UTangents() As Double, _
   ByRef VTangents() As Double _
) 
Parameters
NumParams
Specifies the number of points to be evaluated.
Params
Returns the array of parametric points at which to evaluate the surface tangents.
UTangents
Returns the array of unit tangent vectors in the direction of increasing u. Can be NULL if only v-tangents are required.
VTangents
Returns the array of unit tangent vectors in the v direction, governed by the right-hand rule. Can be NULL if only u-tangents are required.
Remarks
This method computes the two unit-vector tangents in the u and v direction at each of the points, given an array of parametric points (u, v) on the surface. The tangent in the u-direction is always pointed in the direction of increasing u value. But the tangent in the v-direction is given by the cross-product between the Face normal and the U-tangent. This satisfies the right-hand rule for a triad formed with the u-tangent, v-tangent, and the Face-normal, respectively.
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 dblUTangents() As Double
    Dim dblVTangents() 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 tangents at a point (the minimum & maximum parameters found using GetParamRange method) on a Face
    dblParam(0) = PI / 2
    dblParam(1) = 0.05
    dblParam(2) = 3 * PI / 2
    dblParam(3) = 0.1
    Call objFace.GetTangents(NumParams:=2, Params:=dblParam, UTangents:=dblUTangents, _
                             VTangents:=dblVTangents)
    ' USER DISPLAY
    ' Release objects
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objBody = Nothing
    Set objFace = Nothing
End Sub
See Also

Face Object  | Face Members

Send comments on this topic.