Testing the Cutting Edge of Boolean Operations

Testing the Cutting Edge of Boolean Operations

mavigogun
Advisor Advisor
714 Views
6 Replies
Message 1 of 7

Testing the Cutting Edge of Boolean Operations

mavigogun
Advisor
Advisor

In a recent post, a user focused on a problem any user of Fusion with more than a passing interest encounters-  close to co-located surfaces can not be Combined/Joined/Cut:

https://forums.autodesk.com/t5/fusion-360-design-validate/cut-out-irregular-shaped-body/m-p/8318719

Practically, how closely conforming can two surfaces be and still perform a successful Join/Cut/Combine?   We should have at least a rough idea before contriving designs that include these operations. 

 

Attempting to define the confines of Boolean capacity, I began by Revolve cutting a 1 meter sphere from another identical sphere.    Despite apparent complete removal of both Bodies, a Body was still listed in the Browser.   Suspecting the presence of micro artifacts, I created an enclosing Body and performed an Interference Inspection, with no Interference reported.    The Body has no volume.

Curious.   Rolling the History Marker to before the Cut, I added an extreme offset between the two Bodies- 0.000000009 -and performed another Revolve Cut.    Predictably, the results where the same- a phantom Body with no volume/contents.   I followed up with progressive shifts until a Body was produced.   The value? over 15.8 mm: no body was produced until the offset exceeded the thickness of a typical finger.

Sphere.JPG

Maybe this just has something to do with a revolved sphere?    Starting over with a 1 meter  Extruded cube, a complete Cut produced another phantom Body.   A Body 0.000014101 mm thick results from a cut distance of 999.999985899 mm - virtually nothing.   Rotating a co-located cube 0.0001 and Combine Cutting produced 4 Faces having no reported thickness- diaphanous, but something.


Cube.JPG

 

Spheres, cubes- how about a curved surface with only radial symmetry?     1 meter by half meter Boxes were produced in the Sculpt workspace.  Combine Cutting one from the other resulted in a phantom body.   Offsetting one Box by the thickness of our previous minimum cube Cut- 0.000014101 mm -produced only a phantom.   A Body begins making an appearance between an offset 0.0034 mm and 0.00335 mm- a tiny fraction of a mm, depending on your intent.
 
Box.JPG
 
Rounding out the sampling, a regular polygon including a curving feature limited to one face- a cube with a bump.   Predictably, the minimal cube offset value, 0.000014101 mm,  produced a phantom.    A body was produced close to an offset of 0.0003 mm.
 
 bump.JPG
 
I reckon it's likely the difference between the minimum offset values for the Sculpted Box and cube with bump is accounted for by the angle of edges-  all points on the obliquely angled surfaces become disentangled before steeply matching surfaces, relative to the direction of translation.

Maybe @jeff_strater cold provide some insight that would aid our consideration.

Find tested designs attached.
0 Likes
715 Views
6 Replies
Replies (6)
Message 2 of 7

mavigogun
Advisor
Advisor

… and the bump.

0 Likes
Message 3 of 7

GRSnyder
Collaborator
Collaborator

@mavigogun wrote: I began by Revolve cutting a 1 meter sphere from another identical sphere...I followed up with progressive shifts until a Body was produced.   The value? over 15.8 mm: no body was produced until the offset exceeded the thickness of a typical finger.

 

This seems suspicious. Just as a sanity check, did you by any chance continue to rotate around the Y axis after displacing the profile? Rotating the cut around the self axis of the circle, Fusion was able to generate a reasonable shell with 0.00009mm of displacement, which seems in line with your other examples.

 

These numbers look suspiciously consistent with 32-bit floating point, which has a 24-bit mantissa. The smallest representable increment is ~1/2^24 or 0.0000000596 with an exponent of 0. But the base shapes have a size of 1000mm, so you lose approximately three decimal places, making 0.00006 about the smallest value you could expect to add to or subtract from 1000mm and not get 1000mm back.

 

(These values are all approximate since the actual representation is binary - I just did the rough translation to base 10.)

0 Likes
Message 4 of 7

mavigogun
Advisor
Advisor

@GRSnyder wrote:

@mavigogun wrote: The value? over 15.8 mm: no body was produced until the offset exceeded the thickness of a typical finger.

 

This seems suspicious. Just as a sanity check, did you by any chance continue to rotate around the Y axis after displacing the profile? Rotating the cut around the self axis of the circle, Fusion was able to generate a reasonable shell with 0.00009mm of displacement, which seems in line with your other examples.

 

I Revolved the half circle Profile along the axis Line provided in the same Sketch, Moved the Sketch parallel to the same axis Line, and repeated the Revolve. Test with the proffered file. Can you provide the design you achieved 0.00009 mm with?

 

 

These numbers look suspiciously consistent with 32-bit floating point, which has a 24-bit mantissa.

 

Sweet! New word for me-

 

man·tis·sa
manˈtisə/
noun
noun: mantissa; plural noun: mantissas
  1. 1.
    Mathematics
    the part of a logarithm that follows the decimal point.
  2. 2.
    Computing
    the part of a floating-point number that represents the significant digits of that number, and that is multiplied by the base raised to the exponent to give the actual value of the number.
     
     
0 Likes
Message 5 of 7

GRSnyder
Collaborator
Collaborator

@mavigogun wrote: I Revolved the half circle Profile along the axis Line provided in the same Sketch, Moved the Sketch parallel to the same axis Line, and repeated the Revolve. Test with the proffered file. Can you provide the design you achieved 0.00009 mm with?
 

 

Sure, try this one. I left the displacement at 100mm so you could see how it's set up. Just change it to 0.00009mm.

0 Likes
Message 6 of 7

mavigogun
Advisor
Advisor

@GRSnyder wrote:


Sure, try this one. I left the displacement at 100mm so you could see how it's set up. Just change it to 0.00009mm.


 

You have demonstrated something important- you've moved the Sketch by Dimensioning it's distance from the Origin, where as I used the Move command.    I'll need to retest all the other examples, Constraining the Sketch Profiles the same way.   Could you verify the results are the same for your system by removing the Dimension Constraint and instead use the Move command to relocate the Sketch within my previous error margin?   Say, 10 mm ?

Successful results- at the same placement -with a Constraint being the only difference!   I had no idea Constraints could be so critical for such a simple Sketch!

0 Likes
Message 7 of 7

mavigogun
Advisor
Advisor

@jeff_strater, do you reckon the considerable difference in results apparently yielded by referencing the Origin has implications for what can be achieved more broadly, such as with Extrude To Profiles that match the target Body?   (like in that headphone case problem you tackled, here:  https://forums.autodesk.com/t5/fusion-360-design-validate/cut-out-irregular-shaped-body/m-p/8318719)

0 Likes