I've seen that Blender has some difficulties handling boolean operations such as difference, as discussed for example here:
However, I noticed a strange behavior of the "boolean difference" operator. In the image below, there are two boxes. The big one is generated as a "cube" inside Blender. The smaller is imported from a .obj file. The two wireframes look similar. Then, I "subtract" a sphere from each of them.
The known artifacts appear only on the imported box, not on the cube generated internally. I already played with the "auto smooth" property and with the "custom split normals" without changing the result. Is it due to a different internal structure of the two boxes or it depends on attributes? How can I make the behavior of the operation on the imported objects equal to the internally generated cube?