Why is Boolean removing needed Vertices in some spots but not others

Hi, I am making an engine block and when using Boolean for the cylinder sleeves some cylinders work fine and others that are near identical delete needed vertices leaving the main journal bulkheads exposed and I have no idea why or how to fix that.

Here is a picture since BA will not let me upload the Blender file or dropbox link. I booleaned (Difference) the block for the Sleeves Labled Sleeve 4.7 x and you can see that cylinder number 8 (furthest back) was fine, Cylinder 6 (next to it) I slowly fixed by hand, and Cylinder 4 (Next to that one) is how Blender goofs up the Boolean. There is no floor to the main bulkhead and you can see inside the bulkhead which is not correct. I can continue to fix these by hand but it takes a while and is not 100 percent accurate and II still need to understand the problem. The normals should be all good and I merged all vertices.

Also is there a way to make sure a face is rotated parallel to the ground/Surface? I eyeballed it when fixing these by hand.

Thanks for any and all help.

Uploading: IMG_20201130_150058626.jpg…

Which Blender version? Have you tried the new 2.91 which has a new Boolean solver?

I am in 2.81 still, If I update will it still let me use my 2.81 created file? I have a lot of work done and was scared to risk it. Thanks.

Just make a backup.

Most likely issue is hotlinning.
Here are some Boolean tips,

While the author is using HardOps, the same rules still apply even without the addon.

The 2.91 version will open a 2.81 file, but if you save it from 2.91, it will probably not work if you then try to open in 2.81 again. To get the new boolean code to be applied, you will have to go into any boolean modifiers can change the solver from ‘Fast’ to ‘Exact’ after loading for the first time.

You can try 2.91 without uninstalling 2.81, and if it works for you then you can move on, else you can go back to 2.81 with the file that you hopefully saved in a safe place before trying any of this.

1 Like

Thanks for all the help, I will give it a shot in 2.91 though I have one question, is there a place where I can view all of my boolean modifiers that I made so I can do the fast to exact change? Thanks again.

The only way I know is to go to each object that you know or think you might have modifiers on and then go to the modifiers tab of the properties panel to see if any modifiers are listed, and if so, if any of them are boolean modifiers.

import bpy

def do_stuff(objects, solver = 'EXACT'):
    for o in objects:
        for m in o.modifiers:
            if m.type == 'BOOLEAN':
                m.solver = solver

def do_view_layer(layer, solver = 'EXACT'):
    do_stuff(layer.objects, solver = solver)

def do_scene(scene, solver = 'EXACT'):
    for layer in scene.view_layers:
        do_view_layer(layer, solver = solver)

# set Boolean solver for all objects in current scene
do_scene(bpy.context.scene, solver = 'EXACT')

# set Boolean solver for selected objects
#do_stuff(bpy.context.selected_objects, solver = 'FAST')

Okay tried 2.91 with the exact Boolean feature and still having issues. I am trying to boolean a cylinder out of the block, it should be recessed into the flat spot some. I have faces and vertices that are missing from the Boolean and somehow my cylinder has flat spots.

To Stan Pancakes, I appreciate the help but I am not that experienced with Blender and have no idea where to enter that in or what that does. I tried using the exact button with self checked and unchecked and it has issues.

To Blender Dev’s: Now it’s taking a while to go between edit mode and object mode, still having Boolean issues, and I’m not a fan of the new hidden apply button. Also with the new preview undoing becomes more difficult to know where I am at in the process.

Had no luck with the new Boolean system and when I select the block which is where all the booleans have been made I get no list of modifiers anywhere that I can find. I could fix a lot of these problems by hand if there is a way to make sure a certain face is parallel to the ground once the object is rotated. I have to eyeball it right now and that’s not very good.

Are there other ways than Boolean? Like the knife tool?

The script was in response to you asking where to find/change all Boolean modifiers to Exact mode. You can switch to Scripting workspace, add a text block, paste the script there and run it, it’s going to switch all modifiers in your file.

To the actual problem at hand though, perhaps if you were to show us the file we’d be able to give more pertinent advice.

I will have to look into the scripting workspace, thanks. I tried to share the file both via direct upload and dropbox and the site says I’m too new to upload? and it didn’t like dropbox but it will let me post a picture?

…As an update I just finished going through it and I eliminated every last unneeded vertex, edge, and face in the area by hand. I also looked at the tool I was using for the boolean and found two extra faces which probably happened while I was getting used to the new preview mode. I tried the exact boolean and it deleted large parts of my block. So I set it to fast and viola! i still had to fix some edges and faces by hand but all of my vertices were there to work with this time and it even recessed into the block properly. I attached a pic of what I was going for if that helps. Thanks again for all of the help, It is very appreciated. I am still learning better ways to do things but I am starting to understand more and more each day.