I have done a similar translation from the contents of the MXD. You need to convert the layers to autocad levels and all the point features into suitable blocks. You store the premade blocks in an autocad template. Polygons are a not well supported so polygon fill may be a bit harder, you might have to do hatching. I my case I generated a set of Autocad services sheets nightly so engineers could use their favourite app to design new assets. Getting the details and extent out of the mxd might be hard, there is an mxd reader, but you might simplify it for yourself by extracting the details using a python script as parameters and then ignore the mxd itself. There is no direct conversion of symbology, its all your own lookup tables.
What is the purpose in CAD? After all you can export PDF, images and other formats directly from the mxd using the arcpy.mapping module.