View Issue Details

IDProjectCategoryView StatusLast Update
0000337File formatsFeaturepublic2021-02-06 06:31
Reportere-ndy Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status acknowledgedResolutionopen 
Target Version0.20 
Summary0000337: add support for Rhino3D files
Descriptionavailable library from developers of Rhino3D ( it should be nice to have capability to load/save Rhino3D models, together with it should be good replacement for Rhino3D in linux
Tagsfile format, NURBS
FreeCAD Information


related to 0000895 closedwmayer FreeCAD Part.BSplineCurve: allow to set degree and mutliplicites when calling constructor. 
has duplicate 0002253 closedyorik File formats add support for Rhino3D files 



2011-05-17 07:35

administrator   ~0000827

Actually I dont like myself to struggle with commercial file formats. But If someone have coding time - be welcome.


2011-05-21 11:51

manager   ~0000857

It is unclear to me reading the OpenNURBS Initiative website whether the 3DM file format is open source or commercial. But it seems to be completely documented, which I think means it would be much less of a struggle to incorporate in FreeCAD as other proprietary and closed formats. It would indeed be really nice to have a CAD program on Linux able to open 3DMĀ files. But there is no NURBS support or tools in FreeCAD at the moment, maybe Blender (which supports NURBS surfaces) would be best suited?


2011-05-22 18:25

administrator   ~0000859

OCC support NURBS, but we lack the tools to model it.
So we could do boolean operation on loaded NURBS, buts
thats around it.

Actually I'm not a big fan of NURBS. IMO subdevision surfaces are
the way of the future...


2011-05-29 13:54

administrator   ~0000868

Actually since freecad supports nurbs, 3DM format should be possible to handle without problems (and IIRC Rhino also supports brep-like objects)... On the openNurbs website there is a C++ toolkit which can read/write 3DM files, and appears to be compatible with GPL license ( ):

"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software."

I'm downloadiing the toolkit right now to have a look...


2011-05-29 13:59

administrator   ~0000869

Interesting quotes from the FAQ included inside the toolkit:

"Excellent compilers and make utilities are available from
The Free Software Foundation <> You have
the option of using these tools free of charge."

"Internally, Rhino stores all surfaces as some type of b-rep and the
openNURBS toolkit reads these objects as b-reps."


2011-05-29 14:04

administrator   ~0000870

Hm reading a file looks actually pretty simple, if we can include the opennurbs code!


2011-06-01 14:30

viewer   ~0000879

Reading the file should not be the problem.
You have to transfer each entity to a OCC object.
Not only the NURBS, also the trimming curves and all
other entities like planes and so on...

Its posible, but a lot of work an tuning to get it run....


2014-08-02 23:06

developer   ~0004909

I have a skeleton FreeCAD importer that is using the OpenNurbs library to parse a 3dm file. I will now try and add code to create nurbs etc


2017-01-11 12:56

administrator   ~0007625

Last edited: 2017-02-10 12:15

Picking up the trail here...a forum thread mentioning this topic:
Nurbs Editor -
Import 3DM files with OpenNurbs -
GitHub repo where the development is happening;


2017-04-26 00:52

administrator   ~0008763

@travm1 wrote:
Here is the wiki page for Rhino3D


2017-04-26 00:55

administrator   ~0008764

@keithsloan52 wrote:
Yorik has done some work on using CAD Exchanger see So should be able to import Rhino 3DM files using it. Note CAD Exchanger is commercial so one needs to pay. Not sure how much as you seem to have to contact them to get a quote.


2017-04-26 00:57

administrator   ~0008765

@yorik wrote:
They told me they are setting up a new page that will have prices on it. In any case, implementing our own might still be an interesting option.


2020-03-23 12:10

administrator   ~0014268

Update: Chris_G on the forum utilizing rhino3dm python bindings:


2020-03-24 16:46

developer   ~0014286

A new Workbench has been started using Chris's code and use of the new rhino3dm python bindings see


2022-03-03 13:55

administrator   ~0016379

This ticket has been migrated to GitHub as issue 5544.

Issue History

Date Modified Username Field Change
2011-04-14 06:13 wmayer New Issue
2011-04-14 06:13 wmayer Status new => assigned
2011-04-14 06:13 wmayer Assigned To => Jriegel
2011-04-14 06:14 wmayer Reporter wmayer => e-ndy
2011-05-17 07:34 Jriegel Assigned To Jriegel =>
2011-05-17 07:35 Jriegel Note Added: 0000827
2011-05-17 10:21 Jriegel Status assigned => confirmed
2011-05-17 13:45 Jriegel Status confirmed => acknowledged
2011-05-21 11:51 normandc Note Added: 0000857
2011-05-22 18:25 Jriegel Note Added: 0000859
2011-05-29 13:54 yorik Note Added: 0000868
2011-05-29 13:59 yorik Note Added: 0000869
2011-05-29 14:04 yorik Note Added: 0000870
2011-06-01 14:30 unauthenticated Note Added: 0000879
2012-05-05 18:44 yorik Project FreeCAD => File formats
2013-06-22 17:42 shoogen Tag Attached: file format
2014-08-02 23:06 keithsloan52 Note Added: 0004909
2014-08-03 08:00 shoogen Relationship added related to 0000895
2014-08-03 08:01 shoogen Tag Attached: NURBS
2015-09-09 22:02 savio araujo Issue cloned: 0002253
2015-09-10 19:13 yorik Relationship added has duplicate 0002253
2017-01-11 12:56 Kunda1 Note Added: 0007625
2017-02-10 12:15 Kunda1 Note Edited: 0007625
2017-02-10 12:15 Kunda1 Note Edited: 0007625
2017-04-26 00:52 Kunda1 Note Added: 0008763
2017-04-26 00:55 Kunda1 Note Added: 0008764
2017-04-26 00:57 Kunda1 Note Added: 0008765
2020-03-23 12:10 Kunda1 Note Added: 0014268
2020-03-24 16:46 keithsloan52 Note Added: 0014286
2021-02-06 06:31 abdullah Target Version => 0.20