https://github.com/compas-dev/compas_nurbs
NURBS for COMPAS
https://github.com/compas-dev/compas_nurbs
Last synced: about 2 months ago
JSON representation
NURBS for COMPAS
- Host: GitHub
- URL: https://github.com/compas-dev/compas_nurbs
- Owner: compas-dev
- License: mit
- Created: 2020-07-22T16:23:21.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-08-23T13:27:15.000Z (over 3 years ago)
- Last Synced: 2024-11-06T17:59:59.933Z (about 1 year ago)
- Language: Python
- Homepage: https://gramaziokohler.github.io/compas_nurbs/latest/
- Size: 6.48 MB
- Stars: 9
- Watchers: 17
- Forks: 3
- Open Issues: 14
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
============================================================
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 `_ 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:
* 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 `_.
Releasing this project
----------------------
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! 💃
Credits
-------------
This package was created by Romana Rust `@romanarust `_ at `@gramaziokohler `_