MoI discussion forum
MoI discussion forum

Full Version: New guy questions - Modo workflow, specifically

From: WarrenM
20 Apr 2013   [#1]
So I bought this program a few days ago and MAN is it slick. Love everything about the snapping and the awesome boolean workflow.

My question stems from my desired workflow.

What I would LOVE to be able to do would be to design things in MOI and then export them to Modo in such a way that they would subdivide cleanly when I hit TAB. Right now, there are often loads of artifacts and such that need cleaning up so my options appear to be:

1) Export as high poly a mesh as I can from MOI and just use it in Modo - this kind of works, but I don't get any nice edges - they're all hard and sharp.

2) Export a low poly mesh and fix it up by hand in Modo. This does work but it's a lot of manual labor and I wonder if I will really be saving any time by doing this.

3) Use some sort of combo attack by taking the MOI mesh into ZBrush, remeshing it there, and exporting to Modo. That should work, sort of, but it won't be perfect by any means.

Is there any way to achieve the sort of meshing output that we see in Groboto? The meshes that program puts out subdivide PERFECTLY in Modo. Unfortunately, the UI and the way the booleans work there make it a far less attractive contender than MOI. In fact, put up against MOI, Groboto really only wins on one front - it's mesher is EXCELLENT.

Thoughts for how a new guy can get the most out of his new toy? :)
From: amur (STEFAN)
20 Apr 2013   [#2] In reply to [#1]
Hi Warren,

1) just bevel you edges in MoI and they will then come in fine in MODO.

I also don't understand why you want to subdivide a perfect NURBS mesh from MoI, which is usually not necessary?

I have Groboto also and never subdivided a Groboto mesh further in MODO, because i can set the density of the quad mesh in Groboto. Maybe it's a different story if you like to use the MODO/Groboto toolkit to enhance your Groboto mesh further in MODO.

IMHO subdividing a low-poly quad mesh in MODO should require that you build your low-poly quad mesh in MODO or any other subdivision surface modeler and not necessarily in MoI or any other NURBS modeler for that matter.

