Skip to content

geomdl v5.0b1

Pre-release
Pre-release
Compare
Choose a tag to compare
@orbingol orbingol released this 21 Dec 20:46
· 695 commits to master since this release

I am happy to announce the first beta release of NURBS-Python (geomdl) v5. On the user API side, there are minimal changes and you might not even notice them. On the other hand, some modules are refactored and optimized and these changes might affect the developers who use the abstract classes to extend the library.

Moreover, our paper was just accepted from SoftwareX journal and it will be published very soon. I will update the links when it is online.

Changes/improvements for geomdl v5.0b1 release:

B-Spline and NURBS API

  • Simplified abstract module and moved all abstract classes to their relevant modules (developer API change)
  • Removed curvept and surfpt methods. Use evaluate_single instead. (user API change)
  • Added an option to enable/disable knot vector normalization. Initialize the class with normalize_kv=False to disable knot vector normalization.
  • Added B-spline and NURBS volume support with visualization, BSpline.Volume and NURBS.Volume
  • Refactored convert module to improve reusability and add support to volumes (no API change)

Importing and exporting data (Exchange module)

  • Refactored exchange module to improve reusability (no API change)
  • Rhino file export and import options, export_3dm and, import_3dm in exchange module
  • Added exchange.export_vmesh for exporting NURBS volumes
  • Add Jinja2 template support for exchange.import_txt (no API change)

Utilities module

  • Update the name of utilities.check_uv function to utilities.check_params (user API change)
  • Refactored utilities module and moved some functions to linalg module (user API change)

Visualization

  • VisMPL.VisSurfTriangle is now an alias for VisMPL.VisSurface (no API change)

New modules and features

  • fitting module for curve and surface global interpolation + approximation (fitting)
  • construct module for constructing surfaces and volumes + extracting surfaces and curves
  • linalg module (generated by splitting utilities module)
  • VisVoxel and VisVolume classes for volume visualization
  • VisVTK visualization module

Next steps

  • The class and function references are pretty much complete but the documentation in general still needs some improvement.
  • Refactor evaluators module and complete adding the fundamental algorithms; such as refinement, degree reduction, etc.

I also would like to announce the .3dm importer/exporter module rw3dm. Unfortunately, there are no binary releases for the moment, since I couldn't find time to set up Travis and AppVeyor to generate compiled binaries automatically. However, the module should work fine if you follow the installation steps as described on rw3dm readme file.

Please don't hesitate to open a ticket on the issue tracker if you are having issues with the latest release.

Download & Install

PyPI: https://pypi.org/project/geomdl/5.0b1/
Anaconda Cloud: https://anaconda.org/orbingol/geomdl