14

Anyone with sufficient mouse and chair miles will confirm that learning the keyboard short-cuts for frequently used operations vastly speeds up a workflow.

Today I realized that there are things I use the mouse for that should be doable solely from a keyboard context. One of these things is moving a selected vertex using the Transform toolbar.

My question is: How to enter a new coordinate for an existing selected vertex without using the mouse or the transform toolbar? Preferably absolute Global / absolute Local .

Another reason why absolute entry would be welcome
Another example, but this affects multiple selected vertices, is setting the X component of a bunch of vertices to be locally some absolute value. Especially useful when a mirror modifier needs the center vertices to line up nicely and their median X is not 0. Now the way is to S ,X to restrict the axis, then numeric 0 to unify them (sets them all to the median of their x component), then mouse over to the transform panel and set the median x to 0.

zeffii
  • 39,634
  • 9
  • 103
  • 186

4 Answers4

9
  • SHIFT + S and U Cursor to Center
  • SHIFT + S and T Selection to Cursor
  • G 1.5 Tab - 1 Tab 1.2 Enter

First step can be skipped when the 3D cursor is already at the center.

6

There was a patch submitted last year (been trying to get someone to look at it) that can make this happen very naturally as it builds on the existing functionality we get from using GSR with simple intuitive arithmetic.

This patch adds the ability to perform basic math operations when providing numerical input to a transform (i.e. Grab, Scale, Rotate) operation.

The supported operations include:

  • Addition (+)
  • Subtraction (-)
  • Multiplication (*)
  • Division (/)
  • Power (^)

It works on a left-to-right basis, updating the result whenever a new operation is started and using that value as the starting point for the next. This means that it is irrespective of any math operation precedence rules, but this felt way more intuitive.

Because these operations require the use of the - and / keys, the sign switching and number inversion hotkeys have been moved to Shift- and shift/ respectfully.

A quick example: G, Y, 5, // Moving 5 units across the y-axis

+, 2, ., 5, // Moving (5 + 2.5 = ) 7.5 units across the y-axis

/, // The result of the previous operation is now the starting point for next operation

3, // Moving (7.5 / 3 =) 2.5 units across the y-axis

Shift- // Switch sign, moving -2.5 units across the y-axis

iKlsR
  • 43,379
  • 12
  • 156
  • 189
  • I think this shows that the current way is a little crufty. – zeffii Jun 22 '13 at 14:22
  • 1
    @zeffii Hence the need for it! It's brilliant and very precise, been trying to get someone to look at it. – iKlsR Jun 22 '13 at 14:23
  • 1
    but something like G m x_val <tab> y_val <tab> z_val for global and G M x_val <tab> y_val <tab> z_val for local to 'move' a vertex to new absolute coordinates..is a dream. – zeffii Jun 22 '13 at 14:32
  • Chromoly did interesting work allowing kb input to be evaluated while running his scripts, in effect creating a localized console. – zeffii Jun 22 '13 at 14:36
1

While using key shortcuts is valuable, Im not sure why you would want to enter absolute coords?

If you set absolute location you can only do this one point at a time, so Im not sure why you would want to do that.

The times I have a list of positions I need to enter I would write a small Python script rather then type them in by hand.

The typical blender workflow for this would be...

  • Manually enter the location of the 3D cursor then snap to it.
  • Select the point then use the transform panel to set the exact position.

Transform using x/y/z key bindings and entering in values is not absolute, but its efficient and most users would do this.

So while this isn't optimal, I'd like to know what you do that makes this such an important feature.

Note that if you for some reason have a workflow that requires this (but isn't useful enough to be added into Blender by default), it's not so hard to write an addon to do this and assign it a key shortcut.

ideasman42
  • 47,387
  • 10
  • 141
  • 223
0

Add a Vertex (Ctrl-left click), and set the vertex location to origin:

type ShiftS + U (Cursor to Center), then

type ShiftS + T (Selection to Cursor)

Press G to enter grab mode. Enter movement in x direction with 0-9 decimal point . and negative -, Tab enter y value (like the x value), Tab enter z value (like the x value).

Alternatively, you can limit the transform on a axis by pressing x, y or z in grab mode. Or Shift and x, y, z to limit on the other axis .

iKlsR
  • 43,379
  • 12
  • 156
  • 189
Wiggi
  • 1