Skip to main content

Object-oriented B-Spline and NURBS evaluation library

Project description

DOI PYPIDL ANACONDA

RTD TRAVISCI APPVEYOR CODECOV

WAFFLEIO

Introduction

NURBS-Python (geomdl) is an object-oriented B-Spline and NURBS surface and curve library for Python with implementations of advanced computation algorithms in an extensible way. It comes with on-the-fly shape visualization options, knot vector and surface grid generators, and more.

NURBS-Python (geomdl) is a pure Python library, therefore there are no external C/C++ or FORTRAN dependencies or any compilation steps during installation. It is tested with Python v2.7.x, Python v3.4.x and later versions. The Python 2 and 3 compatibility library six will be automatically installed during NURBS-Python setup.

Please see the Examples Repository for details on library usage and integration scenarios.

Note: This package replaces the old NURBS-Python with new and improved features. Please see the Installation documentation page on removing the old package and installing the new package.

Features

Core Library

The core library is responsible for data storage and evaluation. It is capable of handling B-Spline (NUBS) and NURBS curves and surfaces (single via geomdl.BSpline and geomdl.NURBS, multiple via geomdl.Multi modules). It provides an abstraction layer for easy extensibility (geomdl.Abstract), allows a variety of customizations and helper functionality, such as surface (geomdl.CPGen module) and uniform knot vector (geomdl.utilities.generate_knot_vector) generators.

The Core Library module of NURBS-Python is self-contained. It implements all the necessary maths and linear algebra operations without needing any other external modules.

Exchange Module

geomdl.exchange module can export control points and evaluated points of the Curve, Surface and Multi objects in common formats such as CSV, VTK, OBJ, OFF and STL.

Visualization Component

geomdl.visualization component contains extensible and customizable classes for plotting curves and surfaces on-the-fly. The users have options to use Matplotlib and/or Plotly visualization libraries. These libraries are not automatically installed during NURBS-Python setup and they are left for users’ discretion.

More Features

NURBS-Python (geomdl) is more than a simple NURBS library. It has many features and they are customizable for your needs. Please see the Modules documentation page for the list of modules and features.

Further Reading

License

NURBS-Python is licensed under the MIT License.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geomdl-4.4.4.tar.gz (88.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geomdl-4.4.4-py2.py3-none-any.whl (82.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file geomdl-4.4.4.tar.gz.

File metadata

  • Download URL: geomdl-4.4.4.tar.gz
  • Upload date:
  • Size: 88.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for geomdl-4.4.4.tar.gz
Algorithm Hash digest
SHA256 2e9b38faaf41262f61ed37d90d8f5b8712fbb8395095de5b5e8a329132a8a492
MD5 258a6256885466dac06d4406bfbb0276
BLAKE2b-256 58fb4264d2dbde5da4d448cac7ab01ae3f7cb44e75092e2f901514a3e6a7e2e0

See more details on using hashes here.

File details

Details for the file geomdl-4.4.4-py2.py3-none-any.whl.

File metadata

  • Download URL: geomdl-4.4.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 82.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for geomdl-4.4.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7e744e8f4ebf49a70dfef8976e97604f2d1e90c17744585a3b7d09c7592a0238
MD5 21430425eb15febd8ccbdd70ed498549
BLAKE2b-256 afc071eb7763856f4638b7bf56ce360b68d5b277e654a01ff3b42034153c9df3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page