Skip to content

Viewport Editing Tools

The 3D viewport works the way Blender's does: one active tool decides what the left mouse button does, and the transform gizmo is one of those tools rather than something that is always on. The tool is chosen from the row of buttons in a pane's title bar, or with a key.

The tools

Tool Default key What the left button does
Select W Clicks an object. Shift-click adds to the selection, ctrl-click picks the leaf inside an assembly instead of the assembly.
Box Select B Drags a rectangle; everything inside it is selected. Holding shift keeps what was already selected. A drag that never leaves its starting pixel is treated as a click.
Transform T The full gizmo: move arrows, plane handles, rotation rings and scale cubes at once.
Move G Translation only -- the three axis arrows plus the three plane handles.
Rotate R Rotation only -- the three rings, plus the outer ring that turns around the view axis.
Scale S Scaling only -- the three axis cubes.

The tool is per pane: two viewports side by side can have different ones, because each has its own gizmo (see Viewport::SetEditTool). The toolbar button and the armed gizmo are always the same thing -- pressing the key lights the button, clicking the button arms the gizmo.

Plane handles

Between each pair of axis arrows sits a small square: dragging it moves the object in that plane, leaving the third coordinate exactly as it was. Each square is coloured after the axis it holds fixed, so the blue one keeps Z (it slides in XY), the red one keeps X, the green one keeps Y.

Unlike an axis drag, a plane drag is solved by intersecting the mouse ray with the plane, so the handle stays under the pointer for the whole drag -- see vtkHandlerPlaneTest.

Other viewport keys

Action Default key
Select all A
Deselect all Alt+A
Frame selection F
Duplicate selection Ctrl+D
Gizmo orientation: global / local O / L
Gizmo pivot: bounding-box centre / centre with local axes C / K

Every one of these is configurable in File → Preferences → Editing: click a shortcut, press the new combination, Backspace clears it and Escape cancels. A key that another action already holds is taken from it, so two actions can never share one key. The map is stored under Keymap/ in the gcompose settings file and applies to every viewport at once.

Changed defaults

The transform gizmo used to answer G with "global orientation" and 1/2/3 with "toggle translation/rotation/scaling". Those letters now follow Blender (G/R/S arm the move, rotate and scale tools), the numeric toggles are gone -- the tool buttons replace them -- and global orientation moved to O.

Selecting several objects

A selection can hold any number of objects, and the gizmo transforms them as a group: it sits on the combined bounding box, and whatever it does is applied to every member (MultiSelectionProp). A group can be built anywhere and shows up everywhere:

  • in a viewport -- shift-click, or drag a Box Select rectangle;
  • in the object tree -- ctrl-click single rows, shift-click a run of them;
  • in the node graph -- NodeGraphQt's own rubber band and ctrl-click.

Whichever panel the selection is made in, the others follow, and the primary object (the most recent pick -- what the Properties panel shows) is the last one in the list.