NURBS in Blender through Ayam?

Hi all. (maybe especialle eman and cekuhnen as I know you have special interest in NURBS)

I have today tested out the application named Ayam by a guy named Randolf Schultz.

The code is fairly often updated with small pieces here and there.
Apart from having a rather…ehm… rough (?) interface, it is actually a quite capable NURBS modeling app.
Among other nice feature are non destructive editing along with converting to mesh objects, offset surfaces, trimmed surfaces (important), support for CSG (construction solid geometry) which enables import and export to some nice CAD programs…
Speaking of import export, it says on the webpage that it is able to import and export 3dm from Rhino (dream for industrial designers). Even though I could ot really get the import/export to work the rest seemed solid enough.

Ayam on sourceforge
ayams own page

Do anybody have some feedback, know something about Ayam or any thoughts on this?

EDIT apparently the program has an API so possible library for powerfull nurbs inside blender?


“rough” is an understatement.
I’ve tried it and miserably failed to produce anything interesting. In fact i couldn’t find any patience with the interface…

Heh… Yes well it is a long time since updates on the progress of nurbana integration. (even though eman should have great kudos for what he has done already!)
As far as I know nurbana sadly does not support trimming surfaces or export/import of 3dm format?

Nor could I at first… It takes a lot of getting used to… and it is very awkward even then.
But I am wondering about the underlying engine.

It will probably take ten years for Blender nurbs to even get to version .01 of MOI. That’s a pretty long waste of time waiting for something that may never even get to that level.

Better option is to save some money and buy MOI, which is pretty advanced in its current version.

Yes, the interface is even worse than zbrush ;d MoI is very cheap, so why we insist to have everything in Blender? I think NURBS in Blender always will be never ending story ;/
Sorry for my poor english…

@jskurias & Voyager: I agree on the most part. I have used MOI myself and it is nice. But I do rather complex designs and therefore rely on Rhino for my designs (which is actually very cheap for students, especially if you count all it can do).
I as well know that Blender will never become a Rhino and may never reach MOI either but there are reasons to have Nurbs and CSG in blender.
The best example is the fact that much of the design industry evolves around NURBS nowadays and much of AEC (architecture, engineering and construction) industry evolve around CSG.
I have tried without luck to get a nurbs ship triangulated to be animated and rendered and composited in blender, And I have tried to import IFC files from Revit (and although this worked through ifcopenshell, is is only the geometry and no extra information which is the whole idea of ifc).

Blender does not need to be able to have a lot of fancy editing tools for these object types. I would just have liked them to be rendered.
(I am trying to learn the inner workings of NURBS as well so I can help implement it but it is haaaaard man :smiley: )

Maya has NURBS. I’m curious to know whether you can open models done using NURBS apps and remain NURBS entities in Maya and not polys.

I’"m convinced thay it’s possible. Serhey Sharybinwas was interested in implementing nurbana. I don’t know why it hasn’t started, maybe Project Mango and lack of time?

I doubt it’s possible. If it is, then that’s all we really need so we can render our NURBS models in Blender without first converting them to polys.

They are actually converted to polys (tessellated) by the render engine. And that’s missing in blender at the moment.

The issue with Nurbs in blender is that no one is working on it. If Sergey was assign to work on Nurbs I’m sure he would make fast progress.

That’s what I suspected. If Maya, a commercial app worth $4000, doesn’t have that capability, I won’t expect Blender to have it. (That’s where I was going originally.)

Nurbs are always tessellated. Also in the viewport. It is in the math and its infinite nature that it is impossible to render a perfect nurbs surface. Although you can tessellate it with triangles smaller than the pixels of the screen and get the same effect.

Yes. Would be nice to be able to render nurbs in Blender. Been there before and it’s been a long time. I started with nurbs actually. (Rhino evaluation version.) Sub-d modeling was totally alien to me at that time. I recall you can export 3dm’s to polys, correct me if I’m wrong. I have Carrara and it’s been gathering dust, and I also recall you can import 3dm files into it and it’s converted to polys.

Would you mind showing some images of what you’re trying to render in Blender?

@jskuria: I use subD as well. Well I have started using Bishops very nice Bsurfaces addon for organic modelling too. Both methods are actually better modelling tools than nurbs for me because they both make very nice poly geometry for when I 3d print or otherwise prototype. That is actually the main problem:
Rhino can tessellate when exporting and some programs can tessellate upon import so what you get is poly/mesh data. But the ship I try to render is made of “watertight” nurb surfaces and form shapes of very varying curvature. So when you try and and tesselate it, it becomes a triangle hell and the shapes are either:

