In the example below, if I create shape from mesh with the default tolerance for sewing shape of 0.1, later actions fail. If I set it at 0.2, they will work. One confusing aspect is that there is no indication of a problem at the time. It's only later when there is any failure, and it's unclear that it relates to earlier processes. I have two questions:
- What does "tolerance for sewing shape" actually do? The wiki does not specify.
- Why does the default value of 0.1 fail as per below?
I attempt to modify an stl file downloaded from Thingiverse. I download the file, import into FreeCAD, then Create shape from mesh and Convert to solid. I want to make the face of the model perfectly flat. I've done this with other models by creating a cube, then using a boolean between the two objects. However, when I attempt to make a boolean intersection here, it fails with Cannot compute Inventor representation for the shape of Common, and everything disappears in the viewport.
Alternatively, I created a 2D rectangle, then Part Slice, but this also failed with no slice performed and no error.
I tried many other methods, e.g. refining the shape before the boolean, refining the shape before converting to solid, attaching the cube on the other side and calculating the boolean difference, increasing/decreasing the overlap, Refine shape, Create simple copy, inverting the faces with Reverse shapes, playing with cross-sections. Nothing seemed to work.
I was ready to attach the FreeCAD file to this post, but at 48M apparently that is too large. I didn't know what the "tolerance for sewing shape" was when creating a shape from mesh, but I thought this might reduce the file size. I went back and set this at 0.2 instead of 0.1. However, this time the boolean worked perfectly! The file was actually larger now, at 67M, so I can't attach this either, but attached is a screenshot of the final model after the boolean.
System details
OS: Arch Linux
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16158 (Git)
Build type: Release
Branch: makepkg
Hash: 783e1346c7a078f5265c3f0c6a927d09a8c1fe70
Python version: 3.8.2
Qt version: 5.14.2
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United Kingdom (en_GB)