Create Advanced NURBS Curves in FreeCAD
Non-Uniform Rational B-Splines (NURBS) provide the mathematical foundation for generating complex, smooth, and precise freeform geometry in computer-aided design. This guide explains how to construct and fine-tune advanced NURBS curves using the FreeCAD Curves Workbench, covering the setup process, control point manipulation, degree modification, weight adjustments, and curvature evaluation.
1. Install the Curves Workbench
The Curves Workbench is an external add-on that expands FreeCAD's native surface-modeling capabilities.
- Open FreeCAD.
- Navigate to Tools > Addon Manager.
- Search for Curves in the Workbenches tab.
- Select it, click Install, and restart FreeCAD when prompted.
- Switch to the Curves workbench from the workbench selector dropdown.
2. Generate Base Control Points or Geometry
Advanced NURBS curves are typically generated from ordered point clouds, intersecting sketch geometries, or existing edge extractions.
- From Points: Create a sequence of 3D points using the Draft workbench or import a coordinates table. In the Curves workbench, select your points in sequence and click the Approximate a points curve tool.
- From Sketches: Draw a baseline shape in the Sketcher workbench using standard B-splines or line segments to act as a structural rail.
3. Convert and Parameterize to NURBS
To gain access to rational B-spline controls (poles and weights), standard lines or B-splines must be parameterized:
- Select the wire, sketch, or edge you want to convert.
- Click the Parametric Comb or use the Interpolate tool to convert the geometry into an editable curve object.
- In the Tree View, select the generated curve to view its properties in the Data Tab.
4. Modifying Degree, Poles, and Knot Vectors
The shape and flexibility of a NURBS curve depend directly on its mathematical degree and knot distribution:
- Degree: Locate the
Degreeproperty in the Data tab. Increasing the degree (commonly to 3 or 5 for industrial design) increases smoothness across the span. - Control Points (Poles): Enable the visibility of
poles by setting
Show PolestoTruein the View tab. Use the Edit Curve tool to drag poles interactively in the 3D view. - Non-Uniform Knot Distribution: By setting the knot vector distribution manually or using the Discretize tools, you can insert knots closer together where sharp transitions are required, or space them out for continuous, flowing sweeps.
5. Adjusting Rational Weights
The "Rational" attribute of a NURBS curve allows individual control points to exert varying levels of gravitational pull on the curve path:
- With the curve selected, access the Weights array within the Data properties.
- Increasing a control point’s weight pulls the curve closer to that specific pole without adding extra geometry.
- Decreasing the weight flattens the curve away from that pole. This method allows the generation of exact conic sections (ellipses, parabolas, and hyperbolas) that non-rational B-splines cannot accurately represent.
6. Analyzing Curve Quality
High-quality NURBS modeling requires monitoring continuity and curvature transitions:
- Select the curve and click the Curvature Comb tool.
- Adjust the comb scale and sample density in the Data properties.
- Inspect the distribution of the comb needles: a smooth, continuous needle progression indicates G2 (curvature) continuity, ensuring the curve is free of unwanted inflections, kinks, or flat spots.