I’m having a weird face issue when using a Boolean modifier to cut out holes in a cube. I say “weird face” because the face doesn’t seem to actually have edges and is not selectable but is visible.
I wrote some sample code to recreate this behavior. It repeatedly cuts out multiple square holes from a larger cube using the Boolean modifier as a Difference operation. The problem doesn’t happen every time. If I manually apply the Boolean modifiers instead of programmatically, I do not seem to get the problem. So the problem only presents itself to me when done through code.
I know the weird face will be less likely to happen if I subdivide the big cube first but I don’t want to do that. Using Limited Dissolve with an angle of 1 degree sometimes solves the problem but not always, even when I increase the angle. Recalculating normals never fixes the problem.
So what is this weird face with no edges?
Is there a way to solve this problem (programmatically) that doesn’t involve subdividing the big cube?
Below is example code written as a plugin and a blend file with the problematic object. I was able to reproduce the problem (randomly) when Number of X = 3 and Number of Z = 3, though it can also show up at other values. I’m on Windows 7, using Blender 2.75a.
Python script: https://www.dropbox.com/s/gwlpqrqoybaq0rh/bugTestScript.zip?dl=0
Blend file: http://www.pasteall.org/blend/37834