Concepts
Releases
The ten releases dxfio reads and writes, and what happens to a drawing saved to an older one.
Every release
Every release from R10 to R2018 reads and writes, ASCII or binary. A document saves to any of them; what the release cannot hold is converted, as AutoCAD converts it, or left out, and Saved::Issues names each entity changed so.
| Release | $ACADVER |
Text |
|---|---|---|
Version::R10AutoCAD 1988 |
AC1006 |
Code page |
Version::R12AutoCAD 1992 |
AC1009 |
Code page |
Version::R13AutoCAD 1994 |
AC1012 |
Code page |
Version::R14AutoCAD 1997 |
AC1014 |
Code page |
Version::R2000AutoCAD 1999 |
AC1015 |
Code page |
Version::R2004AutoCAD 2003 |
AC1018 |
Code page |
Version::R2007AutoCAD 2006 |
AC1021 |
UTF-8 |
Version::R2010AutoCAD 2009 |
AC1024 |
UTF-8 |
Version::R2013AutoCAD 2012 |
AC1027 |
UTF-8 |
Version::R2018AutoCAD 2017 |
AC1032 |
UTF-8 |
Saving to an older one
Kinds a release lacks are left out, and told: no HATCH, IMAGE or WIPEOUT before R14, no 3DSOLID before R13. A lightweight polyline becomes a POLYLINE before R14, with no issue.
R12 and R10: an ELLIPSE or SPLINE becomes a 3D POLYLINE along its curve, a whole ellipse of 128 segments and an elliptical arc of its share of them; a RAY or XLINE a LINE cut at the extents; an MTEXT a TEXT for each of its lines. Entities keep their handles, table records lose theirs. No objects, and no layout but the one drawn in *Paper_Space; R10 keeps no extended data.
Solids across R2013: a body kept in ACDSDATA cannot go to an earlier release, nor one in its own lines to a later one: that needs the ACIS modeler’s format. It is left out, never written empty.
Caution
A 3DSOLID, REGION or surface saved across R2013 is left out of the file. To keep its body, save such a drawing to a release on the same side of R2013 as the one it came from.
Visual styles change layout at R2010 and at R2013. Saved across either they are left out, and what names them is cleared.
Data tables are ACDBDATATABLE in R2000 and DATATABLE after it.
Text and code pages
From R2007 text is UTF-8. Before it, text is in the code page $DWGCODEPAGE names: ANSI 874 and 1250 to 1258, and the East Asian 932, 936, 949, 950 and 1361. A character the page lacks is written as a \U+ escape, and a file whose page is not carried keeps its text as bytes, so it saves back the same.