Regards
Stefan
From: WarrenM
20 Apr 2013   [#3] In reply to [#2]
Thanks, yes, I'm discovering that I can indeed just use the mesh as-is in Modo if I treat it as a static unit. You know, just import it and use the smoothing it comes in with as my high poly mesh. I think I had my head on wrong about it originally.

I'm finding that if I fillet any of the hard edges where I'd like to have a little roundness there that the mesh is perfectly usable in Modo for normal map baking.

My head is SPINNING with the man hours this is going to save me. So excited!
From: Michael Gibson
20 Apr 2013   [#4] In reply to [#1]
Hi Warren, I'm glad that MoI is going to be useful for you!

Yes as Stefan mentions above usually with CAD modeling you end up constructing the exact shape in the CAD system and so once you convert it into polygons you just use the generated geometry directly instead of trying to smooth it any further in your poly modeling program, which would actually mutate the shape from it's already precise shape into something else...

So for getting rid of hard edges, you should Fillet those in MoI before exporting rather than trying to round them off in Modo.

It's really pretty difficult to get a totally automated sub-d friendly topology creator - the Groboto mesher is really cool and probably the closest thing to that out there right now, but I've only really seen it applied to models with somewhat simple structures, more complex models like say an engine block assembly are often made up of a mix of large surfaces and smaller detail pieces and that's when an automated mechanism that tries to generate all the same sized quads over everything is going to have a lot of trouble I think. It's hard to tell exactly how well Groboto's mesher deals with that kind of stuff because Groboto is not able to import any regular CAD file formats like IGES or STEP files.

If you do want to use MoI to generate input for use with sub-d smoothing you would use your option #2 that you described above, - export a low poly mesh and retopo it by hand in Modo. That may be useful in some particular situations but it's not the typical workflow that would usually be used, usually you would finish the model in MoI so that it's already rounded before you export it and then just use the high poly generated geometry directly without any further geometry editing in Modo.

- Michael
From: Michael Gibson
20 Apr 2013   [#5] In reply to [#3]
Hi Warren,

> Thanks, yes, I'm discovering that I can indeed just use the mesh as-is in
> Modo if I treat it as a static unit.

Yeah it will render very smoothly without applying further sub-d smoothing onto it just as long as you make sure the exported vertex normals are being used.

When MoI exports a mesh, it generates not only polygons but also vertex normals at every vertex to be used for controlling the shading in the rendering, and those vertex normals come from the original NURBS surface and so they make the rendering shade just like the original spline surface. That's why the rendering will turn out nice without needing to do any further geometry smoothing like you're used to doing with sub-d modeling.

It is important though to avoid anything that would disrupt the vertex normals - like for instance don't delete the vertex normals map and I think you need to make sure that you're in "item" mode when you apply any transformations to the imported objects.

Also for going into Modo I'd recommend using LWO format for the transfer.

But basically having the accurate vertex normals that come from the original spline model is what makes things work well - if you were to just generate the same polygons in Modo (without sub-d smoothing, just generating simple polygons), it would not look as good because the vertex normals used to shade those polygons would be coming only by averaging the neighboring polygons instead of coming from some precise ideal surface. Like for example when you export a sphere out from MoI the vertex normals used to shade the polygons are the normals of an exact sphere surface rather than just a local polygon average. The polygon averaged ones are not so bad in that particular case of a sphere but things get worse for the averaged ones in areas where the model shape is in transition from a flat planar face to a neighboring rounded piece for example.

- Michael
From: Michael Gibson
20 Apr 2013   [#6] In reply to [#1]
Hi Warren, also one other note: The overall approach of NURBS modeling is very different than sub-d - you want to rely on 2D curves a lot more and also rely on booleans and cutting operations as a primary way of doing things. That can take a little while to sink in for people from a sub-d modeling background who are used to avoiding booleans at all costs. Instead with NURBS modeling often times building things as a simple extended piece and then using booleans should be the main approach.

Check out here for some links to discussions and general tips for people who are coming from a sub-d / poly modeling background:
http://moi3d.com/forum/index.php?webtag=MOI&msg=4865.2


The very different approach can take a bit of getting used to, but it's really because of these differences that MoI has different strengths than a sub-d modeling program and that's why it can be really useful as a companion.

- Michael
From: WarrenM
21 Apr 2013   [#7]
Dang, thanks for the awesome reply Michael! Wasn't expecting that much...

OK, I think I'm getting my head in the right place here but I have one last hurdle and I think it stems from my lack of understanding of the Fillet system. I need to Fillet certain edges so I get a nice edge for normal map baking. My problem is that I don't fully understand the rules as to what will and won't work. For example:



I can NOT get the highlighted edges to Fillet successfully and I feel that I would need them to in order to not have a hard edge there in my normal map bake in Modo. I either get a detached mesh containing the Fillet results, or Fillet ignores me, or it goes off into "Calculating..." land for what seems like forever.

Is there something I can do to this mesh to make Fillet happier?

File here : https://dl.dropboxusercontent.com/u/161473/MOI/FilletQuestion.3dm

Any help here would be great! I've run into a few problem areas like this and it feels like I'm missing a small piece of the puzzle that would let me rock and roll with this thing...

Attachments:
FilletQuestion.3dm

Image Attachments:
FilletQuestionA.png 


From: WarrenM
21 Apr 2013   [#8]
Also, I'm getting this when I try to Fillet the other side:



Is my mesh just broken? If so, how can I fix it? Or can I?

Image Attachments:
FilletQuestion.3dm - MoI_2013-04-21_15-06-31.png 


From: Michael Gibson
21 Apr 2013   [#9] In reply to [#7]
Hi Warren - MoI's filleter can have difficulty in several kinds of situations and that's one of them. The juncture area here makes this a more difficult thing to fillet than you might initially think:




It's able to generate fillet surfaces for that case but fails in figuring out how to intersect them with one another. Here I have used the raw fillets that were generated and manually trimmed them so you can see the kind of awkward hole area that needs to be filled. That's basically caused by all the surfaces surrounding that juncture being at different angles to one another:



The filleting engine in the geometry library that MoI uses is just not able to figure out how to process this kind of corner juncture very well, for cases like this you might try exporting your model to a different CAD program that uses the ACIS or Parasolid geometry kernels which have more sophisticated corner juncture processing in them, one program called ViaCAD is pretty inexpensive and can make a good companion program to be used for doing fillets which MoI has difficulty with.

- Michael

Image Attachments:
warren_fillet_juncture1.jpg  warren_fillet_juncture2.jpg 


From: WarrenM
21 Apr 2013   [#10]
OK, thanks for the info. I downloaded the ViaCAD demo version and the interface is ... challenged, I guess is the way to put it. Every time I have to use it, I predict I will be irritated. :P

So is there a best practices for Filleting thread somewhere that I could read through or is it just an experience thing? The more I can stay in MoI, the better, so even if I have to change the way I build certain shapes it would be better than trying to juggle multiple apps.
From: Michael Gibson
21 Apr 2013   [#11] In reply to [#8]
Hi Warren,

> Is my mesh just broken? If so, how can I fix it? Or can I?

Your mesh is not broken there - what happened in that case is the filleting engine was not able to figure out how to form the corner juncture between the 2 generated fillet surfaces. When that happens just the generated surfaces will be returned so you might have a chance at using those pieces with some manual trimming in order to finish things up.

If you select your main object and hide it you'll be able to more easily see that those weird looking areas are actually 2 separate rounded surfaces that are separate from your main object. Those are pieces of what should be the fillet but it could not figure out how to get them connected up to one another because of their different widths.

The way fillets are constructed when 2 pairs of surfaces are at totally different angles to one another the fillets between them are then of different widths and positions and so they don't directly collide into one another totally evenly. So a "corner patch" has to be created at the juncture area between them, and that corner patch creation is a pretty complex thing to calculate.

- Michael
From: WarrenM
21 Apr 2013   [#12]
Actually, you know what? Maybe the problems I'm having are inherent to how I'm building things. I'm, by force of habit, building the larger shapes and then trying to fillet everything at the end that needs it. Is it better to fillet as I go along? Maybe that's less stress on the calculation engine?
From: Michael Gibson
21 Apr 2013   [#13] In reply to [#10]
Hi Warren,

> OK, thanks for the info. I downloaded the ViaCAD demo version and the interface is ... challenged,
> I guess is the way to put it. Every time I have to use it, I predict I will be irritated. :P

It's not so bad if you use it just for filleting, that just involves picking edges.

It's filleter is significantly better at handling more complex corner cases.


> So is there a best practices for Filleting thread somewhere that I could read through
> or is it just an experience thing?

There are so many different kinds of things there isn't really just one thread that covers every kind of geometry, it somewhat depends on the particular shapes that you are dealing with.

In the future I would like to try and license one of these other geometry libraries that has more sophisticated filleting to help out with this.

Some general things to avoid - it can help to have more simple edge topology with fewer edges coming together all at one single point. Also having things meet up at a very shallow angle can make things more difficult, it's usually best for shapes to be more distinctly sharp to one another or more fully smooth to one another.

Sometimes doing an initial larger radius fillet to smooth out one area of the model can then help to make the fillet generation easier in the original area - surfaces that are smooth to one another are easier to fillet because the fillet surfaces meet up directly and don't have as difficult of a corner juncture to have to be figured out.

Like for example in your case here, rounding off this edge here with a larger radius:





Will then make this area actually easier to fillet after that:






Another area to watch out for is fillets can easily fail if they just don't fit within the given area, especially when things are at sharp angles to one another fillets will want to eat away a lot of space and if they try to eat away an entire face or edge that will cause them to fail too.

Filleting is definitely a finicky area in MoI, it's a lot harder problem than what it might seem like to get different kinds of corner junctures handled well.

- Michael

Image Attachments:
warren_fillet_juncture3.jpg  warren_fillet_juncture4.jpg  warren_fillet_juncture5.jpg  warren_fillet_juncture6.jpg 


From: Michael Gibson
21 Apr 2013   [#14] In reply to [#12]
Hi Warren,

> Actually, you know what? Maybe the problems I'm having are inherent to how I'm building things.
> I'm, by force of habit, building the larger shapes and then trying to fillet everything at the end
> that needs it. Is it better to fillet as I go along? Maybe that's less stress on the calculation engine?

Well, it sort of depends - ideally you would actually wait until the end like you have been doing, so that's not "wrong" to do that.

But if you have the possibility to reduce edge topology complexity (reduce the number of edges all colliding at any one single point), or smooth out a broad area of the model with a larger fillet or sometimes by just incorporating some rounded shapes into the initial profiles, it can be good to do that so that you avoid getting into difficult to handle fillets later on. That kind of takes some experience to sort of proactively plan for filleting in advance like that.

- Michael
From: WarrenM
21 Apr 2013   [#15]
SO GOOD, thank you! That worked. I'll try to keep that in mind in the future then. Now I want to dive back in and see what I can get away with. :P

Thanks a ton for your awesome replies! You're really going above and beyond here and I appreciate it.

Random question : Are the bolded lines important in terms of how easily one will be able to work with the mesh? Like, should I be trying to hide those behind other geometry when possible or anything like that? Or are they purely decorative?
From: Michael Gibson
21 Apr 2013   [#16] In reply to [#15]
Hi Warren, you're welcome!

> Random question : Are the bolded lines important in terms of how easily one will be able to work with
> the mesh? Like, should I be trying to hide those behind other geometry when possible or anything like
> that? Or are they purely decorative?

Well, they're not exactly decorative - they're a normal part of the NURBS geometry. The way NURBS objects work is you have a bunch of surfaces and those surfaces have "trimming boundaries" on them that define which areas of the surface are active and which part of the surface are holes or cut away portions.

When you do boolean operations the actual "underlying surfaces" stay the same and only new trimming boundaries are created that then trim away more parts of the surface area.

Those bolded lines are the edges of your model, the edges are what make up the trimming boundaries.

It's a pretty different geometry system than a polygon mesh object, with a polygon mesh your object is made up of all little facet elements and there isn't this same concept of a bigger "underlying surface" and "trimming boundaries".

So it's not like you necessarily want to get rid of those, it's normal for your objects to be made up of various trimmed surfaces.

- Michael
From: Frenchy Pilou (PILOU)
24 Aug 2018   [#17]
You can also use some external free monster for capricious fillets in Moi like Fusion 360! ;)
And come back to Moi! ;)
(you can renew after the end of each year! ;)
https://knowledge.autodesk.com/support/fusion-360/troubleshooting/caas/sfdcarticles/sfdcarticles/How-to-get-a-Fusion-360-Enthusiast-license.html
From: Frenchy Pilou (PILOU)
24 Aug 2018   [#18]
Why not use a Variable Fillet for keep the original "sharp edge" before the last Fillet? ;)
Of course here you must make that in 2 passes due the little angle of some edges as shown above posts!



Don't press Done after the first Fillet(s) here 25° before make the Variable Fillet(s) of 0° of the 2 points on the right of the yellow "curve line"!
You can make and erase any number of different Variable Fillet(s) on the same curve(s) first selected as long as you are not exit of the Fillet function!

Variable Fillets are a little tricky but with a little training that is very easy and powerful! :)



Here a general last Fillet of 5° for example!


And careful for the second Point of the Variable Fillet of the Back faces of your ob!ject!
Maybe a zoom must be made because you have very near closed points!!!
So the Variable Fillet (s) or normal Fillet will be not work on the bad point!