fails difference boolean
All  1-2  3-13

Previous
Next
 From:  jbshorty
777.3 
It appears the edges of the "cog" thing intersect with the torus isoparms exactly. Normally Moi handles this, but maybe the amount of edges involved becomes too much to calculate(?). Anyway you can scale the torus from it's center and use numerical input of a very tiny scale factor (like 1.001 or .999). Then run the boolean, it should work.

jonah
  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:  bwtr (BRIAN)
777.4 In reply to 777.3 
Your .3dm file saved as an .obj file booleaned ok in Hexagon also.
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:  jbshorty
777.5 In reply to 777.4 
Hi Brian. Running this boolean with mesh objects should be easy for most any program. I just did the mesh boolean in Rhino also. But if this model still needs to be filleted after the boolean, then it must remain as a Nurbs model. A temporary workaround can be done as i explained in post 777.3 until Michael can sort out the problem...

jonah
  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
777.6 In reply to 777.1 
Hi Juan, yes as Jonah mentioned this is one of those overlapping edge cases that was discussed a little bit ago. But MoI isn't able to figure out this one.

Here is the problem - if you look at your torus, you can see the "seam" edge of it runs along the side - this is where the start and end of the torus surface come together to touch each other:



Now when you show the other piece:



you can see that there are a many spots where the torus seam and pieces from the other object overlap on top of each other. This type of overlap tends to be a difficult area of calculation.


So one method to proceed is as Jonah said, to slightly scale one of the objects to avoid those overlapping edges. Another way to do it is to reconstruct your torus so that its seam edge is in another location. To do this, go to your circle and rotate it by 90 degrees in the Right-side view around its own center point. Yes, I know it is strange to rotate a circle but this has the effect of moving the closing "seam" point of the circle which will also change the seam point of the surface created from the circle. Now if you create a revolved surface from that new circle, the seam for it will be in a different location, like this:



With this new torus with the different seam, the boolean will now work properly:



Of course it would be great if the original one would work properly, I'll save off this example so I can send it in and maybe get the booleans improved later on. It will be a while before that happens, like I mentioned this tends to be a pretty difficult area, and it can be hard to make fixes in it without causing additional problems for other cases. MoI is usually pretty good at handling these type of overlap situations, but it's not perfect at it....

- 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:  bwtr (BRIAN)
777.7 In reply to 777.5 
I was just trying to highlight the peculiarity of the problem shorty. I hope both our efforts will help Michael in pin pointing the problem.

It's about the most "odd" one I have encountered in 3D--and thats saying something!!!!!!

3d really is a strange world.
  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:  bwtr (BRIAN)
777.8 In reply to 777.7 
Michael. I just reduced the torus to .99 and all worked OK!

Hope that helps.
  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
777.9 In reply to 777.7 
In some ways a polygon boolean is not quite as difficult of a calculation, things tend to operate on a more granular smaller area.

NURBS booleans try to work with larger spans, larger areas and longer strings of intersection curves... One of the side effects of this is that if there is a difficulty in calculating one particular small area it can tend to mess up the entire boolean.

Of course when things work properly there is a lot of convenience in keeping larger sheets and strings of edges intact though.

- 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
777.10 In reply to 777.8 
Hi Brian,

> Michael. I just reduced the torus to .99 and all worked OK!

Yup, that's another method - it works because it separates that torus seam edge from the other ones so they aren't in that "really closely overlapping" situation anymore.

- 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:  jbshorty
777.11 
Hi Michael. this is a pretty simple case, of course. But one that could benefit from a tool such as Rhino's "Adjust Surface Seam". Any plans for something like that?

jonah
  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
777.12 In reply to 777.11 
Hi Jonah, eventually I'd like to add that. I kind of need to find a place in the UI to stash some less frequently used but sometimes useful tools like that. One thing I've thought of is some kind of text menu that might be launchable from an object properties panel, that could hold maybe some "advanced" edit tools.

- 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:  jbshorty
777.13 
Hi all. Just to point out one potential problem - If you do use the scaling method to fix the problem, it would be better to scale a little bigger (1.001) than to scale smaller (.999). Because if you scale smaller you will create some very thin surfaces and edges that might cause problems later for a fillet and when exporting to mesh. The best solution is to fix the original profile circle as Michael mentioned, and then sweep a new toroidal object.

jonah
  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

 

 
 
Show messages: All  1-2  3-13