The following functions provide shorthand ways to construct NURBSCVSurface values that you can then add to a NURBSSet for creation in the scene.

**MakeNURBSLatheSurface**
<curve>
<origin> <north> <start> <end>

This function generates a NURBS surface of revolution given an input curve, origin, up axis, and start and end angles. The output of this function is a NURBS Surface. Note that this is a CV surface that matches the definition, not a relational surface.

**curve**
<NURBSCurve>

This is the NURBS curve that is revolved.

**origin**
<point3>

Specifies the origin of the revolution.

**north**
<point3>

This is the axis that specified the up direction.

**start**
<float>

This is the start angle of the revolution in radians.

**end**
<float>

This is the end angle of the revolution in radians.

**MakeNURBSSphereSurface**
<radius>
<center>
<north_axis> <ref_axis> <startU>
<endU> <startV> <endV> [**open**:<boolean>]

This
function generates a NURBS sphere. The output of this function is a
NURBS Surface. **Note**
that
this is a CV surface that matches the definition, not a relational
surface.

**radius**
<float>

The radius of the sphere.

**center**
<Point3>

The center point of origin of the sphere.

**north_axis**
<Point3>

This specifies the up axis. Use (Point3 0 0 1) for the Z axis for example.

**ref_Axis**
<Point3>

This
is the direction of the seam. The sphere primitive uses (Point3 0
-1 0) as this value. The **northAxis**
and **refAxis**
must
be perpendicular to one another.

**startU**
<float>

The start angle for the sphere in the U direction, specified in radians.

**endU**
<float>

The end angle for the sphere in the U direction, specified in radians.

**startV**
<float>

The start angle for the sphere in the V direction, specified in radians.

**endV**
<float>

The end angle for the sphere in the V direction, specified in radians.

**open**:
<boolean>

If **true**, the surface is
closed; otherwise the surface is not closed. Defaults to
**false**.

**MakeNURBSCylinderSurface**
<radius>
<height> <origin> <sym_axis> <ref_axis>
<start> <end> [**open**:<boolean>]

This
function generates a NURBS cylinder. The output of this function is
a NURBS Surface. **Note**
that
this is a CV surface that matches the definition, not a relational
surface.

**radius**
<float>

The radius of the cylinder.

**height**
<float>

The height of the cylinder.

**origin**
<Point3>

The origin of the cylinder.

**sym_Axis**
<Point3>

The axis of symmetry. The standard cylinder primitive specifies (Point3 0 0 1).

**ref_Axis**
<Point3>

This
is the direction of the seam. The standard cylinder primitive
specifies (Point3 0 1 0). The **symAxis**
and **refAxis**
must
be perpendicular to one another.

**start**
<float>

The start angle in radians.

**end**
<float>

The end angle in radians.

**open**:
<boolean>

If **true**, the surface is
closed; otherwise the surface is not closed. Defaults to
**false**.

**MakeNURBSConeSurface**
<radius1>
<radius2> <height> <origin> <sym_axis>
<ref_axis> <start> <end> [**open**:<boolean>]

This
function generates a NURBS cone surface. The output of this
function is a NURBS Surface. **Note**
that
this is a CV surface that matches the definition, not a relational
surface.

**radius1**
<float>

One of the radii of the cone.

**radius2**
<float>

The other radius of the cone.

**height**
<float>

The height of the cone.

**origin**
<Point3>

The origin of the cone.

**sym_Axis**
<Point3>

The axis of symmetry.

**ref_Axis**
<Point3>

This
is the direction of the seam. The **symAxis**
and **refAxis**
must
be perpendicular to one another.

**start**
<float>

The start angle in radians.

**end**
<float>

The end angle in radians.

**open**:
<boolean>

If **true**, the surface is
closed; otherwise the surface is not closed. Defaults to
**false**.

**MakeNURBSTorusSurface**
<majorRad>
<minorRad> <origin> <sym_axis> <ref_axis>
<startU> <endU> <startV> <endV>
[**open**:<boolean>]

This function generates a NURBS torus surface. The output of this function is a NURBS Surface. Note that this is a CV surface that matches the definition, not a relational surface.

**
Note:**

This surface is not closed surface.

**majorRad**
<float>

This is the radius of the entire 'donut' shape.

**minorRad**
<float>

The is the radius of the 'tube'.

**origin**
<Point3>

The origin of the cone.

**sym_Axis**
<Point3>

The axis of symmetry.

**ref_Axis**
<Point3>

This
is the direction of the seam. The **symAxis**
and **refAxis**
must
be perpendicular to one another.

**startU**
<float>

The start angle of the torus in the U direction.

**endU**
<float>

The end angle of the torus in the U direction.

**startV**
<float>

The start angle of the torus in the V direction.

**endV**
<float>

The end angle of the torus in the V direction.

**open**:
<boolean>

If **true**, the surface is
closed; otherwise the surface is not closed. Defaults to
**false**.