Need help with opennurbs?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

137 Stars 68 Forks Other 38 Commits 3 Opened issues


OpenNURBS libraries allow anyone to read and write the 3DM file format without the need for Rhino.

Services available


Need anything else?

Contributors list


Discourse users

The openNURBS Initiative provides CAD, CAM, CAE, and computer graphics software developers the tools to accurately transfer 3D geometry between applications.

The openNURBS Toolkit consists of C++ source code for a library that will read and write openNURBS 3D model files (.3dm). More than 400 software development teams and applications, including Rhinoceros®, exchange 3D models using the openNURBS file format. Additionally, the Toolkit provides NURBS evaluation tools and elementary geometric and 3D view manipulation tools as well as including source code for several example programs.

For more information, see "What is openNURBS?".

Getting started

  1. Clone this repository.
  2. Open opennurbs_public.sln, select the platform and configuration, and rebuild all.
  3. Create your C++ project that will use opennurbs.
  4. In your project's stdafx.h, put the following lines:

    // defining OPENNURBS_PUBLIC_INSTALL_DIR enables automatic linking using pragmas
    // uncomment the next line if you want to use opennurbs as a DLL
    #include "/opennurbs_public.h"


     with the full path where you installed opennurbs using forward slashes as directory separators.

Please see "Getting started" for more information about openNURBS including supported compilers, build instructions, and a description of the examples.

There's also a collection of example 3dm files available for testing.


For technical support, please head over to Discourse.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.