NURBS-Python
Object-oriented B-spline and NURBS library in Python with convenient data structures and extensible algorithms.

Full circle w/ 9 control points
NURBS-Python (geomdl) is a pure Python object-oriented B-spline and NURBS library with convenient data structures and extensible algorithms. The work is described in our SoftwareX article.
Features
- Self-contained, object-oriented, extensible, and highly customizable API
- Convenient data structures for storing curve, surface, and volume descriptions
- Surface and curve fitting with interpolation and least squares approximation
- Surface trimming
- Knot vector and surface grid generators
- Customizable visualization and animation with Matplotlib, Plotly, and VTK
- Export to JSON, YAML, Libconfig, STL, OBJ, and VTK
- Complete documentation with references, examples, and illustrations
- Pure Python implementation (no C/C++ or Fortran dependencies required); optional Cython build for higher performance
- Install from PyPI
- Rhino
.3dmimport/export via rw3dm
References
- GitHub: https://github.com/orbingol/NURBS-Python
- Documentation: https://nurbs-python.readthedocs.io/
- PyPI: https://pypi.org/project/geomdl/
- SoftwareX article: https://doi.org/10.1016/j.softx.2018.12.005
- For questions:
nurbs-python@googlegroups.com





