Oddness: extruding faces contrained to Z

When I extrude in face selection mode, it starts off constrained to the z axis. I must tap Z to move the new points arbitrarily. Is this a bug or feature? Extruding while in points or edge selection mode works normally.

I quote theeth (the developer of the code for this) as that´s the best explaination you’ll ever get:

Comment By: Martin Poirier (theeth) Date: 2011-05-15 12:51

Transform constraints cycle between the following states: off, global axis, user selected axis

When extruding an edge or two vertices, the user selected orientation is replaced with normal orientation and transformation is constrained to the plane perpendicular to that edge (locking normal Z), as such, it’s now at the “user selected axis” step in the cycle.

Pressing Z cycles to the next option which is Off. Pressing any other axis turns off the current constraint and cycles the selected one. So if you press X, it will cycle to global X axis constrained (or locked if you pressed Shift-X). Another time will cycle to normal axis X and another time to Off.

Extruding faces does the same thing except it constrains to normal Z instead of locking it. That is, pressing Z again will cycle to Off.
Moreover, the two axis are not determined in a random fashion. First, the Z axis is aligned with the edge and the Y axis is aligned opposite to the average of the normal of both vertices making the edge. The X axis follows logically. This means that for a normal surface, Z and X will be the tangent and the binormal, respectively.

You can try this, courtesy of Pablo Vasquez, to free extrude:
User prefs>input
search for “extrude”
change operator’s name assigned to E to: mesh.extrude_region_move
save as default or export keymap

This will always make it free, maybe a bad idea for some cases.

Personally I feel it should be free always, and allow normal alignment with the n key as one would with x,y, or z. It would be more consistent with the workflow IMO.

Comment By: Ton Roosendaal (ton)
Date: 2011-05-14 17:57

I realize it might feel awkward, but this is how it was intentionally coded.

When you start an extrude it chooses a constraint automatically. It then behaves like any constraint you set in transform, which requires you to cycle through the options. Try regular ‘grab’ to experiment a bit with all constrainting shortcuts.
Issue of “consistent” versus “expectations”…

Someone has to call the shots :wink:
Artists expectations often collide with developers intentions or their rigid abiding to context sensitivity or consistency.

And while Blender is far from being perfect in it´s usage at the artists end, its development and developers are very flexibly adapting to artists needs or requests - if they make sense.

Believe me, I know this is a battle I can’t win, especially when guys like Pablo are on my side and it still hasn’t changed :wink: I seem to bring this up every 6 months or so heh- the thing is when 2.5 was still a baby extrude was free, and it was great, so I think a few people got a taste for it and liked it better. But I digress, it won’t happen, but if the soapbox is there I’m more than happy to stand on it!

Interesting. Well, for now it’s not a show-stopper, just a sensless inconvenience from my point of view. (Seems like 2.4 didn’t do this.)

2.49 constrains extrudes also.