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

**MakeNURBSLatheSurface**

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**

This is the NURBS curve that is revolved.

**origin**

Specifies the origin of the revolution.

**north**

This is the axis that specified the up direction.

**start**

This is the start angle of the revolution in radians.

**end**

This is the end angle of the revolution in radians.

**MakeNURBSSphereSurface**
**open**:

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**

The radius of the sphere.

**center**

The center point of origin of the sphere.

**north_axis**

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

**ref_Axis**

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**

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

**endU**

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

**startV**

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

**endV**

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

**open**:

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

**MakeNURBSCylinderSurface**
<>>
**open**:

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**

The radius of the cylinder.

**height**

The height of the cylinder.

**origin**

The origin of the cylinder.

**sym_Axis**

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

**ref_Axis**

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**

The start angle in radians.

**end**

The end angle in radians.

**open**:

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

**MakeNURBSConeSurface**
**open**:

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**

One of the radii of the cone.

**radius2**

The other radius of the cone.

**height**

The height of the cone.

**origin**

The origin of the cone.

**sym_Axis**

The axis of symmetry.

**ref_Axis**

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

**start**

The start angle in radians.

**end**

The end angle in radians.

**open**:

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

**MakeNURBSTorusSurface**
**open**:

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**

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

**minorRad**

The is the radius of the 'tube'.

**origin**

The origin of the cone.

**sym_Axis**

The axis of symmetry.

**ref_Axis**

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

**startU**

The start angle of the torus in the U direction.

**endU**

The end angle of the torus in the U direction.

**startV**

The start angle of the torus in the V direction.

**endV**

The end angle of the torus in the V direction.

**open**:

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