We use Solid-Works, a 3D CAD software. It is used to create parametrical models or parts. Through constraint of various degrees of freedom, these are positioned with other parts, and assemblies result. Drawings are then automatically created from these individual parts and assemblies.
Linking the software to the CNC machine allows fast, simple implementation.