Branch soc-2014-nurbs update to master code base D6807

graphicall link:

I spend two weeks to bring the soc-2014-nurbs branch against the master branch.

compile in window10, not try on other platform.

this is very early stage,

know issue:

displaylist not correct (cause crash)
nurbs objects translation not effective because lack some function in transform util.
due to massive change of view3d/old opengl code, some UI not work correctly

these problem can solved when some help come from familiar with code users.

diff in D6807


update opennurbs lib to new version 7.x
now file import can read rhino 6 or higher file.

mute some compile bug



Wow this is pretty awesome and useful for some situations!

What’s your roadmap until you get a review of this to be implemented in master?

Congrats! This is exciting! :slight_smile:


the soc-2014-nurbs branch is 2.7x code base .
many function the branch relay were changed, but I’m not familiar with these change.
the original branch function are:
full function of import 3DM (potential ability import other nurbs format file : step iges e.g.)
nurbs‘s UV edition (potential ability full funtion nurbs/curves editor like other standard nurbs editor)
if I have some help, first bring all function work from old branch,
then more object type import support , point type , subd type,annotation type, font type e.g.
then standard nurbs editor aligned with Blender modeling tools.
then prepare to review and merge to master if possible.


I’m sure many of the devs can help you with all these, but since @brecht is working right now in a new object type, it could have a more fresh idea on how to help you, but I may be wrong.

Also @Howard_Trickey can have some idea I think :slight_smile:


Thanks for suggestion. This branch change a lot of blender core nurbs code,needs more time to investgation.
I’m a new developer but old blender user since 2004.
there are three emergce thing need to fix.
1,correct tessilation
2,fix convert to mesh function which case crash
3,correct displaylist
if these been fixed, some clearly practical use cases can provided to users for first stage.


init support subd object type. can import subd proxy mesh to Blender.


Hi there is Addon for can import 3dm file format to Blender ?
Thank you

1 Like

If I remember, there was python bind version of opennurbs lib. And some one try add that to blender,you can find in
The big function of import nurbs to blender is that, import object can still edit in Blender.
There are some miss future in current Blender which can’t hold the all nurbs surface struct.
This branch is aim to add these miss futures to Blender,fit the gap and remove the barrier.


Thank You will give try .

convert to mesh may work if model’s knots is correct.

mute some import knot recalculate, get more accurate model from 3dm.


I did some tests importing models from moi 3d, which works with opennurbs, unfortunately I don’t have rhino to do tests, it imports models, but there are display errors

I did some tests with the openurbs samples files, probably moi supports openurbs v1 or v2 or v3, probably not v7, if I try to export to 3dm from moi3d, and then import to blender, I get the same display errors as the original openurbs samples models … so … cheers, it’s compatible, I’m glad the errors are general, and I hope there is a positive evolution in this sense, there is a lot of potential here :slight_smile:

@MetinSeven I haven’t seen you on this thread, how did you miss this? :joy:

1 Like

Nice job, @xueke_pei, keep up the good work! It would be great if Blender’s NURBS capabilities would be extended. :+1:

You can use this add-on to import Rhino 3DM files into Blender, but I don’t know if it has been updated to work with the latest Blender 2.8x versions yet. Also, it doesn’t work with 3DM files from MoI 3D, because MoI uses a slightly different version of the 3DM format.

There’s also the STEPper add-on to import STP files into Blender. I’ve recently reviewed that for BlenderNation.

If import process over,can find object in outline ,pick one and switch to edit mode,if you can see some control mesh in edit mode, the import is success.
the display not correctly are two part: 1,knot vector not import correct.
2,tessllation not all right this is because the origin author of this branch not finish this part of code.

1 Like

The main problem get this code to blender is that the tessllation are not all correct for display nurbs.
If someone know how to do ,can help me review this part of code, if this problem be solved, It’s very promise to get this branch merge to master.

1 Like

I believe the errors are related to the old version, I tried the release for windows on graphicall, but I saw that you updated the code, I tried to apply a diff to try to compile a test, but I was not able, you could put on graphicall an updated version for windows?

if I’m not mistaken @jesterKing knows the code of both blender and rhino

update to can compile on Linux

1 Like

maybe even @Hypersomniac can give you some advice with tessllation, the display errors are probably related to the new engine eevee

I can confirm this is the nurbs code cause the dispaly error. this problem bring two error: convert nurbs to mesh, feed proxy mesh to display list.