Open benchmark
CM-BM-001 · V1
How accurately does your software read a DXF file?
Laser shops price parts by cut length and pierce count, and these come straight from the DXF the customer sends. If the software reads the file wrongly, the quote is wrong too, and nobody notices until the machine cuts.
The CutMeter DXF accuracy benchmark is a free set of 23 small DXF drawings with known answers. Each file isolates one thing that real files do and that software can get wrong.
- Tolerance
- 0.01 mm
- Answers
- by formula
- Licence
- CC BY 4.0
A case passes when the cut length is within 0.01 mm, or 1 part in a million for long lengths, and the counts match exactly. Net area is compared within 1 part in a million or 0.01 mm times the cut length, whichever is larger.
What it tests
Curves
Ellipses, elliptical arcs, NURBS and B-spline curves.
Polylines
Polylines with arc segments (bulges), including a mirrored coordinate system and the old R12 format.
Blocks
Nested, mirrored, non-uniformly scaled, and arrays (MINSERT).
Units
Drawings in inches and in centimetres.
Traps
A duplicate edge, gaps just below and just above the 0.01 mm closing tolerance, text and points that must not be cut, paper space, coordinates far from the origin, a 5000-vertex polyline.
The 23 cases
Values are rounded to 3 decimals here; answers.json in the archive has the full precision. All answers are in millimetres, also for the drawings in inches and centimetres.
| Case | DXF content | Cut length, mm | Closed contours | Open chains | Pierces | Net area, mm² | CutMeter |
|---|---|---|---|---|---|---|---|
| C01 | Circle | 235.619 | 1 | 0 | 1 | 4,417.865 | Pass |
| C02 | Open arc | 46.077 | 0 | 1 | 1 | - | Pass |
| C03 | Full ellipse | 181.834 | 1 | 0 | 1 | 1,884.956 | Pass |
| C04 | Elliptical arc | 45.319 | 0 | 1 | 1 | - | Pass |
| C05 | Rational NURBS circle | 125.664 | 1 | 0 | 1 | 1,256.637 | Pass |
| C06 | Open cubic B-spline | 94.224 | 0 | 1 | 1 | - | Pass |
| C07 | Slot with bulges | 170.265 | 1 | 0 | 1 | 1,161.062 | Pass |
| C08 | Slot in a mirrored coordinate system | 170.265 | 1 | 0 | 1 | 1,161.062 | Pass |
| C09 | Nested blocks with scale and rotation | 60.000 | 1 | 0 | 1 | 200.000 | Pass |
| C10 | Mirrored block | 15.708 | 0 | 1 | 1 | - | Pass |
| C11 | Non-uniformly scaled circle | 133.649 | 1 | 0 | 1 | 942.478 | Pass |
| C12 | Block array 3 x 4 | 527.788 | 12 | 0 | 12 | 1,847.256 | Pass |
| C13 | Drawing in inches in | 101.600 | 1 | 0 | 1 | 645.160 | Pass |
| C14 | Drawing in centimetres cm | 157.080 | 1 | 0 | 1 | 1,963.495 | Pass |
| C15 | R12 polyline with bulges | 170.265 | 1 | 0 | 1 | 1,161.062 | Pass |
| C16 | Duplicate edge | 300.000 | 1 | 0 | 1 | 5,000.000 | Pass |
| C17 | Gap below tolerance | 199.995 | 1 | 0 | 1 | 2,500.000 | Pass |
| C18 | Gap above tolerance | 199.950 | 0 | 1 | 1 | - | Pass |
| C19 | Annotation is not cut | 160.000 | 1 | 0 | 1 | 1,600.000 | Pass |
| C20 | Paper space is not cut | 31.416 | 1 | 0 | 1 | 78.540 | Pass |
| C21 | Far from the origin | 462.832 | 2 | 0 | 2 | 9,685.841 | Pass |
| C22 | Dense polyline | 314.159 | 1 | 0 | 1 | 7,853.980 | Pass |
| C23 | Plate with six holes | 866.195 | 7 | 0 | 7 | 23,321.416 | Pass |
How to use it
- 01Download the archive and open each file in the software you want to test.
- 02Write down the cut length (mm), the number of closed contours, the number of open chains and the number of pierces.
- 03Compare with answers.json in the archive.
Every answer comes from a formula, not from measuring the file with any program. A circle has 2πr, a slot has two straight sides plus two semicircles, and an ellipse has its perimeter integral evaluated to better than 0.000000001 mm.
A separate check reads every file with an independent open-source DXF library and confirms the geometry lengths.
Licence
You may use, share and adapt the benchmark, including commercially, if you credit it with the line below. Licence: CC BY 4.0
CutMeter DXF accuracy benchmark v1 (c) 2026 KUZUB, licensed CC BY 4.0 - https://creativecommons.org/licenses/by/4.0/