Guide 05 / 06 · 5 min read
Reading an ACM cassette DXF: layers, R12 vs R2000, back view, units, marks
ACM 3D Studio · Published
Answer
The ACM 3D Studio DXF is an R12 (AC1009) file in millimetres ($INSUNITS = 4), seen from the back — the face the cutter attacks — hence mirrored relative to the façade. Each kind of line has its layer: CONTOUR (closed polylines, slits as open polylines), RAINURE_<cutter nominal angle> for groove axes (RAINURE_90 in red, RAINURE_135 in blue), PERCAGE (circles at exact diameter), REPERE (ASCII text: fold numbers F1…Fn and part label), COTATION (never machined). R2000 (AC1015) is available as an option for post-processors that require it.
Layers: the contract with the workshop
The DXF is not a drawing, it is a list of operations. Each layer corresponds to a tool or a pass, and its name says what the operator mounts. Grooves are named by the cutter’s nominal angle under the machine profile convention (V-groove).
| Layer | DXF colour | Entity | Content |
|---|---|---|---|
| CONTOUR | 7 (white/black) | closed polyline | part contour and cut-outs; slits and corner cuts as open polylines (tool axis) |
| RAINURE_90 | 1 (red) | open polyline | groove axes, 90° nominal cutter |
| RAINURE_100 | 2 (yellow) | open polyline | 100° cutter |
| RAINURE_120 | 3 (green) | open polyline | 120° cutter |
| RAINURE_135 | 5 (blue) | open polyline | 135° cutter |
| RAINURE_<n> | 6 (magenta) | open polyline | extension: any other nominal angle (60, 160…) |
| RAINURE_AVANT_<n> | 30 (orange) | open polyline | groove from the visible face, concave folds |
| PERCAGE | 4 (cyan) | CIRCLE | drillings, exact diameter |
| GRAVURE | 8 (grey) | open polyline | engraving, press-brake bend lines |
| REPERE | 6 (magenta) | TEXT | marks, strict ASCII |
| COTATION | 9 (light grey) | polyline + TEXT | sheet, usable zone, dimensions — never machined |
A file only contains the layers used: a flat cassette comes out with CONTOUR, RAINURE_90 and REPERE; a diamond cassette adds RAINURE_100 and RAINURE_160; a perforated plate adds PERCAGE for holes smaller than the contour tool. Decorative panels carry RAINURE_AVANT_<n> layers.
Machining view: the back, mirrored
ACM is grooved from behind. The DXF is therefore expressed in the back-side frame: mirrored in x relative to the façade, origin at the bottom-left corner of everything drawn (compensated contour included, if requested). The sheet laid back-side up matches the drawing; marks read the right way round. The RAINURE_AVANT_<n> layers are in the same frame: the operator flips the sheet for that second pass and the post-processor applies the mirror.
The contour is the theoretical line by default — the CAM compensates for the tool radius. An option exports the contour already offset. The slits of a relief cassette and the corner cuts (reliefs) are always tool-centre lines: an open polyline on CONTOUR, end to end of the slit, extended by radius + 0.5 mm past the edge.
R12 by default, R2000 as an option
The file is written as R12 (AC1009): POLYLINE / VERTEX / SEQEND, CIRCLE, TEXT, LTYPE and LAYER tables only, no handles. It is the 2D exchange format every workshop software opens. R2000 (AC1015) is available in the machine profile: LWPOLYLINE, a handle on every entity, and every table strict parsers (ODA/Teigha, Fusion) require — VPORT, STYLE, VIEW, UCS, APPID, DIMSTYLE, BLOCK_RECORD, *Model_Space / *Paper_Space blocks, root dictionary. An incomplete AC1015 is rejected outright; that is why R12 stays the default. Both versions come out of a single API and carry the same geometry.
Units, numbers, header
$INSUNITS = 4: millimetres. The engine only knows the millimetre; unit conversion exists only at display time.$EXTMIN/$EXTMAX: the drawing extents.- Numbers rounded to
0.0001 mm, never in exponential notation (“1e-7” breaks parsers), always with a decimal point (“0.0”, not “0” — some readers expect a real). - First line: a
999comment with the application, the engine version and the generation date, for exampleacm-3d-studio engine v1 - 2026-09-21T10:00:00.000Z.
999 acm-3d-studio engine v1 - 2026-09-21T10:00:00.000Z 0 SECTION 2 HEADER 9 $ACADVER 1 AC1009 9 $INSUNITS 70 4 … 0 LAYER 2 RAINURE_90 70 0 62 1 6 CONTINUOUS … 0 POLYLINE 8 RAINURE_90 66 1 70 0 … 0 VERTEX 8 RAINURE_90 10 42.0 20 504.0 30 0.0
Marks: strict ASCII
The REPERE layer carries a text F1, F2… at the middle of every groove axis (5 mm high, in the pattern’s fold order) and the part label at the centre of the extents (8 mm high). On a sheet DXF, each part is labelled <part>-<no.> and the sheet carries TOLE 1 1220 x 2440 on COTATION. Texts are centred on their insertion point.
R12 does not know UTF-8 (R2007 and later). The REPERE layer is therefore strict ASCII in all four languages: accents are stripped (“é” → “e”), any other character becomes “?”. An Arabic mark is not engraved in Arabic: it would come out as mojibake on the machine.
What the operator checks
- Unit
mmrecognised by the CAM (no import in inches: a part 25.4 times too small). - Every
RAINURE_<n>layer assigned to the right cutter, depththickness − skin(3.6 mmon 4 mm). CONTOURon the contour tool, outside compensation on the CAM side if the contour is not already offset; open polylines ofCONTOURmachined tool-centre, without compensation.PERCAGEdrilled or interpolated;COTATIONandREPEREdisabled or engraved separately.- The drawing is in back view: no extra mirror, except for
RAINURE_AVANT_<n>layers, sheet flipped.
The SVG downloaded from the studio is built on the same render model as the DXF: same layers, same coordinates, byte for byte the same geometry. Open any family in the studio and compare the flat view with the DXF.
Read next: driving the generator from an assistant (MCP server).
Frequently asked questions
- Why is the DXF mirrored?
- Because it is seen from the back, the face the cutter attacks: ACM is grooved from behind. The sheet laid back-side up matches the drawing. A “front view” option exists for post-processors that apply the mirror themselves.
- R12 or R2000?
- R12 (AC1009) by default: POLYLINE/VERTEX, CIRCLE, TEXT, LTYPE and LAYER tables only, no handles — the format every workshop software opens. R2000 (AC1015) as an option: LWPOLYLINE, handles and every table strict readers (ODA, Fusion) require. An incomplete AC1015 is rejected outright; that is why R12 stays the default.
- Why are the marks in ASCII?
- DXF R12 does not know UTF-8 (R2007 and later). An accented or Arabic mark would come out as mojibake on the machine. The REPERE layer is strict ASCII in every language: accents are stripped, any other character becomes “?”.
- Is the contour compensated for the tool radius?
- By default, no: it is the theoretical line, the CAM compensates. An option exports the contour offset by the tool radius. Slits and corner cuts are always tool-centre lines, on CONTOUR, as open polylines.