Quick Access Search All Tools Ctrl+K Help & Tool Guide
⚡ Interactive Audit Tools
0 / 9
AUDIT Run a drawing audit first
AutoCAD scans for internal errors and optionally repairs them. Always start here.
Type AUDIT → press Enter → when prompted "Fix any errors detected?" type Y → Enter.

AutoCAD reports the number of errors found and fixed in the command line. Save the drawing immediately after. If AUDIT finds 0 errors, your drawing structure is clean — move to PURGE next.

What AUDIT checks: Entity header data, object ownership chains, database record integrity, block definition consistency, corrupt pointer references.
PURGE Purge unused definitions (run 3× nested)
Removes unused layers, blocks, text styles, dim styles, linetypes, and more. Run multiple times until 0 items are purged.
Type PURGE → dialog opens → check "Purge nested items" → click Purge All → confirm → repeat until the count reaches 0.

Why 3 passes? Nested items — blocks inside blocks, styles referenced by styles — require multiple passes. The first pass frees the outer shell; the next pass can then purge what was hidden underneath.

Command-line alternative: -PURGE (with dash) → type ALL → Enter → N (don't verify each item) → repeat.
OVERKILL Remove duplicate and overlapping geometry
Deletes exact duplicate lines, arcs, and polylines, and merges collinear overlapping segments. Reduces file size and prevents double-plotting.
Select all geometry (Ctrl+A) → type OVERKILL → Enter → review tolerance settings → OK.

Key settings in the dialog:
Tolerance: 0.000001 is safe for most drawings. Increase only if you have known rounding issues from imported geometry.
Ignore object properties: Check "Layer" if you want to merge identical lines on different layers (careful — usually leave unchecked).
Optimize segments within polylines: Check this to merge collinear polyline vertices.

Common in drawings imported from PDF, 3D models, or GIS data where every edge becomes duplicate lines.
SCALELISTEDIT Clean up the annotation scale list
Every drawing accumulates hundreds of unused annotation scales from inserted xrefs and blocks. A bloated scale list slows down the interface significantly.
Type SCALELISTEDIT → dialog opens → click "Delete All" → then "Add" only the scales your drawing actually uses → OK.

Why this matters: Each xref or block you insert brings its entire scale list with it. A drawing that has referenced files from a dozen projects can accumulate 300–500 scales. Every time you click the viewport scale dropdown, AutoCAD builds this list — it can take 10+ seconds with a bloated list.

Standard scales to keep: 1:1, 1/8"=1', 1/4"=1', 1/2"=1', 1"=1', 1"=10', 1"=20', 1"=50', 1"=100' — plus whatever your specific project uses.
QSELECT Hunt and remove stray / problem objects
Use QSELECT to locate objects on layer 0, proxy/unknown objects, zero-length lines, and geometry outside the drawing extents.
Type QSELECT → set filters → OK → selected objects highlight → review → delete if appropriate.

Key things to hunt:
Zero-area/zero-length objects: Filter by object type = Line, Property = Length, Operator = = Equals, Value = 0.
Objects far from drawing: Type ZOOM EXTENTS — if the view zooms to an unexpected area, something is far out of range. ZOOM to it, identify with LIST, delete it.
Proxy/Unknown objects: From applications like Civil 3D or Map 3D. If you don't have the source app, they can't display or print correctly. Use EXPLODE or delete them.
OLE objects: Embedded spreadsheets/Word docs embedded in drawings bloat file size. Find in QSELECT by type = OLE Frame.
-PURGE REG Purge Regapp IDs
Registered application IDs (Regapps) are invisible database entries left by third-party add-ons. They don't purge with normal PURGE and can add megabytes to file size.
At the command line: -PURGE → type R (Regapps) → Enter → type * (all) → Enter → type N (don't verify each) → Enter.

What leaves Regapps: Civil 3D, Map 3D, Revit exported DWGs, Sheet Set Manager, third-party add-ons, old AutoCAD versions. The entries persist even after uninstalling the software that created them.

A drawing with 500+ Regapp entries is common after years of collaboration across different software versions. Purging them can reduce file size by 20–40%.
AUDIT Run AUDIT a second time after cleanup
After PURGE and OVERKILL, re-run AUDIT. Sometimes purging exposes new structural issues that weren't visible before.
Type AUDIT → Y to fix errors → Enter. If this second pass still finds errors, note the count. If errors persist through 3 AUDIT passes, the drawing may have a deeper corruption issue — use the RECOVER workflow instead.

What the error count means:
• 0 errors = clean bill of health
• 1–10 errors = minor, AUDIT likely fixed them
• 10–100 errors = investigate which entity types are affected
• 100+ errors = consider RECOVER or the WBLOCK nuclear option
ISAVEPERCENT Optimize incremental save setting
AutoCAD's default incremental save (50%) leaves "dead" data in the file. Setting it to 0 forces a full save and produces smaller, cleaner files.
Type ISAVEPERCENT → Enter → type 0 → Enter. This takes effect on the next save (Ctrl+S).

The trade-off: ISAVEPERCENT = 50 means AutoCAD saves only the changes (fast but leaves deleted object data in the file). ISAVEPERCENT = 0 forces a complete rewrite of the file every save (slower on large drawings but produces the smallest possible file).

Recommendation: Set to 0 on any drawing over 20 MB or before issuing/archiving. Set back to 20–25 during heavy editing sessions if save speed is a concern.
SAVEAS Save to a new filename to finalize
After all cleanup, SAVEAS to a new file name. This forces AutoCAD to write a completely fresh DWG — the final step that produces the smallest, cleanest output.
Type SAVEAS → choose your DWG version (2018 format is a good universal choice) → save with a new name or increment the version number (e.g., drawing_v2_clean.dwg).

Why not just Ctrl+S? Even with ISAVEPERCENT = 0, the existing file has fragmented empty space from deleted objects. SAVEAS creates a brand-new file container, eliminating all of that. Think of it like defragging a hard drive by copying files to a fresh disk.

File size check: Compare the new file to the original. A reduction of 30–70% is common after a full audit + purge + SAVEAS sequence on a neglected drawing.

PURGE removes unused named object definitions from the database. Items must have zero references to be purgeable. Color indicates how easy they are to purge.

✅ Easy — Always Purgeable
Unused layers (with no objects)
Unused text styles
Unused dim styles
Unused linetypes
Unused table styles
Unused multileader styles
Unused materials / visual styles
Unused section view styles
⚠️ Medium — May Resist
Blocks (if referenced, even invisibly)
Groups (if empty or unreferenced)
Xref definitions after detach
Nested block definitions
Viewport configurations
Named page setups (if unused)
Plot stamp settings
Annotation scales (use SCALELISTEDIT)
🚫 Hard — Often Won't Purge
Layer 0 (protected, never purgeable)
Linetype "Continuous" (always present)
Text style "Standard" (default, locked)
Regapp IDs (need -PURGE R)
Layers with frozen/off objects
Layers from locked xrefs
Block *Model_Space / *Paper_Space
Objects on locked layers
⚠️ Layers that won't purge still have objects on them — even if those objects are invisible (frozen, off, or in a nested block). Use LAYDEL to force-delete a layer and all objects on it, or LAYMRG to merge it into another layer.

The Correct PURGE Order

#What to RunWhy This Order Matters
1AUDIT (fix errors)Corrupted pointers can make purgeable items appear referenced. Fix first.
2-PURGE R (Regapps)Regapps hold references to other items. Clearing them first allows more to purge.
3PURGE ALL with nestedFirst pass removes top-level unused items, exposing nested ones.
4PURGE ALL againSecond pass gets the newly exposed nested items.
5PURGE ALL a third timeThird pass until count = 0. Diminishing returns after this.
6SCALELISTEDITScale list not touched by PURGE — requires its own cleanup command.
7ISAVEPERCENT 0 + SAVEASWrite a fresh file container, eliminating all dead space from deleted objects.
💡 Layer delete vs Layer merge: LAYDEL deletes the layer AND all objects on it (irreversible — backup first). LAYMRG moves all objects from a source layer to a target layer, then deletes the source — safer when you want to keep the geometry.

Work through these options in order — start with the least destructive and escalate only if needed.

1
Open the .bak file
AutoCAD creates a .bak file (backup) every time you save. It's the previous version of your drawing. In File Explorer, rename drawing.bakdrawing_backup.dwg and open it. If your DWG is corrupt, the .bak may be fine.
Rename: drawing.bak → drawing_backup.dwg
2
Check Drawing Recovery Manager
After a crash, AutoCAD auto-saves to a temp location. The Drawing Recovery Manager shows all auto-save files from the last session. Open it immediately after a crash — these files are deleted when you start a new session normally.
Command: DRAWINGRECOVERY → opens the panel
3
Use RECOVER on the damaged file
RECOVER attempts to open a corrupt DWG by scanning the raw binary data and reconstructing whatever it can. Unlike double-clicking the file, RECOVER bypasses the normal open process that might crash on bad data.
Command: RECOVER → browse to the file → open
4
Use RECOVERALL for xref-linked drawings
RECOVERALL runs RECOVER on the host drawing plus all attached xrefs simultaneously. Useful when corruption may have spread across multiple linked files in a project set.
Command: RECOVERALL → browse to host DWG → open
5
Older AutoCAD version trick
If AutoCAD 2024 won't open the file, try opening it in an older version (2018, 2016). Older DWG parsers sometimes handle corruption differently. Once open, run AUDIT + PURGE + SAVEAS to a clean file, then re-open in 2024.
Open in older version → AUDIT → SAVEAS → reopen in 2024
6
☢️ The WBLOCK Nuclear Option — Last Resort
WBLOCK exports all geometry to a brand-new DWG file, stripping out the entire corrupt database structure. The new file has only the geometry — all named objects (layers, styles, page setups) come with it, but corrupt pointers and dead database entries are left behind. This is the most aggressive clean you can do without losing visible content.
WBLOCK → Entire drawing → save as new name → open new file → AUDIT + PURGE + SAVEAS
🚨 Before any recovery attempt: Copy the original damaged file to a separate backup folder first. Recovery operations can sometimes make corruption worse, and you need the original to fall back on. Never run RECOVER on your only copy.

Auto-Save File Locations

File TypeExtensionDefault LocationNotes
Backup copy.bakSame folder as the DWGCreated on every manual save (Ctrl+S)
Auto-save.sv$C:\Users\[user]\AppData\Local\Temp\Created every N minutes (set in Options → Open and Save)
Recovery.dwgDrawing Recovery Manager panelShown only after a crash — open DRAWINGRECOVERY immediately
Lock file.dwl / .dwl2Same folder as the DWGPrevents multi-user editing. Delete if left behind after a crash.
💡 Change your auto-save interval: Options → Open and Save → Automatic save → set to 5–10 minutes. The default is 10 minutes — plenty of work to lose. For large complex drawings, drop it to 5.

Drawing Health Pipeline

File Size — What's Bloating Your Drawing?

A well-maintained drawing should be small. A drawing that balloons over time almost always has one of these culprits. Use this meter as a benchmark for what's expected:

Under 1 MB
Ideal
Simple 2D plan, well-purged
1–5 MB
Normal
Multi-layer complex drawing
5–20 MB
Investigate
Run full audit sequence
20–100 MB
Bloated
Likely has OLE, proxy objects, or massive raster images
100 MB+
Critical
Something is very wrong — audit + WBLOCK needed
🔍 Common Size Culprits
  • Embedded OLE objects (Word/Excel inserted in drawing)
  • High-resolution raster images attached or embedded
  • Proxy/unknown objects from Civil 3D, Map 3D, Revit
  • Hundreds of unused block definitions from copy-paste between drawings
  • Bloated annotation scale list (hundreds of scales from xrefs)
  • Regapp IDs from third-party add-ons accumulated over years
  • ISAVEPERCENT > 0 leaving dead object data in the file
  • Corrupt undo history preserved in the file
✅ Size Reduction Checklist
  • AUDIT → fix errors
  • -PURGE R → clear Regapps
  • PURGE ALL × 3 passes with nested checked
  • OVERKILL on all geometry
  • SCALELISTEDIT → delete all, add only used scales
  • Delete or unlink OLE objects and raster images
  • XREF bind then PURGE, or XREF detach if not needed
  • ISAVEPERCENT = 0 → SAVEAS to new file

Layers That Won't Purge — Solving It

The most common frustration during PURGE. A layer shows up as "can't be purged" even though you can't see any objects on it. Here's why and how to fix each case:

Why the Layer Won't PurgeHow to Find the ObjectsFix
Objects on the layer are frozenThaw all layers → ZOOM EXTENTS → look for stray objectsThaw layer → select objects → delete or move to correct layer
Objects on the layer are inside a block definitionBEDIT the block → check which layer the content is onMove content to layer 0 inside the block, or explode block and move objects
Layer exists only in a nested xrefCheck the layer name prefix (e.g., XREF|LAYERNAME)Detach or bind the xref — the layer disappears with it
Objects are on the layer but in paper spaceSwitch to each layout tab → check if anything is on that layerGo to each layout, select and delete or move the objects
Layer is the current layerCommand line shows "Cannot purge current layer"Set a different layer as current → then purge
Objects have BYBLOCK property pointing to the layerUse QSELECT to filter by layer nameChange object layer property → PURGE again
LAYDEL needed as last resortLayer confirmed empty but still resistsLAYDEL → select layer → forces deletion with any remaining content

AUDIT vs PURGE vs OVERKILL — Know the Difference

CommandWhat It Checks / RemovesChanges Geometry?Run How Often
AUDITInternal database errors, corrupt pointers, invalid entity headersNo (repairs metadata only)Start and end of every cleanup session
PURGEUnused named objects: layers, blocks, styles, linetypes, RegappsNo (removes definitions, not geometry)Before issuing or archiving any drawing
OVERKILLDuplicate geometry, overlapping lines, collinear polyline segmentsYes — deletes and merges objectsAfter importing from PDF, GIS, or vendor files
RECOVERCorrupt DWG file that won't open normallyMay lose some corrupt objectsWhen a drawing won't open
WBLOCKEverything — exports geometry to a fresh databasePreserves geometry, strips corrupt database structureLast resort when RECOVER fails

DWGCOMPARE — Spot Changes Between Versions

DWGCOMPARE overlays two versions of a drawing and highlights what changed — added geometry in green, removed geometry in red, unchanged in gray. Essential for revision tracking and checking what a collaborator modified.

StepActionNotes
1Open the current (newer) drawingThis is the "base" file for comparison
2Type DWGCOMPAREOr: Collaborate tab → DWG Compare
3Browse to the older drawing versionThe comparison draws both files simultaneously
4Review color-coded differencesGreen = added in current. Red = removed from original. Gray = unchanged.
5Use the Compare toolbar to filterShow only additions, only deletions, or toggle layers
6Close comparison modeType DWGCOMPARECLOSE or click the X in the compare toolbar
💡 DWGCOMPARE works on the geometry level — it catches moved lines, deleted objects, and added annotations. It does NOT track layer property changes, text content edits inside attributes, or xref content unless you compare the xref files directly.

System Variables

ISAVEPERCENT
0–100 | Default: 50
Percentage of dead data allowed in file before AutoCAD forces a full rewrite. Set to 0 before issuing or archiving to produce the smallest possible file.
ISAVEBAK
0 = no .bak | 1 = create .bak
Controls whether AutoCAD creates a .bak file on every save. Keep at 1 (default). Setting to 0 speeds up saves on very large files but removes your safety net.
AUDITCTL
0 = no log | 1 = write .adt log
When set to 1, AUDIT writes a text log file (.adt) to the same folder as the DWG with a full report of all errors found and fixed. Useful for documenting file health.
SAVETIME
0 = off | 1–600 minutes
Auto-save interval in minutes. Default is 10 minutes. Set to 5 for active work sessions. Set to 0 only on read-only review files to avoid unnecessary saves.
FILEDIA
0 = command line | 1 = dialog
Controls whether file-related commands show a dialog box or use the command line. If dialogs stop appearing, type FILEDIA → 1 to restore them.
UNDOCTL
0=off | 1=on | 2=one | 4=combined
Controls the undo system. The undo history stored in memory can grow large on complex sessions. Type U or UNDO CONTROL ALL to manage it.

Key Commands Reference

CommandAlias / ShortcutWhat It Does
AUDITScans drawing database for errors; optionally fixes them
PURGEPURemoves unused named object definitions (layers, blocks, styles, etc.)
-PURGECommand-line PURGE; use -PURGE R to purge Regapp IDs specifically
OVERKILLRemoves duplicate geometry and merges overlapping collinear objects
RECOVEROpens a corrupt DWG by scanning raw file data
RECOVERALLRECOVER on drawing + all attached xrefs simultaneously
WBLOCKWExports entire drawing to a fresh DWG file, stripping corrupt database structure
DRAWINGRECOVERYOpens the Drawing Recovery Manager showing crash auto-save files
SCALELISTEDITManages the annotation scale list; use Delete All then re-add used scales
QSELECTFilter-based selection for finding zero-length objects, proxy objects, OLE frames
LAYDELForce-deletes a layer and all objects on it (irreversible)
LAYMRGMerges all objects from one layer to another, deletes source layer
DWGCOMPAREVisual comparison between two DWG versions; shows added/removed geometry
DWGCOMPARECLOSECloses DWGCOMPARE mode and returns to normal drawing view
LISTLIShows all properties of a selected object — useful for identifying unknown objects
DISTDIMeasures distance; use to verify geometry hasn't been corrupted or scaled wrong

Common Problems & Fixes

ProblemLikely CauseFix
Drawing file is unexpectedly large (50 MB+ for simple plan)OLE objects, high-res raster images, proxy objects, Regapps, or ISAVEPERCENT = 50 accumulationRun full audit sequence; check for OLE frames with QSELECT; -PURGE R for Regapps; ISAVEPERCENT = 0 + SAVEAS
AutoCAD crashes on openCorrupt DWG header or entity dataUse RECOVER command; try opening .bak; check Drawing Recovery Manager for autosave
Layer won't purge despite appearing emptyObjects frozen, inside a block, in a layout, or layer is currentThaw all layers → ZOOM EXTENTS → check all layouts → check block interiors → use LAYDEL as last resort
Annotation scale dropdown takes 10+ seconds to openBloated scale list from accumulated xref insertions (200–500+ scales)SCALELISTEDIT → Delete All → add back only needed scales
PURGE keeps finding items even after multiple passesNested items: blocks inside blocks, styles used by stylesCheck "Purge nested items" in PURGE dialog; run -PURGE R first; run 3+ passes
Drawing has proxy/unknown objects that won't deleteCreated by Civil 3D, Map, Revit, or other Autodesk vertical productsTry EXPLODE to convert to basic geometry; if fails, use QSELECT by type → Delete; last resort: WBLOCK to strip database
Lock file (.dwl) left over after crash prevents openingAutoCAD crash didn't release the file lockDelete the .dwl and .dwl2 files from the same folder as the DWG in Windows Explorer
Duplicate lines printing extra dark (double-plotted)Copy-paste from other drawings brought duplicate geometrySelect all → OVERKILL with tight tolerance (0.0001)
Drawing opens but geometry is missingRECOVER was partial; or geometry on frozen/off layersThaw all layers → check all layouts → if still missing, open the .bak file instead
AUDIT reports 100+ errors on every openDeep corruption — likely in a specific block or xrefIsolate suspect blocks (BEDIT + AUDIT inside block); try RECOVERALL; escalate to WBLOCK nuclear option