A few weeks ago we were working on a job with a cafeteria. The food service people sent drawings to the archiecte that included all the FS equipment. The architect then turned around and attempted to email us the FS equipment drawing - but even zipped it exceeded 10 MBs and their email provider limited them to <10MB.
When we finally got the drawing, I was amazed that it was as bloated as it was since there not really that many objects in it. I did my normal routine of turning on, thawing and unlocking the layers, erase all and use a crossing window to deselct all visible objects, then purge and purge regapps as well. Regapps can add a lot of bloat to a drawing.
When it was still quite a large file I remembered an old trick of wblocking the entire drawing.
The usual sequence is to initiate wblock, when asked for file name browse to the folder where your file is and select the file. Answer Yes to the "File Exists" question, and when you are returned to the drawing enter an asterisk ( * ) for name of block/ etc.
The tricky part now is to close the drawing without saving - because you have already written out (wblocked) the drawing. In the particular case I am referencing it went from +/- 10MB to about 700K. That also made working with the drawing that the FS drawing was referenced into much easier.
Hope that helps someone!
You can also try the OVERKILL command to get rid of duplicate lines etc.
In a complex drawing just select multiple small areas seperately because using this command on a large file can cause acad to crash.
If the architect has sent you a file that was in 3d, ask them to EXPORT the file before emailing to you.
That will ensuse everything is properly converted to 2d objects.
Those are good tips. The problem I had in the past with native ACAD Flatten is that it created a whole host of other objects/layers/viewports and messed up all my work. There is a lisp routine called Flatten that I use instead. It was written by Mark Middlebrook, who I used to know from the UC Berkeley AUG.