Hi every one!
Recently I was digging my foot in the Nurbs support in Blender. I would want to achieve such goals in Blender:
- Support holes in surfaces. (In principle this could be based on soc-2014 nurbs works, see below)
- Support IGES/STEP file IO.
Currently blender’s curve surface support is next to none, a lot of models especially those from parametric softwares can’t really be represented correctly with current implementation, not to mention it having adequate modelling abilities. Sverchok also has the same problem which eventually (I recall) turned to FreeCAD(OpenCascade) for data exchange.
There’s a lot of usages now in automotive and industrial design field which desperately needs blender to have such ability to have correct representation of those curve based models, as well as file io for those commonly used formats, otherwise it will need some other software to convert it to mesh and then that mesh isn’t gonna be as flexible/editable for rendering so and so…
This proposal sure would come with all the curve surface editing UI.
I talked with @HooglyBoogly on the chat earlier today and I was told try not to use very old code, because now blender changed a lot after all (I do have a copy of soc-2014 nurbs which Kidux from Blender CN has ported to 2.8 but I have yet to check the implementation details). I think I could still pull the workings of that code into a new implementation if we do need to have the curve thing re-write.
- Add a new “Surface” geometry component
- That geometry component should hold data like the control point locations, the knots vector, and control point weights
- Add triangulation of the surface control points on demand.
- Then look at supporting stuff like holes
I posted here so maybe developers can chime in and discuss what is the best way to do this. What do you guys think of it?