MoI discussion forum
MoI discussion forum

Full Version: Boolean Subtract Issues

From: gaaldornik
6 Jan   [#1]
Hello! I'm having a trouble with boolean operation...

1. Boolean_Subtract_-_Solids.3dm
I'm trying to subtract a group of smaller objects from the 'big' one,
if i'm doing it all at once boolean fails, if one by one - it works as expected for the most part, but still boolean fails for some objects.
I imported curves into moi from pdf and rebuilded them, extruded and finally booleaned...

2. Boolean_Subtract_-_Curves.3dm
This is the similar question, but here i boolean using curves and a surface/solid target.
Curves A (G. Grid A) were rebuilded and boolean fails on the surface/solid behind.
Curves B (G. Grid B) were recreated in moi and boolean works as expected.

Can somebody explain what is the reason for this and how to fix that?

Thanks! And Happy New Year!)

Linked Files
https://drive.google.com/drive/folders/1Ire0A9_GSseBBJVSgObDlLKbzZVdoZ5m?usp=sharing
From: Frenchy Pilou (PILOU)
6 Jan   [#2] In reply to [#1]
in general it's better to extrude the "Grid" for have only boolean between volumes
and try to avoid "volumes to surfaces", auto-intersect volumes, ...

And maybe in your planar case it's more handy to extrude a surface first drilled by a grid...
because the method above take a long time process...20 minutes after no yet result!!!

Draw the planar Grid
Draw the surround planar perimeter
Select all
Make planar
Extrude
From: Phiro
6 Jan   [#3]
The problem for Moi is to compute very far from the center of its world.

TRy to place your solids less far of the center.

I think it's a problem of calculating large numbers with floating points.
This comes from the fact that floating point numbers suffer from side effects due to their normative internal coding.
From: Frenchy Pilou (PILOU)
6 Jan   [#4] In reply to [#3]
Damned forgotten this!
From: Phiro
6 Jan   [#5]
For your grid curves, a possible explanation is Grid A is made with about 220 000 points as Grid B is made with about 25 000 points.
An example is a red circle 2mm x 2mm is defined with 100 points when a classic circle in Moi is made with only 12 points.
From: gaaldornik
6 Jan   [#6] In reply to [#2]
Thanks for your answers!

> And maybe in your planar case it's more handy to extrude a surface first drilled by a grid...
Indeed, in case when solid is drilled through this is better approach, but i actually want to randomize drill depth
and in this case i need to boolean...

Still don't get it why rebuilded curves and solids extruded from them causing these problems.
I created curves from scratch and everything seems to work fine...
From: MO (MO_TE)
6 Jan   [#7] In reply to [#6]
Hi Gaaldornik
>>> Still don't get it why rebuilded curves and solids extruded from them causing these problems.

As "Phiro" mentioned your "G. Grid A" curves are too dense in control points.
Also, you have some tangled points here, that I think, should be the problem. (See attached)
I've unraveled some control points to show it better.
Redraw your curves with fewer points and check again.

Image Attachments:
Boolean Subtract Issues_01.png 


From: Michael Gibson
6 Jan   [#8] In reply to [#6]
Hi gaaldornik, it's the self-intersection areas that MO illustrates above that are the problem. Spots like that where a curve (or surface constructed from such a curve) kind of backtracks and squiggles over top of itself will make surface intersection and volume analysis algorithms not work correctly.

Data in PDF can often have this kind of messy geometry that needs to be rebuilt before being used for 3D construction. When the curves are only being used for 2D imaging it's not as sensitive to the messy areas as 3D solids boolean calculations are.

- Michael
From: gaaldornik
6 Jan   [#9] In reply to [#8]
Thanks a lot for all your answers! Appreciate it)
I'll keep that info in mind.

One more question about rebuilding curves - Is it better to always rebuild them to get 'cleaner' geo without extra edges
or it's not necessary?
From: Michael Gibson
6 Jan   [#10] In reply to [#9]
Hi gaaldornik,

re:
> One more question about rebuilding curves - Is it better to always rebuild them to get 'cleaner' geo
> without extra edges or it's not necessary?

It kind of depends on the particular situation. If you are getting a tremendous number of extra edges it could be that the curves are actually a whole lot of little line segments instead of smooth curves and you would want to rebuild that.

But if it has separate segments in logical areas like where the shape should be a single line, it can be good to keep those separate.

- Michael