If I select a face, the 3D manipulator shows the Z axis as perpendicular to the face, as it should. But when I then press “E” to extrude, the face moves along an X axis, not a Z axis, and it’s an X axis that is not the X axis of the actual normal coordinate system. When I switch to the Z axis while extruding, this Z axis is in a totally different direction from the actual normal–even though it’s called “normal z” in the 3D View window’s header. Where am I going wrong here?
It’s difficult to give an answer with so little info, such as no blend file or screenshot to show exactly what you are doing. When you extrude a face it initially extrudes along the faces z normal (the direction of the face normal). This is nothing to do with the global axes. Attach more info.
Your model is built along X axis with Z axis vertical. Axis on the face is pointed the same direction as Global axis as it should. When extruding, nominal extrude direction is normal to the surface which is not in the direction of any of the global axis; that is how it works. So if you want the extrusion to go X, you just inter X in the keyboard. Then the new face does go in X direction.
By the way you do have lots of double vertex all over. Remove those. That may be causing the problem.
Thanks, ridix. I think I wasn’t clear. I meant to say that when I select the normal orientation in the “transform orientation” field, and when I select a face, the 3D manipulator shows the Z axis as perpendicular to the face, as it should. But when I extrude the face, the face does not extrude along the actual normal z axis, but in another direction (which doesn’t seem to correlate with any of the coordinate systems). The face does not move along its normal; it does not move in a direction perpendicular to its plane. W > “Remove Doubles” does not help.
Some modeling methods corrupt face normals. Select your object and in Object mode, do Ctrl-A and apply Location; repeat for Rotation and Scale. That should fix your normals.