This package is inspired by the NURBS-Python package, however uses a NumPy-based backend for better performance.
Curve
, and Surface
are non-uniform non-rational B-Spline geometries (NUBS), RationalCurve
, and RationalSurface
are
non-uniform rational B-Spline Geometries (NURBS). They all built upon the class BSpline
.
Coordinates have to be in 3D space (x, y, z).
Please refer to the Documentation for details.
COMPAS NURBS runs on Python x.x and x.x.
The recommended way to install COMPAS NURBS is to use a Anaconda/conda environment:
conda config --add channels conda-forge conda create -n ENV_NAME compas conda activate ENV_NAME pip install compas_nurbs
Once the installation is completed, you can verify your setup. Start Python from the command prompt and run the following:
>>> import compas_nurbs
You are ready to use COMPAS NURBS!
Make sure you setup your local development environment correctly:
- Clone the compas_nurbs repository.
- Install development dependencies and make the project accessible from Rhino:
pip install -r requirements-dev.txt python -m compas_rhino.install
You're ready to start working!
During development, use tasks on the command line to ease recurring operations:
invoke clean
: Clean all generated artifacts.invoke check
: Run various code and documentation style checks.invoke docs
: Generate documentation.invoke test
: Run all tests and checks in one swift command.invoke
: Show available tasks.
For more details, check the Contributor's Guide.
Ready to release a new version of COMPAS NURBS? Here's how to do it:
- We use semver, i.e. we bump versions as follows:
patch
: bugfixes.minor
: backwards-compatible features added.major
: backwards-incompatible changes.
- Update the
CHANGELOG.rst
with all novelty! - Ready? Release everything in one command:
invoke release [patch|minor|major]
- Celebrate! 💃
This package was created by Romana Rust <rust@arch.ethz.ch> @romanarust at @gramaziokohler