QuadMesh prototype command available in latest WIP

The object on the left was exported out of V5 as an OBJ (I can’t export OBJs out of V6 for some reason). The object in the middle came from V6 via Quadmesh. It required a bit of cleanup (missing polys, realigning one row, etc.) but not too much. The object on the right is what happens when you do a boolean union in modo. It would require at least as much cleanup, maybe more than the quad mesh version. Considering this is a new function in Rhino that’s still in development - I’m very hopeful. I go back and forth between modo and rhino regularly (generally via MoI) so anything that improves the translation will be welcome.

Great job @DavidEranen!

  1. Could you please point me to the paper(s) you are using to implement this?

  2. How do I call this command from c#?

I’m assuming you are aligning the quad mesh to a tensor field (in these cases principal curvatures)
Is it possible to align it to a custom tensor field (I’m thinking about principal stress curves)

Great job again!

Thanks lorenzogreco,

  1. It’s based on the following two papers: Mixed-Integer Quadrangulation
    and QEx: Robust Quad Mesh Extraction.

  2. Calling this from C# is not supported yet.

  3. The algorithm can handle any cross field based on any property you’d like, but currently only curvature aligned and seam/crease aligned fields are implemented.

1 Like

Ok noted, thanks!

Will you be making it be callable from C#?
And will it be possible to inherit a class to define our own cross field?

That would be terrific to say the least!

Yes to both, but currently work on the quad mesher is on hold due to other priorities. Not very much has been done to it for the last six months.

If you want to protest and make it known that you want work to resume on the quad mesher, this is the place to do that :slightly_smiling:

1 Like

But then we need to know what you are working on now. :wink:


Excellent point…

The way to make any project at McNeel move up the priority list is to show us why you need it. Don’t just say “I want quad meshes” - you need to explain why not having a quad mesher is making your life painful.

No doubt you will then be faced with lots of questions, and suggestions about how you could do without it just fine. If - after all of that, we still agree that we could make your life a lot easier by providing you with this particular, specific tool…then it will get bumped.

  • Andy

Hi @andy,
I work in the engineering field where Rhino is vastly used for complex shapes.
We generate shapes on Rhino (actually on Grasshopper) and then we’ve developed programs to export/import geometries to structural software, cad software for detailing, excel, tcp/ip and so on.

Having a good mesh noding out with those touching each other is important for having a good structural analysis. Actually what we need is quads/triangles the most uniform possible, in terms of shapes and dimensions.

This wouldn’t strictly necessary need this remesher, although it would be really helpful and it already is at the point it stands now.

But having the quad mesher accepting any cross field is hugely important because we could generate meshes aligning to the features we need, be they geometrical or structural, somehing that otherwise could only be done manually…

If you have question I’m very open to have a discussion :slightly_smiling:


You said you need uniform quads/triangles. Are quads in this case better than triangles in any way, or do they just “look better”?

For FE analysis there are situations where one is better than the other. That being said you don’t want a triangle mesh to be just a subdivision of a quad mesh because of the desired uniformity, but rather coming from an hexagon one.

But architectural/design-wise, you might want to propend for a solution for aesthetic reasons only. You might also want to use hexagon or n-gon meshes if these will be implemented.
Please note that this might bey key for some architects, hence the expansion into soft computer graphics our industry is having.

My two cents :slightly_smiling:

@DavidEranen, Are you looking for examples of failures? I haven’t really been involved in the meshing developments but thought I’d try the QuadMesh command this morning on a model I have, just to see. Not successful.


I always welcome screenshots of people’s QuadMesh results, whether QuadMesh succeeds or not. As I said, it’s still just a prototype that has been on ice for a while now. If I can get a hold of the model, even better since it can now be used for testing.


Unfortunately the command causes V6 WIP to crash for me…

Did you send in a crash report with a model attached?

I did… I know it is a WIP so I will help where I can. Granted this was a moderately complicated model with several surface changes through Booleans but I tried on a few different models some more simplistic and they also crashed.

FWIW, I might be completely wrong about this but if you ask me, the QuadMesher won’t be in RH6 and will remain in WIP towards RH7. That said, keep the feedback coming and continue to send in crash reports :sunglasses:

A glitch free quad meshed is very, very important in my line of work as a graphic designer. I do a lot of type effects and some of it just needs to be smoothened generally. Doing a quad mesh and then exported to an app which can ‘smoothen’ the quads allows for a great look which filleting the edges just can’t fulfill.

nPower has/had (I didn’t upgrade my 3D Max seat to stay current) a great importer which would skin the object in definable quads…not a cage which you could easily go in and edit but a cage with sufficient integrity which could be then smoothened. It really worked well for those very picky and almost impossible fillet edges. The quad meshed was a general ‘make cool looking’ button which I would love to see in Rhino. Please don’t abandon the quad mesher.

Monday morning bump to keep the quad mesher in development. I think there is a very large ‘undefined’ need for a simple and predictable nurbs to quad mesher. Basic at first but one which will evolve into something which will generate a Quad Cage suitable for editing.

Quad meshes are very important for structural modelling and analysis. This is particularly true when meshing wall elements. I tried to load the QuadMesh tool into Rhino 5 64-bit and it failed.

That’s because it is created for Rhino WIP, it won’t load in v5.