Python library based on OpenNURBS with a RhinoCommon style


Keywords
javascript-library, opennurbs, python, python3, rhino3d, rhinocommon, wasm
License
MIT
Install
pip install rhino3dm==0.1.4

Documentation

rhino3dm

CircleCI Build status PyPI NuGet Discourse users

rhino3dm is a set of standalone libraries based on the OpenNURBS geometry library with a "RhinoCommon" style. This provides the ability to access and manipulate geometry through .NET , Python or JavaScript applications independent of Rhino.

Functionality includes

  • Create, interrogate, and store all geometry types supported in Rhino. This includes points, point clouds, NURBS curves and surfaces, polysurfaces (B-Reps), meshes, annotations, and extrusions.
  • Work with non-geometry classes supported in Rhino like layers, object attributes, transforms and viewports
  • Read and write all of the above information to and from the .3dm file format
  • Use as a client to make calls into the Rhino Compute cloud server for advanced manipulation of geometry objects
  • Available on most platforms (Windows, macOS, Linux)

For bug reports or feature requests see the contributing guide


rhino3dm.py (Python)

rhino3dm.py is a python package that can be used on all current versions of CPython (both 2.7 and 3.7) and is available on all platforms (Windows, macOS, Linux) through PyPi.org.

pip install rhino3dm

See our python documentation for details

rhino3dm.js (Javascript/web assembly)

rhino3dm.js is a javascript library with an associated web assembly (rhino3dm.wasm). rhino3dm.js should run on all major browsers as well as node.js.

<html>
  <!-- stuff -->
  <body>
    <script async type="text/javascript" src="https://files.mcneel.com/rhino3dm/js/latest/rhino3dm.js"></script>
    <!-- more stuff -->
  </body>
</html>

See our javascript documentation for details

Rhino3dm.NET

Rhino3dm.NET (a.k.a. Rhino3dmIO) allows you to write standalone .NET applications.

See the documentation on installing and using Rhino3dmIO packages on nuget

How to Participate

The libraries are still very new and changing rapidly (with the exception of Rhino3dm.NET). Give them a try or get involved.

Up to date technical information can also be found on Steve Baer's Blog