'nurs' [<name(char9)>|'!' ['DEFINE' ['COMPACT'] ->
              <u.deg> <v.deg> <u.npnt> <v.npnt> <u.nknt> <v.nknt>]|
              ['CONTROL' <u.index> <v.index> [<pnt>|<x y z>] ->
              ['KNOT' <U>|<V> <index> <value>]|
              ['END']] |
          [ <!> <setname(containing surfaces)>]
This keyword is used to define a nurbs shape. Surfaces might use nurbs to define the interior geometry. There are two possible ways of definition. The first using predefined point names and the second by specifying the coordinates explicitly. When the coordinates are defined, then the parameter ”COMPACT” must be used as shown above but when point names are used, then ”COMPACT” must be omitted. CAD-interfaces might use this functionality.

REMARK: The knot-vector has to have a multiplicity of “degree+1”.

There is also a small nurbs-building capability in cgx. It is possible to use existing surfaces (with 4 edges) which do not already reference a given nurbs or shape. The new nurbs will follow the Coons-algorithm but can be modified by moving the control points. NOTE: The number of control points is controlled by the divisions of the lines defining the surface edges. The surfaces must be stored in a set. For example,

nurs ! surfaceSet

will define nurbs for all surfaces stored in the set surfaceSet. This nurbs can be used to define the interiour of other surfaces. This is necessary if “tr3u” elements (unstructured triangles) should be used and if the surface is not related to a given shape. Note: “qsur” offers another option to create nurbs related surfaces by associating existing surfaces to an overlapping existing NURBS. The interiour of the surface is then defined by the NURBS.

Remark: Internally nurbs are always linked by a shape to a surface definition. Such a shape will be automatically generated when a nurbs is finished by the “END” parameter using the same name as the nurbs. This shapes will not be written to a file but using the prnt command will list them:

shpe N001 NURS N001