compas-dev / compas_nurbs

NURBS for COMPAS
https://gramaziokohler.github.io/compas_nurbs/latest/
MIT License
9 stars 3 forks source link

============================================================ NURBS for COMPAS

.. start-badges

.. image:: https://img.shields.io/badge/License-MIT-blue.svg :target: https://github.com/gramaziokohler/compas_nurbs/blob/main/LICENSE :alt: License MIT

.. image:: https://github.com/gramaziokohler/compas_nurbs/workflows/build/badge.svg :target: https://github.com/gramaziokohler/compas_nurbs/actions :alt: Github Actions

.. end-badges

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.

.. _NURBS-Python: https://github.com/orbingol/NURBS-Python .. _NumPy: https://numpy.org/ .. _Documentation: https://gramaziokohler.github.io/compas_nurbs/latest/

COMPAS NURBS runs on Python x.x and x.x.

Getting Started

The recommended way to install COMPAS NURBS is to use a Anaconda/conda <https://conda.io/docs/>_ 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!

Contributing

Make sure you setup your local development environment correctly:

::

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:

For more details, check the Contributor's Guide <CONTRIBUTING.rst>_.

Releasing this project

Ready to release a new version of COMPAS NURBS? Here's how to do it:

::

invoke release [patch|minor|major]

Credits

This package was created by Romana Rust rust@arch.ethz.ch @romanarust <https://github.com/romanarust> at @gramaziokohler <https://github.com/gramaziokohler>