Cutting small cavities into an object

Next
 From:  Markog (MRAKGR)
10691.1 
I am trying to model PC case. I know that one way to get panel is to slice an object and fillet the edges, but that does not quite fit the model in this case so I want to just straight carve it out. I made a curve over which I want the cavities to be, Here I am using a circle as a profile, but unless I scale it up, the boolean diff fails. Is it possible to get this to work in Moi? Also, I'd prefer it if the shape of the sigmoidal as with the other profile if possible, but that does not work for me either.

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:  Markog (MRAKGR)
10691.2 In reply to 10691.1 
I read something about Rhino not liking when objects are overlapping, so I had the idea to move the curve a little so its ends do not sit directly on the edges. This made it work. I wouldn't mind an explanation of what is going on. Let me try the other profile as well.


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:  Markog (MRAKGR)
10691.3 In reply to 10691.2 
The other profile was not a problem. I thought that I might have to move it up a tad, but everything is fine.

I think that one of the reasons why the first boolean failed is because the rail curve is not perfectly perpendicular to the edge, meaning it would not have cut it out completely. But in that case, I'd have expected the boolean to work, but leave a bit of chipping near the starting point.
  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:  Frenchy Pilou (PILOU)
10691.4 
Have you try with global Scale * 1000 apply any Boolean then global scale 0.001 ?
  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:  Phiro
10691.5 
Hi,

If you want we could give you a better answer, please post a file with the piece which has problem.

Have fun...
  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:  BurrMan
10691.6 In reply to 10691.1 
Rotate your original circle profile so the seam edge is either up and out or fully enclosed in the case object.

My guess is it is currently right along the surface intersection.
  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
10691.7 In reply to 10691.2 
Hi MRAKGR, I can't really answer your question very well without being able to examine the actual geometry instead of only a screenshot.

It helps a lot to post the .3dm model file with your question instead of only screenshots.

In general it's true that it can be more difficult for booleans to process objects that have overlapping surface areas. The reason why is just that it's a fundamentally more difficult process to get clean intersection curves with such objects.

The way booleans function is that intersection curves are generated between objects and then those curves divide the objects into separate chunks. To do that the curves must make well formed closed loops. If the intersection result doesn't do that and is messy then it can prevent the boolean from working.

Overlapping areas can be ok in some cases if they are very precise in the area of overlap.

The easiest way to help ensure that you'll get clean intersection curves is to extend objects like you did, so that they are pushing through each other by some margin instead of having surfaces that skim over each other with overlapping surface areas.

- 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
10691.8 In reply to 10691.3 
Hi MRAKGR,

re:
> I think that one of the reasons why the first boolean failed is because the rail curve is not perfectly
> perpendicular to the edge, meaning it would not have cut it out completely. But in that case, I'd
> have expected the boolean to work, but leave a bit of chipping near the starting point.

It's possible to get results like that in some cases but it depends on the size of the "chipping" piece.

When such areas are small enough, the intersection mechanism can try to glom them together so things don't always have to be completely precise to work but that can also make for kind of meandering intersection curves in those areas.

So it's good to avoid making things like that, the easiest way is to have pieces push through each other a little ways instead of barely skimming over each other.

You can get an idea of what the intersection curves look like by selecting the objects and running the Construct > Curve > Isect command to generate intersection curves. If they look messy in some area instead of making closed loops then that's probably going to be a difficult area for the booleans.

- 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:  Markog (MRAKGR)
10691.9 In reply to 10691.8 
> The easiest way to help ensure that you'll get clean intersection curves is to extend objects like you did, so that they are pushing through each other by some margin instead of having surfaces that skim over each other with overlapping surface areas.
I've run into problems with booleans a few times today, and indeed, extending the cutter a bit did solve the issue. I need to remember to do it more often. The way Moi is designed seems to induce making objects overlap though. I'll have to make it a rule to scale an object by 1.001 every time I run into an issue.

> You can get an idea of what the intersection curves look like by selecting the objects and running the Construct > Curve > Isect command to generate intersection curves. If they look messy in some area instead of making closed loops then that's probably going to be a difficult area for the booleans.
I tried doing that, but I wasn't sure how to interpret the result. I read in some Rhino docs (it is what came up while googling boolean problems) that booleaning is just automation for join, separate, delete and intersect operations. But if intersect just gives curves what use is it for booleans? For a boolean of two solids wouldn't you need an intersecting surface instead?
  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
10691.10 In reply to 10691.9 
Hi MRAKGR,

re:
> I've run into problems with booleans a few times today, and indeed, extending the cutter
> a bit did solve the issue.

Also what version of MoI are you using? There are some tune ups to booleans in the v5 beta.

I have not been able to test if those changes are significant for what you are running into
since you have not posted any model files.


> But if intersect just gives curves what use is it for booleans? For a boolean of two solids
> wouldn't you need an intersecting surface instead?

The booleans use the intersection curves to partition the 2 solids into different chunks of
connected faces and then those chunks are either combined with others or discarded
depending on what volume they are contained inside of.

- 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
 From:  Markog (MRAKGR)
10691.11 In reply to 10691.10 
>Also what version of MoI are you using? There are some tune ups to booleans in the v5 beta.
v4 trial.

>I have not been able to test if those changes are significant for what you are running into since you have not posted any model files.
I am trying to replicate it, but the boolean works for me now. Strange. Well, if I run into any tricky situations I'll pass them on to you for testing.

Also to everybody here, thank you for offering to look into the problem directly. Right now I am over it, but I'll probably run into something in the future and will take you up on the offer.
  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