Exports a plain-AutoCAD copy with every Civil 3D object exploded, flattens it to Z = 0 so design elevations do not leave with the file, purges it, and then re-measures the result to confirm nothing AEC or proxy survived. The original drawing is never touched. Civil 3D already owns the export (
AeccExportCivilDrawing) and almost nobody knows it exists: this adds no export logic of its own, it adds everything around it.
Export / filter
Flatten / enforce
Verify / caveat
What it adds over the native command
- Version, xref bind, bind type, prefix and suffix move out of
-AecExportToAutoCAD's option letters and into a dialog, saved to JSON. - “Export Feature Line as 2D” is stored PER DRAWING, six levels into Toolspace, and needs the drawing saved. Set it once here; applied per drawing and restored afterwards.
- Scopes: current drawing, all open drawings, or a whole folder, instead of one drawing and one Save dialog per run.
- Refuses to write over a source drawing. CSV log per run.
How the flatten works
- Implemented natively, not by driving Express Tools
FLATTEN, same reasoning as Clean DWG's MAPCLEAN passes: deterministic, no dialog, reportable, identical every run. - Lines, 3D polylines and splines flatten per vertex / control point.
- Everything else at a single elevation moves by a rigid
-Zdisplacement, preserving text justification, hatch associativity and dynamic block state. - Simple 3D polylines are rebuilt as 2D polylines, a 3D polyline renders every linetype as continuous unless the recipient runs
LineType3DPlineOn. - Block definitions are flattened too by default: the export is a disposable copy.
- Layers are turned off, not frozen (freezing the current layer throws); the source drawing is changed in memory only, restored the instant the export finishes, and never saved.
Dialog

VDCEXPORTCADSettings file:
%APPDATA%\VDC\ExportCad\settings.jsonWhen to use it
- An architect, contractor, or agency asks for 'a CAD file' and does not have Civil 3D.
- You are sending linework out and the elevations should not go with it.
- A recipient's software chokes on Civil 3D objects or shows them as proxies.
How to run it
- Run VDCEXPORTCAD; leave the mode on Preview for the first pass.
- Set the scope (Current drawing is the usual case), the output folder, and the name template.
- Check the DWG version and xref binding against what the recipient needs.
- Re-run in Apply mode and read the per-file report.
- Open the export before sending it - anything still off Z=0, or any AEC survivor, is called out by name.
Options
- Mode: Preview (list what would be exported, write nothing) or Apply.
- Scope: current drawing, all open drawings, a folder, or a folder and its subfolders.
- Naming: template with {name} {prefix} {suffix} {ver} {date} tokens; skip / overwrite / auto-number on collision.
- Version + xrefs: DWG format year, bind xrefs yes/no, and bind vs insert.
- Exploded feature lines: which plain AutoCAD entity a feature line becomes - 2D or 3D polyline. Forced to 2D while Flatten is on.
- Layers: export everything, remove layers matching a wildcard, or keep ONLY layers matching one (e.g. C-TOPO-*;*-EXIST). Anything matching is erased from the export.
- Flatten: sets every entity in the export to Z=0, rebuilds 3D polylines as 2D, and includes block definitions.
Watch out for
- Flattening removes elevation from GEOMETRY only - contour labels, spot elevations, and invert callouts still read as text in the export.
- The layer filter matches the EXPORT's layer names, not the source drawing's. Civil 3D objects draw their components on style-assigned layers, so an exploded surface or pipe network lands on those component layers - not the layer the object sat on. Run once, read the layer list in the report, then write the pattern.
- Insert-type xref binding merges xref layers into the host (XREF|C-ANNO becomes C-ANNO); Bind keeps them distinct.
- Exploded CAD cannot be edited as Civil 3D any more - a recipient who wants to keep working in Civil 3D needs a bind-and-send instead.
- Entities on a tilted plane are reported, not flattened - zeroing an elevation measured along a rotated normal is meaningless.
- 3D solids and meshes cannot be flattened, so by default the ones carrying elevation are ERASED from the export - a 3D face mesh rebuilds as a surface in one click. Everything erased is listed by type and layer; the source drawing is untouched.
- The export gets a purge, not an audit - AUDIT has no side-database equivalent. Run VDCSUPERCLEAN on the export for a full clean.
Related: Clean DWG · Super Clean · Xref QC · Plan Email