7

Object's local pivot point has been reset to Global. How can I change it back to local Normals i.e coresponding with the object's Face Normal?

Harry McKenzie
  • 10,995
  • 8
  • 23
  • 51
mac17
  • 73
  • 2
  • 5

2 Answers2

10

Quite a few possible ways.. here's one:

  1. Select a face of the object, whose normal you want to be Object Z, and in the Header > Transform Orientations dropdown, hit the little '+' to create a Custom Orientation from it.
  2. In the Object Mode Header > Options menu, check 'Origins' (version 2.81+)
  3. With the object (and therefore its axis) selected, Header > Object > Transform > Align to Transform Orientation, selecting the orientation you have just created, from the dropdown in the 'Adjust Last Operation' Panel.

(and don't forget to switch the 'Origins' option off again ;) )

You can actually create a Custom Orientation from any 3 vertices. Or determine Y down an edge, or from any 2 vertices. In both of those cases, though, you might be 180 degrees out; the selection is not ordered.

ATP
  • 103
  • 3
Robin Betts
  • 76,260
  • 8
  • 77
  • 190
1

We can also automate @Robin Betts' answer. Simply paste the following script into the Text Editor. In Edit Mode, select the Face whose Normal you want the Origin's z-axis to align to and click Run Script:

import bpy

area_type = 'VIEW_3D' areas = [area for area in bpy.context.window.screen.areas if area.type == area_type] bpy.context.scene.tool_settings.use_transform_data_origin = True

with bpy.context.temp_override(area=areas[0]): bpy.ops.transform.create_orientation(use=True) bpy.ops.object.editmode_toggle() transform_type = bpy.context.scene.transform_orientation_slots[0].type bpy.ops.transform.transform(mode='ALIGN', orient_type='Face', orient_matrix_type=transform_type, mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', use_proportional_connected=False, use_proportional_projected=False, snap=False, snap_elements={'INCREMENT'}, use_snap_project=False, snap_target='ACTIVE', use_snap_self=True, use_snap_edit=True, use_snap_nonedit=True, use_snap_selectable=False) bpy.ops.transform.delete_orientation()

enter image description here

Harry McKenzie
  • 10,995
  • 8
  • 23
  • 51