Booleans and Filleting

Next
 From:  iljens
879.1 
Heya!
I'm just playing around with MoI again, and was just wondering if I'm abusing MoI.
I love to merge together a rough shape with Boolean Union, and then Fillet any sharp edges. Then I cut up the general shape with sphere primitives and stuff like that using Boolean Merge. Now when I go ahead and start abusing Fillet again, I'm often getting nothing as a result.

Should you be able to Union, Merge and Fillet stuff to hearts extent, or is there a limit to how far you can split and fillet stuff up? I was sort of thinking that it might get messy when I try to cut stuff that's already been filleted, trying to fillet that in turn and so on. (All based on MoI getting angry at me after a few levels of cutting and filleting things up)

Cheers!
Jens
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
879.2 In reply to 879.1 
Hi Jens, it's not so much that you're abusing it as that you're running into bugs and limitations in the filleting code.

But unfortunately it is not really an easy area to fix up - filleting is a tough area of calculation, and there are many cases that increase the difficulty of the calculation.

One in particular is when filleting would cause pieces and edges to be totally consumed by the fillet and kind of evaporate.

This kind of situation can easily happen in the process that you describe - particularly if you do some fillets of one radius, then do booleans, and then try to do more fillets of the exact same radius. The last fillets of the same radius tend to have this sort of issue.

One thing you can try is to use a smaller and smaller radius for each new "generation" of fillets. Often times if you use a smaller radius than the original, it will avoid this "parts being consumed" type situation and you might be able to get some more mileage from that kind of repeated process.

Basically the fillets work really pretty well when they have plenty of room to operate in, but as you cut more pieces, you introduce more complex corner situations (where multiple edges all come to a single point), and also cause the fillet surfaces to try and interact and run through more and more different surfaces and edges.. That's when you run into more of the bugs in the fillet processing.

It's going to be a limitation in MoI (and actually it is not uncommon for any solid modeler to have difficulties as well) for some time to come. I expect that it will gradually improve over time.

There is no hard-coded limit on the number of merges or booleans you can do, it is more dependent on how many little edges and little cramped areas in the model end up being created.

If you're working on a more final model, it is possible to create a fillet by more detailed "low level" operations, for example by separating your model into different surfaces and then doing some fillets between 2 surfaces at a time. That uses a slightly different surface/surface fillet calculation that does not involve as many corner matchups and can generate a fillet surface when the edge-based one will fail. But then you will generally have to trim it and form the corners where things meet up through more manual operations.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Jesse
879.3 In reply to 879.2 
Hi Michael,

Would you ever recommend doing sort of a manual variable fillet on objects with these issues or would you run into the same obstacles?

Jesse
jdkjewelry3d.blogspot.com
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
879.4 In reply to 879.3 
Hi Jesse, definitely a manual fillet (by this meaning a surface/surface fillet which you trigger by doing a fillet between 2 individual completely separated surfaces) can help to finish a model that has these issues.

But it is isn't anywhere near as convenient as the edge one, because you'll end up with a bunch of fillet surfaces which you will have to manually trim yourself, and then figure out how to connect them at the corners.

So it isn't really very good for quick "sketching" type stuff, there is a lot more nitty-gritty work involved. But it will often times give you a way to make forward progress in finishing a difficult fillet instead of just not being able to make any progress at all.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
879.5 In reply to 879.3 
In some ways the manual nature of it works around some of the obstacles, like you won't manually select a little tiny surface as part of the surface/surface fillet, you will pick the ones where the fillet can possibly be constructed on.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  iljens
879.6 
Cool!
I'll try using the decrease fillet size trick later tonight!
My quick checks right now tell me I still get problems, but maybe I shouldn't rely on booleans too much... but it's so fast and sweeeet! :)

Just for reference, I attached a small test I was working on, I can fillet one of the parts, but not the other (the lower part in this case)
I tried the decrease fillet size as well on a couple of different boolean surfaces of this type :o)

Cheers!
Jens

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
879.7 In reply to 879.6 
Hi Jens, the lower part fillets ok over here up to a radius of around 0.75 . So you may have not quite gone small enough.

What I'll usually do is start with a really pretty small radius, like 0.1 and increase it in steps until it stops working.

Often times during this you can kind of see which fillet piece is causing the problem, like in this case there is one piece of a fillet that keeps getting smaller and smaller and when you go to 0.75 it is really pretty skinny - that fillet piece kind of evaporating is when it breaks. Here is a snapshot of the one I'm talking about, with the arrow pointing to it:



Also below that I've circled a different kind of problem - there is an edge in the model down there, and the fillet will be likely to fail if it gets big enough to where it would have to cross over that other edge. This is actually one of the biggest problems that I hope to get fixed up when I can get an update to the geometry library that I'm using.

So try a little smaller yet! One quick note - if you want to type in a bunch of different radius values, it is not necessary to click in the "Radius" box first, just type a number directly and hit enter. Once you start typing, your keystrokes will automatically go to the first numeric entry box in the command options area.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
879.8 In reply to 879.6 
> but maybe I shouldn't rely on booleans too much... but it's so fast and sweeeet! :)

Actually, it's fine to rely on the booleans... This really isn't a problem with the booleans, the problem is with the filleting mechanism...

Sometimes you can do a few steps to make things work better - like for instance if you're going to do a boolean with a cylinder, there is an extra "seam edge" that runs along one side of the cylinder where the surface comes to be closed. Sometimes it is possible to rotate the cylinder so that particular edge is not running right close to other things before you do the boolean, or even so that it won't be a part of the result since it will be in a trimmed away area. That makes less edges and less opportunity to run into the fillet bugs that won't cross interior edges.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
879.9 In reply to 879.1 
One other note about fillet size - it is really pretty easy to underestimate how much of a model a particular fillet size is going to consume when the model is made up of some narrow or concave type areas.

For example, here I've applied a fillet of radius 3 to your shape, by using Edit/Separate on the model to break it into individual surfaces, and then picking the inside scalloped area and then outside sphere surface. This does the surface/surface fillet operation instead of the edge-based one.



This is the same radius fillet as the little fillet pieces on the original shape around the eyes! But since there is a sort of narrow pointy area in the scalloped out shape, a fillet of that radius consumes quite a lot of the shape before it will fit, this would include eating up those eyeball parts entirely.

So it can be pretty easy to run into this problem where you are asking for a fillet that simply won't fit in the model at all.

That's why it can be a good idea to go down really pretty small if the size that you first try does not work.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  iljens
879.10 
Awesome!
Thanks a million for your pointers, can't wait to get home and try some modeling again!!

Cheers,
Jens
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All