NURBS

Non-Uniform Rational B-Spline (NURBS) is a mathematical representation of 3D geometry providing accurate description of any shape. It is a type of curve modeling, as opposed to polygonal modeling. In Hull it is used, for example, in Hull Viewer model generation and in shell plate creation.

NURBS surfaces are only parsed as part of the surface collections. They are currently not being used in OCX Import, but will be after the implementation of shape import, hull groups, and others.

OpenNURBS is an open-source NURBS-based geometric modeling library and toolset. It provides the tools to accurately transfer 3D geometry between different software applications.

The openNURBS Toolkit consists of C++ source code for a library that reads and writes openNURBS 3D model files (.3dm). Use openNURBS 8.5 toolkit with CADMATIC Hull.

NURBS curve

A NURBS curve is a mathematical curve in three dimensions.

The curve is defined by four elements:

  • Degree – The degree is a positive whole number. This number is usually 1, 2, 3, or 5, but can be any positive whole number. NURBS lines and polylines are usually degree 1, NURBS circles are degree 2, and most free‑form curves are degree 3 or 5.

  • Control points – A list of at least (degree+1) points. Control points are always either connected directly to the curve or the surface.

  • Knots – A list of (degree+N-1) numbers, where N is the number of control points. One of the easiest ways to change the shape of a NURBS curve is to move its control points.

  • Evaluation rule – The NURBS evaluation rule is a formula that involves the degree, control points, and knots.

The NURBS curve is currently parsed as an object with the following properties:

  • NURBS properties (NURBSproperties)

  • control points list (ControlPtList)

  • knot vector (KnotVector)

  • multiplicities.

They are used as part of the composite curves and free-edge curves by transforming them into polylines for the calculations.