↑top

FreeCAD: How to fix a failed boolean operation?

Update: May 15, 2021
FreeCAD 0.19

In some cases, boolean operations between solids may fail because of calculation errors. In these cases, "Refine Shape Feature" may help you to get the correct results.

For example, the following shows failed boolean operation that trying to scrape off the edge of a cylinder with a sphere. That cylinder was created with revolution operation and has a side which is constructed with 2 divided faces.

Before boolean operation
Before boolean operation
Failed boolean operation result<
Failed boolean operation result

Refining Shape Feature operation can be done by following steps.

Steps

  1. Select a failed boolean operation (in following example, "Cut") on model tree and delete it to cancel the operation.

    failed boolean operation on model tree
    failed boolean operation on model tree
  2. Switch workbench to OpenSCAD workbench by Dropdown box.

  3. Select a shape that will be used in boolean operation and execute "Refine Shape Feature"OpenSCAD_RefineShapeFeature in toolbar (it also can be used from [OpenSCAD]-[Refine Shape Feature] menu).

  4. Repeat the same procedure, refine all shapes that will be used in boolean operation.

    All refined shapes in model tree
    All refined shapes in model tree

    The unnecessary edges for expressing the shape may be removed in the refining operation (in example, the edge dividing cylinder side surface).

  5. Go back to part workbench by Dropdown box and execute boolean operation again with the refined shapes to get correct result.

    Failed boolean operation result<
    Failed boolean operation result
    Succeeded boolean operation result
    Succeeded boolean operation result

    The model tree after succeeded boolean operation.

    Model tree
    Model tree

Note

Alike refining operation can be done with [Part]-[Create a copy]-[Refine shape] menu in part workbenchDropdown box. However, in this case, unlike refining tool in OpenSCAD workbenchDropdown box, the operation history will be interrupted by the refining operation. Therefore parametric modifing of the shape will not be able to perform.

参照