For metal work there primarily two types a machines a mill and a lathe. Of course there are shapers, grinders, plasma, waterjet, and laser cutters and many more, but primarily the two most used ones are a lathe and a mill. A basic mill in its most simple state is primarily used to make rectilinear parts while a lathe is used to make round parts.
In the CNC world the complexity of each type of machine increases with the addition of axes, IE the possible directions that the machine can move. Each step in complexity of the machine increases the cost of the machine itself, the CAM program needed to program it and usually the cost of the part. Where the complexity helps, is in the reduction of setups, the speed of making the part and the allowable increased complexity of the part.
The following is a breakdown of various types of mills and lathes that might be of use to you when designing parts and looking for machine shops that can fabricate them. It is also worth noting that it is a lot harder to find open time on more complex machines as there are less shops out there that have them.
The basic CNC mill is a 3 axis mill. It can move in the X Y and Z axis. Or Left/Right, Back/Forward, Up/Down. Below is a HAAS 3 axis machine demo.
As you can see the machine is moving in tandem in only 3 axes.
The next step up in complexity is a 4 axis machine that not only moves in X Y and Z but also rotates the part to access more faces of the part. A 4 axis machine is usually a 3 axis machine that has a rotary component added to it. Said component is called an A axis.
A 5 axis machine is the next step. These machines are either built as 5 axis machines from the ground up or are modified 3 axis machines that have a trunion element added to them. The following video is a HAAS 5 axis machine making a part out of 6061 Aluminum.
The basic lathe is moves in an X and Z direction. The Z direction parallel to the turning axis of the part while the X moves perpendicular to it.
A live tooled lathe and a Y enabled lathe are the two next steps in complexity. These are grouped together because usually a lathe with live tooling has the ability to move in the Y axis or perpendicular to the X axis of the lathe. Live tooling means that the lathe has the ability to turn tools on the turret such as end-mills or drills. This allows the lathe to not only turn the parts but to mill them as well thus to make rectilinear parts or features. Below is an example of a HAAS live tooled lathe.
The next step in complexity is a lathe with a sub spindle. What this allows is for the machine to transfer a part to another spindle of the machine and to cut the opposite side of the part. Here is a good example.
As you can see the part of the part that was held in the chuck can now be machined by holding the already cut features of the part in the second spindle.
The next increase in complexity of the machine brings us to a B axis lathe. This type of machine can not only move in the X Y and Z axis but can also pivot to cut at various angles. Here is a good example:
A Swiss Lathe.
Though this is also a lathe, I felt it prudent to dedicate a separate section to this type of machine as this machine is used to make custom fasteners and complex small turned parts. Often I get people asking for these types of parts and have to refer them to outside contractors as this is a very specialized facet of CNC machining.
The difficulty of prototyping parts of this type on this machine primarily lies in the setup of the part. Swiss machine shops usually require larger quantities to be cost effective. Below is a good example of their complexity.