Trying to fix Blender “Mirror” bug

The behavior of Mirror in blender is for some reason. So I tried to fix it by myself. I do not take any responsibility for any damage or loss if you follow this article.

Problem

I don’t know why but object menu “Mirror > X Local” calls operation of “X Global” in my blender 2.83 on windows10. Actually this problem can be solved by update and re-install blender 2.83.

# the same function is called as below
bpy.ops.transform.mirror(orient_type='GLOBAL', constraint_axis=(True, False, False), use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)

What I did to fix

I searched word “Mirror” in C:/Program Files/Blender Foundation/Blender 2.83/2.83 and find the definition of mirror menu in C:/Program Files/Blender Foundation/Blender 2.83/2.83/scripts/startup/bl_ui/space_view3d.py.

class VIEW3D_MT_mirror(Menu):
    bl_label = "Mirror"

    def draw(self, _context):
        layout = self.layout

        layout.operator("transform.mirror", text="Interactive Mirror")

        layout.separator()

        layout.operator_context = 'EXEC_REGION_WIN'

        for (space_name, space_id) in (("Global", 'GLOBAL'), ("Local", 'LOCAL')):
            for axis_index, axis_name in enumerate("XYZ"):
                props = layout.operator("transform.mirror", text=f"{axis_name!s} {space_name!s}")
                props.constraint_axis[axis_index] = True
                props.orient_type = 'GLOBAL' # the point that cause a problem!!!

            if space_id == 'GLOBAL':
                layout.separator()

So change ”props.orient_type = ‘GLOBAL’” into “props.orient_type = space_id” and save with administrative privileges.

Restart Blender and check the result.

bpy.ops.transform.mirror(orient_type='LOCAL', constraint_axis=(True, False, False), use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)

It was easy to modify blender program in python level.