Rhino 7 Subdivision Surface Project

Forgive me for not reading through this entire thread, maybe I’ve missed the answer…

I am trying to export Quad Meshes and SubD Meshes as OBJs to open in ZBrush, but end up with a triangulated mess. What are the export settings to keep the quads when I save the OBJ?

Thanks

Okay, I have been able to turn nurbs to meshes and export them as fbx files and edit them in Zbrush. They are perfect and could be very useful for me.

Once I turn the mesh to SubD I can play around with the controller and extrude okay.
I can’t seem to save the SubDs out as fbx files. If I manage to save them as OBJs I get an error trying to open them, which MeshLab reports as “no vertex found”.

If there’s a way to export the SubDs I would love to know what it is. If not I will play with this as is and wait patiently…

Can you share your workflow? It will probably be beneficial for other users who visit this thread later on.

Basically what I’ve found so far is that I can take the limit surface that I have been modifying and export that as a MotionBuilder fbx using geometry only, meshes, and Version 7 Binary. I use the fbx importer in ZBrush. There will be a couple of unwelded areas so I run the weld command. At that point I have a mesh that I can modify in a few seconds to look like the subD that I had in Rhino. I haven’t had any luck exporting the actual SubD file.

QuadMesh has only worked for me on very simple shapes so far. None of this is especially useful to me right now, but I see a lot of potential down the road.

barbara_heller Asked

… I am trying to export Quad Meshes and SubD Meshes as OBJs to open in ZBrush, but end up with a triangulated mess. What are the export settings to keep the quads when I save the OBJ?

Barbara, The Rhino WIP ExtractControlPolygon command works on SubD objects (it creates an ordinary mesh object). The Rhino WIP commands ExtractRenderMesh and ExtractAnalysisMesh also work on SubD objects. For the short term, do any of these help?

In the long term, OBJ export needs to have options added the tell it what to do when exporting a SubD ( export control polygon vs export limit surface mesh ).

Extract Control Polygon just gives me a mesh that is exactly the same as the control polygon I was using (good to have if you accidentally delete it though). ExtractRenderMesh and ExtractAnalysisMesh give me denser meshes, which kind of defeat the purpose. I tried exporting them to see if I could reconstruct subdivisions in Zbrush, but they did not export properly. I guess that will have to wait till you’re further along in the development process.

Hi Barbara,

This looks like a problem with the OBJ export… Not SubD.

@tim was doing some work on the OBJ export recently. He is out today, but I’m sure he will look at this just as soon as he gets back.

Sorry about the confusion.

  • Bob

Send me the model you’re having trouble exporting to OBJ and I’ll see if I can figure something out. Thanks.

Tim

Hi Barbara,

Never mind on the model. I was able to repeat the bug here. What happened was I rewrote (ported) the OBJ export plugin recently to use our newest SDK features (RhinoCommon/Eto). One of the things I missed was setting the default number precision to something reasonable. It was set to 1. So any floating point number was turned into scientific notation. I haven’t determined if Rhino is handling it wrong on import or the lack of precision in the output makes the round tripped file a piece of junk. ZBrush may have issues with scientific notation too if it’s telling you no vertex was found.

I’m not even sure if scientific notation is allowed in OBJ for that matter. I’ll have to look at my string formatting line and see if I can come up with something better/different.

In the meantime, you’ll need to set the significant digits in the formatting tab to something appropriate, if unsure just use 17. It will keep that setting after you set it once.

To any other users running the WIP. If you’ve gotten one of the WIPs over the last few weeks AND you’ve actually run OBJ export, you’ll need to check the significant digits. If you haven’t run OBJ export in the past couple of weeks this will remedy itself in the next WIP.

Sorry for the inconvenience.

Tim

Really promising direction. Especially now that Tsplines has announced that it has currently no intentions to develop the plug-in for Rhino Mac.
My 2cents, on some of the tools I find most usefull in my workflows and which I believe would provide a good starting point for capabilities.

  • Extusion of faces to add geomtry. This could be done with a ctrl+shift face or edge selection then with the gunball with an CTRL + ALT for ex.
  • edge loop selection.
  • Insert an edge/or edges based on edge loop selection.
  • Face subdivision (simple + exact).
  • Bridging. Creates a connecting mesh between 2 sets of edges (or faces) with “same” number of edges/faces.
  • Automated pull set of control points (control poly vertices) or more interestingly “subd surface vertices” to another geometry (curve or surface).
  • Last but not least. Modeling with symetry axial or radial.

Maybe as you were hinting I am off-track here as you may propose a paradygm shift in the way the rhino subd modeling will work. I nonetheless thought I would share this with the mcneel team.

I am still surprised at how many “wow amazing” I get from experienced Rhino users when I share with them exposed to the capabilities of existing Subd modeling plug-ins for Rhino. I am convinced this is a great asset for the Rhino.

Jean

Hi Jean,

Thanks for the feedback.

These issues are already on our short term todo list:

Can you provide some more details about how you would like these three items to work?

Your request for

is well understood. We need to provide this support for all of our objects. It is a big task and will be done later.

Thanks again for helping us.

– Dale Lear

2 Likes

Hi @dalelear,

I currently cannot see that you can also apply “creasing” effect at the corners of the mesh.
I guess this has been working in Gulio’s WB.

Another one: I see some gaps with option Output=Nurbs

Thanks,
Dmitriy

Corner.pdf (177.0 KB) Gap.pdf (494.4 KB)

Ex1.3dm (609.6 KB)

@Dmitriy, can you please upload the 3dm file needed to reproduce this?

Sure.
Updated previous post.

Hello @jeang,

Can you please post an example of the face subdivision (simple+exact) as you want it to work.

Thanks,
Dmitriy

As soon as back of a business trip over the week end, i will post examples
of the suggested functionality.
Best,
Jean

Hi guys!
I gave Sub-D a go again, and I have a few comments:

1- Can I not turn on the controlpoints of a Sub-D object?
I don’t want a separate controller for the Sub-D object. What if I forget to turn it on or delete’s it? A controller needs to be integrated imo, hope I have missed something.

I want to toggle the Sub-D smoothness on and off to go from control mesh to smooth result. And to be able to click one or multiple faces or edges directly on the sub-d for editing, will that be implemented?

2- I can not mesh a Sub-D but I can extract mesh from one, but then I have no control over the mesh, please add a mesh setting, it’s important for 3D printing and exporting to realtime pipelines.

3- Clippingplanes don’t make fills nor edges, can this be updated soon?

4- Where can I find the most up to date tutorial on sub-d modelling in Rhino?

Thanks.

I don’t agree, you don’t need to add that to all objects, but it is important for sub-d since it’s the only propper way to get smooth transitions form one side to the other, so please implement it there first. And make it so the mirror plane is integrated in the Sub-D object and not a history based link that will break if something is moved, please :slight_smile:

Don’t NEED to, but if a generalizable method for doing it can be developed it sure would be nice to add it to all objects and have it work fundamentally the same for all.

1 Like

Dmitriy, the SubDToMesh command has a Creases=Yes/No option that can be used to create internal creases on the SubD. The image below shows how I made the SubD with creases from the mesh in the model CreasesBoxDoDad.3dm (198.1 KB)

All of this SubD stuff, including the SubDFromMesh command is simply a proof of concept test. We have lots of work to do before the SubD object is actually useful.

1 Like