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.