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 Run
Why This Order Matters
1
AUDIT (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.
3
PURGE ALL with nested
First pass removes top-level unused items, exposing nested ones.
4
PURGE ALL again
Second pass gets the newly exposed nested items.
5
PURGE ALL a third time
Third pass until count = 0. Diminishing returns after this.
6
SCALELISTEDIT
Scale list not touched by PURGE — requires its own cleanup command.
7
ISAVEPERCENT 0 + SAVEAS
Write 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.bak → drawing_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.
What happens during RECOVER: AutoCAD scans the file section by section, reporting found objects and errors in the command line. At the end it shows a summary — "N objects audited, N errors detected, N errors fixed" — then opens the drawing if it recovered enough data to work with. If it cannot open the file at all, escalate to step 4 (RECOVERALL) or step 5 (older AutoCAD version).
After RECOVER opens — do this immediately:
1. Run AUDIT → answer Y to fix remaining errors
2. Run PURGE ALL three times with "Purge nested items" checked
3. Set ISAVEPERCENT to 0
4. Run SAVEAS → give it a new file name — never overwrite the original damaged file
Partial recovery: RECOVER only rescues what the binary scan can read. Some objects may be missing or display with corrupted geometry — you will see them highlighted in red in the drawing. Review the drawing against your last known-good version before distributing it.
Command: RECOVER → browse to the damaged file → open → then run AUDIT → PURGE × 3 → SAVEAS
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 Type
Extension
Default Location
Notes
Backup copy
.bak
Same folder as the DWG
Created 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
.dwg
Drawing Recovery Manager panel
Shown only after a crash — open DRAWINGRECOVERY immediately
Lock file
.dwl / .dwl2
Same folder as the DWG
Prevents 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 Purge
How to Find the Objects
Fix
Objects on the layer are frozen
Thaw all layers → ZOOM EXTENTS → look for stray objects
Thaw layer → select objects → delete or move to correct layer
Objects on the layer are inside a block definition
BEDIT the block → check which layer the content is on
Move content to layer 0 inside the block, or explode block and move objects
Layer exists only in a nested xref
Check 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 space
Switch to each layout tab → check if anything is on that layer
Go to each layout, select and delete or move the objects
Layer is the current layer
Command line shows "Cannot purge current layer"
Set a different layer as current → then purge
Objects have BYBLOCK property pointing to the layer
Use QSELECT to filter by layer name
Change object layer property → PURGE again
LAYDEL needed as last resort
Layer confirmed empty but still resists
LAYDEL → select layer → forces deletion with any remaining content
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.
Step
Action
Notes
1
Open the current (newer) drawing
This is the "base" file for comparison
2
Type DWGCOMPARE
Or: Collaborate tab → DWG Compare
3
Browse to the older drawing version
The comparison draws both files simultaneously
4
Review color-coded differences
Green = added in current. Red = removed from original. Gray = unchanged.
5
Use the Compare toolbar to filter
Show only additions, only deletions, or toggle layers
6
Close comparison mode
Type 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.
RECOVER — Complete Guide
RECOVER is AutoCAD's built-in file repair tool. Use it when a drawing won't open normally — whether due to a crash mid-save, network interruption, storage failure, or unknown corruption. It reads the raw binary data of the DWG file directly, bypassing the normal loading process that would fail on bad data.
✅ What RECOVER CAN Fix
Broken pointer references between objects
Corrupt entity header data
Drawings that crash on normal open
Drawings truncated mid-save (e.g., after a power cut)
Damaged block table or layer table entries
Drawings showing "Not a valid drawing file" on open
🚫 What RECOVER CANNOT Fix
Sections of the file that are physically unreadable (bad sectors on disk)
Geometry that was deleted before the corruption occurred
Attribute data in severely damaged blocks
Files where the DWG header is completely gone (escalate to WBLOCK)
Data loss from accidental deletion before saving — that's a backup problem, not corruption
Step-by-Step: Running RECOVER (Basic Users)
Step
What to Do
What to Expect
1
Back up the damaged file first — copy it to a separate folder before doing anything
You now have a safe copy regardless of what RECOVER does
2
Do NOT try to open the corrupt file by double-clicking — it may crash and cause further damage
Instead, open AutoCAD first with a blank drawing
3
Type RECOVER at the command line → press Enter
A file browser opens — navigate to your corrupt DWG
4
Select the file → click Open
AutoCAD scans the file. You'll see progress messages in the command line: "Auditing Header…", "Auditing Entity Data…"
5
Read the summary in the command line: it shows how many objects were found, errors detected, and errors fixed
If 0 objects recovered = too corrupt to open. If objects found = drawing opens for you to review
6
Once open, immediately run AUDIT → answer Y to fix remaining errors
AUDIT cleans up anything RECOVER left behind
7
Run PURGE ALL three times with nested items checked
Removes orphaned definitions left by the corruption
8
Set ISAVEPERCENT to 0, then run SAVEAS → use a new file name
Fresh clean DWG file — do not overwrite the original backup
9
Compare the recovered drawing against your last-known-good version for missing geometry
Anything physically unreadable from the file is gone — you may need to redraw it from the backup
RECOVER vs RECOVERALL — Which to Use
Command
What It Recovers
When to Use
RECOVER
The single DWG file you select
When one drawing is corrupt and its xrefs are fine (or it has no xrefs)
RECOVERALL
The host DWG plus ALL attached xrefs simultaneously
When corruption may have spread to xrefs, or multiple files in a project set are damaged
💡 Always use RECOVERALL when in doubt. Running RECOVER on a host file whose xrefs are also corrupt will produce a drawing that references broken files. RECOVERALL handles the entire chain in one pass.
Reading the RECOVER Output (Advanced)
After RECOVER runs, the command line shows a report. Knowing how to read it tells you how severe the damage was:
Output Message
What It Means
Action
N errors detected, N errors fixed
RECOVER found and repaired database inconsistencies
Run AUDIT immediately to catch anything RECOVER missed
N errors detected, 0 errors fixed
Corruption was found but is too severe to repair automatically
Escalate to RECOVERALL, then older AutoCAD version, then WBLOCK
0 errors detected
RECOVER found no database errors — corruption may be in geometry data or the file may not be corrupt at all
Try normal open; if the drawing opened cleanly, run AUDIT + PURGE as standard maintenance
Drawing recovery failed or AutoCAD closes
The file is too damaged for RECOVER to open at all
Try RECOVERALL; try opening in an older AutoCAD version; use WBLOCK on any version that opens it
Objects highlighted red on screen after open
RECOVER could read the objects' positions but their data is partially damaged
Delete and redraw these objects; they may not plot correctly
⚠️ RECOVER is not a substitute for backups. RECOVER can only work with data that physically exists in the file. If the corrupt section contained geometry, that geometry is gone. A proper backup strategy (daily .bak + version control or cloud sync) is the only true protection against data loss.
Advanced: RECOVER Inside LISP / Scripting
For batch processing of multiple corrupt files, RECOVER can be scripted. Use the command-line version: start AutoCAD with the /r switch followed by the file path, or use a script file (.scr) that calls RECOVER on each file in sequence. This is useful for IT staff or CAD managers recovering files after a server failure that damaged multiple drawings simultaneously.
💡 AUDITCTL = 1 before RECOVER: Set AUDITCTL to 1 before running RECOVER to generate a detailed .adt log file in the same folder as the DWG. The log captures every error found and fixed — essential for documenting the severity of corruption for project records or insurance claims.
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
Command
Alias / Shortcut
What It Does
AUDIT
—
Scans drawing database for errors; optionally fixes them
PURGE
PU
Removes unused named object definitions (layers, blocks, styles, etc.)
-PURGE
—
Command-line PURGE; use -PURGE R to purge Regapp IDs specifically
OVERKILL
—
Removes duplicate geometry and merges overlapping collinear objects
RECOVER
—
Opens a corrupt DWG by scanning raw file data
RECOVERALL
—
RECOVER on drawing + all attached xrefs simultaneously
WBLOCK
W
Exports entire drawing to a fresh DWG file, stripping corrupt database structure
DRAWINGRECOVERY
—
Opens the Drawing Recovery Manager showing crash auto-save files
SCALELISTEDIT
—
Manages the annotation scale list; use Delete All then re-add used scales
QSELECT
—
Filter-based selection for finding zero-length objects, proxy objects, OLE frames
LAYDEL
—
Force-deletes a layer and all objects on it (irreversible)
LAYMRG
—
Merges all objects from one layer to another, deletes source layer
DWGCOMPARE
—
Visual comparison between two DWG versions; shows added/removed geometry
DWGCOMPARECLOSE
—
Closes DWGCOMPARE mode and returns to normal drawing view
LIST
LI
Shows all properties of a selected object — useful for identifying unknown objects
DIST
DI
Measures distance; use to verify geometry hasn't been corrupted or scaled wrong
Common Problems & Fixes
Problem
Likely Cause
Fix
Drawing file is unexpectedly large (50 MB+ for simple plan)
OLE objects, high-res raster images, proxy objects, Regapps, or ISAVEPERCENT = 50 accumulation
Run full audit sequence; check for OLE frames with QSELECT; -PURGE R for Regapps; ISAVEPERCENT = 0 + SAVEAS
AutoCAD crashes on open
Corrupt DWG header or entity data
Use RECOVER command; try opening .bak; check Drawing Recovery Manager for autosave
Layer won't purge despite appearing empty
Objects frozen, inside a block, in a layout, or layer is current
Thaw all layers → ZOOM EXTENTS → check all layouts → check block interiors → use LAYDEL as last resort
Annotation scale dropdown takes 10+ seconds to open
Bloated scale list from accumulated xref insertions (200–500+ scales)
SCALELISTEDIT → Delete All → add back only needed scales
PURGE keeps finding items even after multiple passes
Nested items: blocks inside blocks, styles used by styles
Check "Purge nested items" in PURGE dialog; run -PURGE R first; run 3+ passes
Drawing has proxy/unknown objects that won't delete
Created by Civil 3D, Map, Revit, or other Autodesk vertical products
Try 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 opening
AutoCAD crash didn't release the file lock
Delete 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 geometry
Select all → OVERKILL with tight tolerance (0.0001)
Drawing opens but geometry is missing
RECOVER was partial; or geometry on frozen/off layers
Thaw all layers → check all layouts → if still missing, open the .bak file instead
AUDIT reports 100+ errors on every open
Deep corruption — likely in a specific block or xref