## NurbsCurveList

Object Hierarchy | Related C++ Class: NurbsCurveList

### Inheritance

SIObject

Geometry

NurbsCurveList

### Description

A NurbsCurveList is a kind of Geometry and is a collection of NurbsCurve objects. You can navigate the NurbsCurveList using the generic objects such as Point and Sample or you can navigate using objects that are specific to the NurbsCurveList such as ControlPoint and NurbsSample. A nurbs curve is defined as follows; surface can be defined similarly in 2 dimensions:
degree: k, order: k+1, Number of Control Points: n, Knot sequence = t(0), t(1)... t(k)... t(n)... t(n+k+1)
...where the knot sequence is non-decreasing which means t(0) <= t(1) <= ..... <= t(n)... <= t(n+k+1)
The above is a general definition for a nurbs curve and IGES standard supports this definition. However in most industrial design systems, people put some constraints on the knot sequence: for a degree k curve, the first k+1 knots and the last k+1 knots are equal, e.g. t(0) = t(1) = ... = t(k) and t(n+1) = t(n+2) =... = t(n+k+1). This ensures the curve passes the start ControlPoint and end ControlPoint which is a nice property to control the final shape of nurbs curve. For now we only support this constrained version of IGES format as we expect most design systems are using this format.

### Methods

AddCluster | AddCurve | AddEmptyCluster | AddICEAttribute
CreateSubComponent | EvaluateClusterProperty | EvaluateNormals | EvaluatePositions
Get | Get2 | GetBoundingBox | GetBoundingCapsule
GetBoundingSphere | GetClosestCurvePosition | GetClosestCurvePosition2 | GetClosestLocations
GetClosestLocationsWithinRadius | GetICEAttributeFromName | GetRaycastIntersections | GetSurfacePointLocatorsFromPoints
IsClassOf | IsEqualTo | RemoveICEAttribute | SaveShapeKey
Set | SetupPointLocatorQueries |  |

### Properties

Application | Cache | Categories | Closed
Clusters | ControlPoints | Curves | Facets
FullName | Help | ICEAttributes | Length
Name | NestedObjects | Origin | OriginPath
Parent | Points | Samples | Segments
Triangles | Type |  |

### Examples

#### VBScript Example

    set oObject = Application.ActiveProject.ActiveScene.Root.AddGeometry("Arc","NurbsCurve")
    set oNurbsCurveList = oObject.ActivePrimitive.Geometry

### See Also

NurbsCurve Primitive.Geometry X3DObject.AddNurbsCurveList X3DObject.AddNurbsCurve