mcneel / rhino3dm

Libraries based on OpenNURBS with a RhinoCommon style
MIT License
573 stars 135 forks source link
hacktoberfest javascript-library opennurbs python python3 rhino3d rhinocommon wasm

rhino3dm

workflow ci workflow ci

PyPIPyPI - Downloads

NuGetNuGet Downloads

npmnpm

rhino3dm is a set of 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


rhino3dm.py (Python)

rhino3dm.py is a python package that can be used on all current versions of CPython (3.7 - 3.11) and is available on all platforms (Windows, macOS, Linux)

rhino3dm.js packages are available on pypi: https://pypi.org/project/rhino3dm/

pip install --user rhino3dm

See our python documentation for details

rhino3dm.js (JavaScript and node.js)

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.

rhino3dm.js packages are available on npm: https://www.npmjs.com/package/rhino3dm

<!DOCTYPE html>

<body>

  <!-- Import maps polyfill -->
  <!-- Remove this when import maps will be widely supported -->
  <script async src="https://unpkg.com/es-module-shims@1.8.2/dist/es-module-shims.js"></script>

  <script type="importmap">
      {
          "imports": {
            "rhino3dm":"https://unpkg.com/rhino3dm@8.4.0/rhino3dm.module.min.js"
          }
      }
  </script>

  <script type="module">

    import rhino3dm from 'rhino3dm'
    const rhino = await rhino3dm()
    const sphere = new rhino.Sphere( [1,2,3,], 12 )
    console.log(sphere.diameter)

  </script>

</body>

</html>

See our javascript documentation for details

Rhino3dm.NET

Rhino3dm.NET (formerly known as Rhino3dmIO) allows you to write standalone .NET applications.

rhino3dm.net packages are available on nuget: https://www.nuget.org/packages/Rhino3dm/

From this repository we build macOS, windows, and linux packages in various runtimes which all all delivered via the nuget package.

More

Some more details and discussions can be found at: