# NurbsSurface

A NURBS surface.

## Example

app = cf.GetApplication()
project = app:NewProject()

-- Create a NURBS surface with 2 rows and 3 columns.
-- Both 'Points' or 'named points' may be used.

namedPoint1 = project.NamedPoints:Add("nurbsControl1", 1, "1+1", "pi")
pointsTable =
{{cf.Point(0,0,0), cf.Point(-1,2,0), cf.Point(0,4,0)},
{cf.Point(2,1,0), namedPoint1     , cf.Point(2,4,0)}}
weightsTable =
{{1, 1, "2-1"},
{1, 5, "1*1"}}
nurbs = project.Geometry:AddNurbsSurface(pointsTable, weightsTable)



## Inheritance

The NurbsSurface object is derived from the Geometry object.

## Property List

BoundingBox
A box indicating the bounding box of this entity. (Read only Box)
Columns
The degree of the surface's defining Bezier curves in the surface-parameter space V' direction. (Read/Write number)
Faulty
Indicates whether the geometry has faults. (Read only boolean)
Included
Specifies whether the geometry must be included or excluded. (Read/Write boolean)
Label
The object label. (Read/Write string)
LocalWorkplane
The NURBS surface operator workplane. (Read only LocalWorkplane)
Locked
Specifies whether the geometry must be locked to prevent modifications. (Read/Write boolean)
MeshElementCount
Get the total number of mesh elements for the geometry part. (Read only number)
Parent
The parent part of this geometry. If this is a top level part nil will be returned. (Read only Geometry)
Rows
The degree of the surface's defining Bezier curves in the surface-parameter space U' direction. (Read/Write number)
SimulationMeshInfo
The quality of the mesh can be examined through these properties. (Read only MeshInfo)
SimulationMeshPresent
Specifies whether the geometry has an associated simulation mesh. (Read only boolean)
Type
The object type string. (Read only string)
Visible
Specifies whether the geometry must be shown or hidden. (Read/Write boolean)

## Collection List

Children
The collection of child operators of the operator. (ChildOperatorCollection of Geometry.)
Edges
The collection of edges of the operator. (EdgeCollection of Edge.)
Faces
The collection of faces of the operator. (FaceCollection of Face.)
Regions
The collection of regions of the operator. (RegionCollection of Region.)
Transforms
The collection of transforms on the operator. (TransformGeometryCollection of Transform.)
Wires
The collection of wires of the operator. (WireCollection of Edge.)

## Method List

ConvertToPrimitive ()
Convert the geometry into its primitive base form, returning a new part without the concrete type properties. The reference to the original part will become invalid. (Returns a Geometry object.)
CopyAndMirror (properties table)
Apply a copy and mirror using a table defining the properties. (Returns a Geometry object.)
CopyAndRotate (origin Coordinate, rotationaxis Coordinate, angle Expression, count number)
Copy and rotate the geometry. (Returns a List of Geometry object.)
CopyAndRotate (properties table, count number)
Apply a copy and rotate using a table defining the properties. (Returns a List of Geometry object.)
CopyAndTranslate (from Coordinate, to Coordinate, count number)
Copy and translate the geometry. (Returns a List of Geometry object.)
CopyAndTranslate (properties table, count number)
Apply a copy and translate using a table defining the properties. (Returns a List of Geometry object.)
Delete ()
Delete the geometry.
DeleteMesh ()
Deletes the geometry's associated simulation mesh.
Duplicate ()
Duplicates the geometry. (Returns a Geometry object.)
Explode ()
Explode the geometry into separate surface and edge parts. The new parts represent a snapshot of the geometry at the time it was exploded. (Returns a List of Geometry object.)
GetPointNExpression (row number, column number)
Get the control point N expression at the specified row and column. (Returns a string object.)
GetPointUExpression (row number, column number)
Get the control point U expression at the specified row and column. (Returns a string object.)
GetPointVExpression (row number, column number)
Get the control point V expression at the specified row and column. (Returns a string object.)
GetPoints ()
Get the control points of NURBS surface. (Returns a List of List of Point object.)
GetWeights ()
Get the weights at the control points of NURBS surface. (Returns a List of List of Expression object.)
ReEvaluate ()
Re-evaluate the model by initiating the mapping algorithm. The algorithm keeps track of the individual items when the geometry is modified. Models created in earlier versions of CADFEKO versions may not contain all the mapping information. As a result some items may be marked suspect.
ReverseFaceNormals ()
Reverse the geometry face normals.
ReverseFaceNormals (faces List of Face)
Reverse the geometry face normals.
SetPointNExpression (row number, column number, expression Expression)
Set the control point N expression at the specified row and column.
SetPointUExpression (row number, column number, expression Expression)
Set the control point U expression at the specified row and column.
SetPointVExpression (row number, column number, expression Expression)
Set the control point V expression at the specified row and column.
SetPoints (points List of List of Coordinate)
Set all control points of NURBS surface. The provided 2D table size must match the surface's current U' and V' direction orders.
SetPointsAndWeights (points List of List of Coordinate, weights List of List of Expression)
Set all control points and all weights of NURBS surface. New U' and V' direction orders may be derived implicitly provided 2D tables' size.
SetWeights (weights List of List of Expression)
Set the weights at all control points of NURBS surface. The provided 2D table's size must match the surface's current U' and V' direction orders.
Unlinks the geometry's associated simulation mesh. (Returns a Mesh object.)

