14
$\begingroup$

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.

$\endgroup$
  • 1
    $\begingroup$ There is a patch that can make this very natural and easy.. $\endgroup$ – iKlsR Jun 22 '13 at 13:38
  • $\begingroup$ that might be worthy of posting it as an answer. $\endgroup$ – zeffii Jun 22 '13 at 13:41
  • $\begingroup$ ok, I have used it a bit, will do. $\endgroup$ – iKlsR Jun 22 '13 at 13:42
  • $\begingroup$ Could you explain the task you are doing that requires entering absolute locations? - I have done quite a lot of modeling to blueprints and never needed this. $\endgroup$ – ideasman42 Jun 22 '13 at 18:23
  • 2
    $\begingroup$ You never use the transform panel to set a vertex with the xyz fields? Maybe it's just my old AutoCAD ways.. $\endgroup$ – zeffii Jun 22 '13 at 19:17
8
$\begingroup$
  • 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.

| improve this answer | |
$\endgroup$
  • $\begingroup$ this is a fine answer, let's see if it can be done without the cursor steps. $\endgroup$ – zeffii Jun 22 '13 at 14:05
  • $\begingroup$ @zeffii: Without the cursor step. $\endgroup$ – mins Dec 22 '19 at 12:09
6
$\begingroup$

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

| improve this answer | |
$\endgroup$
  • $\begingroup$ I think this shows that the current way is a little crufty. $\endgroup$ – zeffii Jun 22 '13 at 14:22
  • 1
    $\begingroup$ @zeffii Hence the need for it! It's brilliant and very precise, been trying to get someone to look at it. $\endgroup$ – iKlsR Jun 22 '13 at 14:23
  • 1
    $\begingroup$ 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. $\endgroup$ – zeffii Jun 22 '13 at 14:32
  • $\begingroup$ Chromoly did interesting work allowing kb input to be evaluated while running his scripts, in effect creating a localized console. $\endgroup$ – zeffii Jun 22 '13 at 14:36
1
$\begingroup$

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.

| improve this answer | |
$\endgroup$
0
$\begingroup$

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 .

| improve this answer | |
$\endgroup$
  • $\begingroup$ sorry, i've updated the question to be a little bit more precise $\endgroup$ – zeffii Jun 22 '13 at 13:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.