1: too few triangles and edges are not smooth enough or
2: too many triangles and the edge is closer to smooth (but actually not at all if you zoom close)

It seems when working with nurbs in blender one is royally screwed :smiley:
I am thinking of finding a work method of quickly converting nurbs to approximate sub-D or quad surfaces a la Bsurfaces.

I am sorry though I can not legally show you any pictures of the boat because it is a “new and revolutionary design”, protected and all that… :expressionless:
We have tried rendering in rhino through flamingo but without ocean modefier, compositing, animation, true sun, masking etc it just becomes boring and fast :smiley:


I don’t get it, last time I tried (ten minutes ago with a build from three days ago) Blender could render NURBS with BI or Cycles. Do you mean it can’t import them (which it true)?

Blender has a (good?) basis for NURBS. It’s missing tools and I/O and a coder for them, a nerdy one :slight_smile: (NURBS maths can be tricky, I once took a look to see if I could work them out… didn’t get very far!).

EDIT: I also didn’t understand another thing: can’t you - in the meantime - export a correctly tesselated mesh and render it? Does it have to be watertight for the preview? Maybe using the Remesh modifier could help?


if you need quads
there is a trick if you can afford the extra verts !
from tris mesh just add and apply a 1 level Subdivision and you get quads!

as i know of we still have Nurbs in 2.63
ok not as good as the newest Nurbs which hopefully will have by the year 2020 may be!


Personally, I no longer feel the need to use nurbs apps. I’m not into manufacturing business where super accuracy is a must. Even if I am, I don’t think presentation drawings require that kind of accuracy. Your artistic license should take over.

I’m re posting some of my thoughts about this written six years ago:

TWO things. One is the real object or model that you can touch, smell, measure, which is the most important beyond anything. It’s the final product. The other one is the REPRESENTATION, which is either on paper, your computer screen, or any type of media. What you’re seeing on your screen or even on paper is just a representation of that object. Models done in 3d for visualisation purposes are just representations. They don’t have to be accurate down to the last five decimal points. Unless it’s in orthographic view, you don’t measure its dimensions.

Coders have to contend with those two things: the actual scaled object; tools needed to measure it on your screen, produce it in real life, then how to represent it visually in all angles. There are millions of dots in space. Which dots should connect and appear in your screen doesn’t really matter to a user. It’s just a way to represent the actual object.

My point is, when using Blender allow yourself some leeway when it comes to accuracy. There is really nothing accurate about representations. A rendered image of a tyre done in Blender and one done in Rhino looks completely similar. The same thing goes with a camera, a speaker, etc. In the final analysis IT IS YOU, the artist that has the final say how to represent that object. An ellipse still looks like an ellipse whatever app it was drawn.

That said you can represent anything you can imagine using Blender’s modeler in its current state. Although NURBS are great, they’re not everything. What you need to accept is that SUBSURF modelilng is just as powerful. It’s also fun to use. It gives you interesting puzzles to explore. It’s flexible and a model done in it could represent anything in space.

16-Oct-06, 13:34

@Dani: Yeah you are actually right. Blender has got Nurbs support. Maybe it is only the importer that is missing then… I dont know if the way blender has implemented nurbs allows for trimmed holes and all but it is worth a look.
@RickyBlender: Yes. I use that sometimes too… problem is when surfaces get too complex… then the tessellation is to srewed to use for anything. Check the attached image as an example of a perfect smooth watertight surface being tessellated from Rhino. I believe it is possible to get a better tessellation but I have tried many different settings…
@jskurias: True. And some very good thoughts on the real object and the representation. That is the way I work as well. But again it would be nice to be able to render the boat without having to model everything again in meshes because I already got the model and the client expects me to be able to render it. The model on his screen is alright so why not on my screen he asks :smiley: Why not just render the nurbs instead of making it mesh… :smiley:

But now I think about it even if I could import the Nurbs and render them I would probably have to be able to edit it as well… Hmm… It would be nice with a bridge between nurbs and polys…
Attached: Test import of smooth nurbs from Rhino:

EDIT: Oh and I do not mean to start a NURBS vs Polygons thread… God, there has been to many of them already :wink:
Both are good for different things.