DXF R12 vs AutoCAD 2000 — Which one to pick for your CAM software
One line can save you a 45-minute import-debug session. Here is the decision tree.
- ESPRIT 2020, Mastercam X3 and earlier, ArtCAM, Mach3, pre-V10 VCarve, older laser controllers: export as R12 (AC1009).
- Fusion 360, VCarve V10+, Mastercam 2022+, LightBurn, modern wire EDM controllers: export as AutoCAD 2000 (AC1015) or newer.
- Unsure? Start with R12. It reads everywhere. The trade-off is splines become polylines, which adds entities but does not break geometry.
What each DXF version actually contains
DXF (Drawing Exchange Format) is a text specification published by Autodesk. Each major AutoCAD release adds entity types, header variables and object records. The version string lives in the $ACADVER header and is what every CAD and CAM parser reads first to decide which grammar to expect.
R12 (AC1009) — 1992
- Entities allowed:
LINE,POLYLINE,ARC,CIRCLE,TEXT,POINT,SOLID,DIMENSION,INSERT,VIEWPORT. - No
LWPOLYLINE, noSPLINE, noELLIPSE, noLEADER, noMTEXT. - Colors: 256-entry ACI (AutoCAD Color Index) only, no true-color.
- Layers: name + color + linetype. No transparency, no lineweight, no plot styles.
- Every parser written after 1995 understands it. Safest for unknown-vintage CAM.
AutoCAD 2000 (AC1015) — 1999
- Adds:
LWPOLYLINE(lightweight polyline — single record instead of one-record-per-vertex, huge file-size win),SPLINE,ELLIPSE,MTEXT,LEADER,TOLERANCE,RAY,XLINE. - Adds layouts, paper space / model space separation.
- Adds lineweight, plot styles, true color via 1000 extended data.
- Default export of modern AutoCAD, Illustrator, Inkscape, Fusion 360 and Mastercam.
Why the gap matters for CAM
CAM software written between 1995 and 2005 parses DXF by pattern-matching entity codes line by line. When it sees SPLINE (code 100 / AcDbSpline) it either:
- Skips the entity silently (file looks partially empty).
- Throws a hard error ("invalid entity on line 12,432").
- Best case: recognizes it as unknown and logs a warning, continues on the remaining entities.
Decision table by CAM software
| Software / version | R12 (AC1009) | AutoCAD 2000 (AC1015) | Pick |
|---|---|---|---|
| ESPRIT 2020 / 2023 | R12 — AC1015 often drops SPLINE/ELLIPSE | ||
| Mastercam 2025+ | AC1015 (preserves splines) | ||
| Mastercam X3 and earlier | R12 only | ||
| VCarve V10+ | AC1015 | ||
| VCarve Pro V9 and earlier | R12 | ||
| LightBurn 1.x / 2.x | AC1015 preserves beziers | ||
| Fusion 360 (2024/2025/2026) | AC1015 or newer | ||
| ArtCAM Express / Pro (legacy) | R12 | ||
| Mach3 / Mach4 (LazyCam) | R12 only | ||
| AutoCAD / BricsCAD / DraftSight (reference) | AC1015 (smaller files) |
supported · supported but may drop entities · unsupported or broken.
The actual trade-offs
1. File size
AC1015 files with LWPOLYLINE are typically 40-60% smaller than the equivalent R12 POLYLINE version, because each vertex is one record instead of three.
For CAM software that streams DXF line by line this matters less than you would think — parsing time dominates. For import tools that load the whole file into memory (old ESPRIT), bigger files cause more allocation churn and more failed imports.
2. Curve fidelity
AC1015 keeps SPLINE as a single record with 4-8 control points. R12 has to decompose each spline into a polyline approximation — typically 40-120 small line segments per original curve. A clean logo with 20 bezier curves becomes 800-2,400 polyline segments in R12.
Consequences:
- Toolpath smoothness: most CAM post-processors apply a chord deviation tolerance, so the visual output is identical. But if your CAM adds a tool radius offset, the many tiny segments can produce visible faceting at high magnification.
- Entity count: this is what bites ESPRIT 2020. A 2,000-entity SPLINE-based drawing in AC1015 can balloon to 50,000+ entities in R12 and crash the importer. Fix: run the drawing through a path-simplification pass before exporting to R12, OR export AC1015 if the target supports it.
3. Layers & colors
R12 supports 256 ACI colors. AC1015 supports 16.7M true colors. If you need distinct colors per toolpath (typical for VCarve V-CARVE / POCKET / PROFILE / SCORE routing), R12 forces you to pick from the 256-color palette. Workaround: map your logical layers to ACI colors 1-7 which are universally recognized — most V-carve presets ship with matching mappings.
4. Units
Both formats use the same $INSUNITS header variable (1=inch, 4=mm, 5=cm). If $INSUNITS is absent, Fusion 360 assumes centimeters, Mach3 assumes inches, ESPRIT uses whatever you imported last. Always write the header explicitly.
5. Blocks and inserts
Both formats support BLOCK / INSERT. R12 is stricter about nested blocks (avoid blocks-within-blocks). AC1015 supports arbitrary nesting but some CAM parsers (pre-2010 LightBurn, older LazyCam) flatten everything on import anyway.
Error messages and what they actually mean
Practical export settings
From AutoCAD / BricsCAD / DraftSight
File → Save As → DXF → pick AutoCAD R12 DXF for legacy CAM, AutoCAD 2000 DXF for modern CAM. In DraftSight the "Save thumbnail" toggle writes a bitmap preview — some parsers choke on it, so turn it off for CAM exports.
From Illustrator
File → Export As → DXF/DWG. Version picker is under "Advanced". Turn off "Preserve appearance" — it adds extended data that pre-2005 CAM rejects. Set color model to "Original" to keep ACI indices.
From Inkscape
Inkscape's DXF exporter (extensions → flatten beziers → DXF R14) only outputs R12-compatible geometry. The R14 label in the menu is misleading — the file it produces is actually AC1009 compatible. Always flatten beziers first with "Extensions → Modify path → Flatten beziers" (tolerance 0.2 mm), otherwise some curves become invalid.
From VectoSolve (image to DXF)
Under the CAM-target dropdown, pick the target CAM by name. R12 is auto-selected for ESPRIT / Mastercam X / ArtCAM / Mach3 / VCarve V9. AC1015 is auto-selected for Fusion 360 / Mastercam 2025 / VCarve V10+ / LightBurn. The compatibility analyzer runs on every export and warns if the drawing exceeds the target's entity budget.
When to override the default
Two cases where the obvious pick is wrong:
- LightBurn with a lot of text. LightBurn parses
MTEXT(AC1015-only) correctly but silently ignores R12'sTEXTon some older builds. If you see empty text boxes, switch to AC1015. - Fusion 360 with legacy sheet metal nest files. Some nesting software emits R12 even for Fusion 360 targets. The handoff works, but Fusion re-saves as AC1027 on edit, so your downstream R12-only consumer breaks. Always keep a master AC1015 and re-export R12 per consumer.
Related guides
- Image to DXF for legacy CAM software — the full field guide
- ESPRIT image-to-DXF — export settings
- Mastercam photo converter — layer and color mapping
- VCarve SVG/DXF — VCARVE / PROFILE / POCKET / SCORE mapping
- CAM Bundle — the CAM / CNC / laser toolset, included from the Starter plan
Skip the format roulette
VectoSolve's CAM-target dropdown picks R12 or AC1015 automatically based on your CAM software, writes $INSUNITS for 1:1 scale, and runs a live compatibility check before export.