View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000337||File formats||Feature||public||2011-04-14 06:13||2021-02-06 06:31|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Summary||0000337: add support for Rhino3D files|
|Description||available library from developers of Rhino3D (http://opennurbs.org/). it should be nice to have capability to load/save Rhino3D models, together with https://sourceforge.net/projects/libnurbs/ it should be good replacement for Rhino3D in linux|
|Tags||file format, NURBS|
|Actually I dont like myself to struggle with commercial file formats. But If someone have coding time - be welcome.|
||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?|
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...
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 ( http://www.opennurbs.org/docs.htm ):
"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...
Interesting quotes from the FAQ included inside the toolkit:
"Excellent compilers and make utilities are available from
The Free Software Foundation <http://www.fsf.org> 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."
||Hm reading a file looks actually pretty simple, if we can include the opennurbs code!|
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....
||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|
Picking up the trail here...a forum thread mentioning this topic:
Nurbs Editor - http://forum.freecadweb.org/viewtopic.php?f=3&t=16473&start=30#p132955
Import 3DM files with OpenNurbs - https://forum.freecadweb.org/viewtopic.php?f=3&t=16473&start=130#p153127
GitHub repo where the development is happening; https://github.com/KeithSloan/FreeCAD_ImportNurbs
Here is the wiki page for Rhino3D
Yorik has done some work on using CAD Exchanger see https://github.com/yorikvanhavre/CADExchanger 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.
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.
Update: Chris_G on the forum utilizing rhino3dm python bindings:
||A new Workbench has been started using Chris's code and use of the new rhino3dm python bindings see https://github.com/KeithSloan/ImportNURBS|
||This ticket has been migrated to GitHub as issue 5544.|
|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|
||Assigned To||Jriegel =>|
||Note Added: 0000827|
||Status||assigned => confirmed|
||Status||confirmed => acknowledged|
|2011-05-21 11:51||normandc||Note Added: 0000857|
||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|