## Property Details

BoundingBox
A box indicating the bounding box of this entity.
Type
Box
Access
Columns
The degree of the surface's defining Bezier curves in the surface-parameter space V' direction.
Type
number
Access
Faulty
Indicates whether the geometry has faults.
Type
boolean
Access
Included
Specifies whether the geometry must be included or excluded.
Type
boolean
Access
Label
The object label.
Type
string
Access
LocalWorkplane
The NURBS surface operator workplane.
Type
LocalWorkplane
Access
Locked
Specifies whether the geometry must be locked to prevent modifications.
Type
boolean
Access
MeshElementCount
Get the total number of mesh elements for the geometry part.
Type
number
Access
Parent
The parent part of this geometry. If this is a top level part nil will be returned.
Type
Geometry
Access
Rows
The degree of the surface's defining Bezier curves in the surface-parameter space U' direction.
Type
number
Access
SimulationMeshInfo
The quality of the mesh can be examined through these properties.
Type
MeshInfo
Access
SimulationMeshPresent
Specifies whether the geometry has an associated simulation mesh.
Type
boolean
Access
Type
The object type string.
Type
string
Access
Visible
Specifies whether the geometry must be shown or hidden.
Type
boolean
Access

## Collection Details

Children
The collection of child operators of the operator.
Type
ChildOperatorCollection
Edges
The collection of edges of the operator.
Type
EdgeCollection
Faces
The collection of faces of the operator.
Type
FaceCollection
Regions
The collection of regions of the operator.
Type
RegionCollection
Transforms
The collection of transforms on the operator.
Type
TransformGeometryCollection
Wires
The collection of wires of the operator.
Type
WireCollection

## Method Details

