## NurbsSurface.EvaluatePosition

### Description

Returns the Position and optionally U tangent, V Tangent,Normal at a given UV value.
Note: This method uses output arguments. C# and some scripting languages (such as JScript and PerlScript) don't support arguments passed by reference. However, there is a alternate version of this method which is considered safe to use with C#, JScript and PerlScript: NurbsSurface.EvaluatePosition2.

### C# Syntax

    NurbsSurface.EvaluatePosition( Double in_dUValue, Double in_dVValue, Object& out_pPosition, Object& out_pUTangent, Object& out_pVTangent, Object& out_pNormal );

### Scripting Syntax

    NurbsSurface.EvaluatePosition( UValue, VValue, [Position], [UTangent], [VTangent], [Normal] );

### Parameters

Parameter | Type | Description
--- | --- | ---
UValue | Double | The UValue at which we want to evaluate the surface.
VValue | Double | The VValue at which we want to evaluate the surface.
Position | SIVector3 (contains the position) | Position at the given UV.
UTangent | SIVector3 (contains the U tangent) | Tangent in U at the given UV.
VTangent | SIVector3 (contains the V tangent) | Tangent in V at the given UV.
Normal | SIVector3 (contains the normal) | Normal at the given UV.

### Examples

#### VBScript Example

    set oRoot = Application.ActiveProject.ActiveScene.Root

    set oSphere = oRoot.AddGeometry( "Sphere", "NurbsSurface" )

    oSphere.ActivePrimitive.Geometry.Surfaces(0).EvaluatePosition _

    	3.0, 4.0, oPosition,oUTangent,oUTangent,oNormal

    LogMessage "The position at 3.0, 4.0 is x :" &  oPosition.x	& _

    	" y: " & oPosition.y & " z: " & oPosition.z