RhinoCommon, Rhino3dmIO, OpenNURBS.NET - what are the differences?

Continuing the discussion from How Open 3dm and small save use OpenNURBS.NET?:

As far as I know there are now the following Rhino libraries for .NET programming:

  1. RhinoCommon - as delivered with Rhino 5
  2. RhinoCommon - open source build (afaik currently not building)
  3. Rhino3dmIO - as open source build (e.g. using the NuGet package)
  4. OpenNURBS.NET - open source build of OpenNURBS for .NET (not available anymore - used to be able to download stuff from opennurbs.org)

Generally, it would be helpful to get some insight for which cases you would use which library.

Specifically, RhinoCommon as delivered with Rhino 5 gets updated with each service release. Are open source builds of RhinoCommon and Rhino3dmIO also updated? How do version numbers match between these? For example, for the NuGet package the version is 5.1.30000.10. How can I relate this to the version released with Rhino 5?

Kerplunk bump.

Hi menno,

2). is the source code for 1). Used to build Rhino plug-ins. Missing dependencies prevent it from building but there’s rarely a need for it as referencing RhinoCommon.dll that ships with Rhino the best way to use the SDK.

3). replaces 4). Used to build stand alone (don’t need Rhino) apps that read/write 3dm files. OpenNURBS.NET has been added to the RhinoCommon repository to consolidate shared code and it is called Rhino3dmIO. You can build this yourself but many will find using the NuGet package more convenient.


1 Like