ConvertToPrimitive ()
Convert the geometry into its primitive base form, returning a new part without the concrete type properties. The reference to the original part will become invalid.
Return
Geometry
The new primitive geometry base.
CopyAndMirror (properties table)
Apply a copy and mirror using a table defining the properties.
Input Parameters
properties(table)
A table of properties defining the mirror transform.
Return
Geometry
The mirrored geometry.
CopyAndRotate (origin Coordinate, rotationaxis Coordinate, angle Expression, count number)
Copy and rotate the geometry.
Input Parameters
origin(Coordinate)
The coordinates of the origin of the rotation.
rotationaxis(Coordinate)
The axis of rotation.
angle(Expression)
The angle of rotation (degrees).
count(number)
The number of copies.
Return
List of Geometry
The list of rotated geometry.
CopyAndRotate (properties table, count number)
Apply a copy and rotate using a table defining the properties.
Input Parameters
properties(table)
A table of properties defining the rotate transform.
count(number)
The number of transform copies.
Return
List of Geometry
The list of rotated geometry.
CopyAndTranslate (from Coordinate, to Coordinate, count number)
Copy and translate the geometry.
Input Parameters
from(Coordinate)
Translate from coordinate.
to(Coordinate)
Translate to coordinate.
count(number)
The number of copies.
Return
List of Geometry
The list of translated geometry.
CopyAndTranslate (properties table, count number)
Apply a copy and translate using a table defining the properties.
Input Parameters
properties(table)
A table of properties defining the translate transform.
count(number)
The number of transform copies.
Return
List of Geometry
The list of translated geometry.
Delete ()
Delete the geometry.
DeleteMesh ()
Deletes the geometry's associated simulation mesh.
Duplicate ()
Duplicates the geometry.
Return
Geometry
The duplicated geometry operator.
Explode ()
Explode the geometry into separate surface and edge parts. The new parts represent a snapshot of the geometry at the time it was exploded.
Return
List of Geometry
The list of new surface and edge parts.
GetPointNExpression (row number, column number)
Get the control point N expression at the specified row and column.
Input Parameters
row(number)
The row index of the control point to get. Range [1, Rows].
column(number)
The column index of the control point get. Range [1, Columns].
Return
string
The expression.
GetPointUExpression (row number, column number)
Get the control point U expression at the specified row and column.
Input Parameters
row(number)
The row index of the control point to get. Range [1, Rows].
column(number)
The column index of the control point get. Range [1, Columns].
Return
string
The expression.
GetPointVExpression (row number, column number)
Get the control point V expression at the specified row and column.
Input Parameters
row(number)
The row index of the control point to get. Range [1, Rows].
column(number)
The column index of the control point get. Range [1, Columns].
Return
string
The expression.
GetPoints ()
Get the control points of NURBS surface.
Return
List of List of Point
The 2D table containing the control points.
GetWeights ()
Get the weights at the control points of NURBS surface.
Return
List of List of Expression
The 2D table containing the weights at each control point.
ReEvaluate ()
Re-evaluate the model by initiating the mapping algorithm. The algorithm keeps track of the individual items when the geometry is modified. Models created in earlier versions of CADFEKO versions may not contain all the mapping information. As a result some items may be marked suspect.
ReverseFaceNormals ()
Reverse the geometry face normals.
ReverseFaceNormals (faces List of Face)
Reverse the geometry face normals.
Input Parameters
faces(List of Face)
The list of faces to reverse normal.
SetPointNExpression (row number, column number, expression Expression)
Set the control point N expression at the specified row and column.
Input Parameters
row(number)
The row index of the control point to be set. Range [1, Rows].
column(number)
The column index of the control point to be set. Range [1, Columns].
expression(Expression)
The expression.
SetPointUExpression (row number, column number, expression Expression)
Set the control point U expression at the specified row and column.
Input Parameters
row(number)
The row index of the control point to be set. Range [1, Rows].
column(number)
The column index of the control point to be set. Range [1, Columns].
expression(Expression)
The expression.
SetPointVExpression (row number, column number, expression Expression)
Set the control point V expression at the specified row and column.
Input Parameters
row(number)
The row index of the control point to be set. Range [1, Rows].
column(number)
The column index of the control point to be set. Range [1, Columns].
expression(Expression)
The expression.
SetPoints (points List of List of Coordinate)
Set all control points of NURBS surface. The provided 2D table size must match the surface's current U' and V' direction orders.
Input Parameters
points(List of List of Coordinate)
The 2D table containing the control points.
SetPointsAndWeights (points List of List of Coordinate, weights List of List of Expression)
Set all control points and all weights of NURBS surface. New U' and V' direction orders may be derived implicitly provided 2D tables' size.
Input Parameters
points(List of List of Coordinate)
The 2D table containing the control points.
weights(List of List of Expression)
The 2D table containing the weights at each control point.
SetWeights (weights List of List of Expression)
Set the weights at all control points of NURBS surface. The provided 2D table's size must match the surface's current U' and V' direction orders.
Input Parameters
weights(List of List of Expression)
The 2D table containing the weights at each control point.