cadmaster — eagle: Illustrator (.ai) → arcs → G-code

1784866771_895524_EAGLES.ai · 23 paths (23 closed) · 69 cubic Béziers + 259 line segments · 0 fills · live text: False · 1 clip path(s) dropped · fit tolerance 1 thou

Scale is a declared input, not a measurement. An .ai/PDF carries points, and the artboard is paper — nothing in the file states the finished size. This board was built at a declared width of 12", giving 407.78 × 407.78 pt → 12.000 × 12.000". Every dimension below scales with that one number. Material MSO7,0.125 — 1/8" mild steel (assumed - not stated in the .ai). (PINLIST 14b.)
⬇ PRODUCTION NC ⬇ CUT PATH DXF — order, direction, rapids, tabs ⬇ Slug report (.csv) ⬇ Operator stand-by list (.csv) ⬇ Fitted DXF (cut geometry) ⬇ Geometry G-code (.nc)

source — the true cubic Bézier fitted line (G1) fitted arc (G2/G3) ⭕ red = QC flag ⭕ orange = stray speck

   

duplicate: prims 477 & 478 overlap (67%/67%)stray speck, path 0, 8 thou longstray speck, path 1, 32 thou longstray speck, path 21, 8 thou longstray speck, path 22, 32 thou long

What came out

346 arcs + 257 lines across 19 closed contours, from 69 Béziers and 259 source line segments. Not one curve was polylined: every curved span is a real G2/G3 with a real radius.

measurementvaluegate
worst deviation from the TRUE Bézier1.667 thou
  · of which is the format's own error 2.126 thou (path 20, r ≈ 6.00")
  · what our fit adds0.000 thou ≤ 0 over tolerance + floor
worst FIT-INDUCED kink0.0079°< 1°
machine envelope12.000 x 12.000 in vs bed 80 x 160 in -- fits80 × 160"

Why the deviation number is split. A cubic Bézier cannot be a circle — over a quadrant Illustrator's own circle is out by 0.02725% of the radius. At this size that is 2.13 thou on the outer ring alone, which is larger than the whole deviation we measure. Reporting the raw 1.667 thou as our error would be wrong in both directions: it blames us for the file, and it hides how much room is left. Demanding a tighter fit than the format carries is worse than useless — it makes the fitter chop a perfectly good circle into eight arcs chasing Illustrator's approximation error.

Posted program

19 boundaries · 16 slugs · 2 small tabs (0.018") + 11 large (0.033") · 3 under the 0.75" drop-through, no tab · 7 rapid(s) over a piece already cut and still tab-held.

Start point = tab position = pierce, placed on a flat and never on a corner; circles start at 12:00. Cutter comp: cut-critical outer boundary only, the art on G40 — that is the shop's deliberate convention for text and art, to avoid interference alarms on small primitives, not something inferred from the geometry. Every slug is numbered in the CSV; shop feedback comes back by number.

Operator stand-by list — rapids over a held piece

7 of 19 rapids fly over a piece that is already cut and still held by a tab, with 15 held pieces on the sheet. Total exposure 231.8, worst single move 148.1. 7 of 7 are the head leaving a piece it has just finished and flying straight back across it — not a long haul across the sheet. The top two carry 99% of the total exposure, so the stand-by list is really 2 moves, not 7.

#NC linerapidlengthflies overmoment
1713BND 17 → BND 184.24"17148.1
2796BND 18 → BND 194.21"18, 582.4
3282BND 10 → BND 111.34"100.5
4357BND 13 → BND 142.21"130.3
5207BND 7 → BND 81.93"70.2
6132BND 4 → BND 51.19"40.1
7307BND 11 → BND 121.00"110.1

Read out of the posted program, not out of the geometry, so it can only describe what the machine is actually told to do. Numbering is the program's own (BND: n) — the same numbers as the slug report, so one set of numbers covers all three documents. Moment is a weighting, not a count: slug area × the distance from its tab to its centroid, because a long lever tips far more easily than a compact piece of the same size (Jordan, 2026-07-31). A slug under the 0.75" drop-through has no tab, drops clear, and is never listed.

This is a measurement and a warning, not a fix. Getting the count to zero is the cut-order search problem (pin 4f), which is parked. Tick show hazardous rapids above to see each one drawn where it happens.

QC — topology

1 flag(s).

These are findings about the source artwork, not about the fit — a duplicate or overlapping segment means two cut paths lie on top of each other in the .ai, and the laser would cut the same metal twice. It is left in and flagged rather than silently welded, because which of the two the customer meant is the customer's call. Note it is scale-dependent: a feature narrower than the kerf at 12" wide may be perfectly cuttable at a larger declared size, so this flag can clear itself when the finished dimension is settled.

4 stray speck path(s) — shorter than 0.5% of the artwork diagonal. Almost certainly leftover anchors rather than anything meant to be cut, so they are excluded from the G-code and listed here rather than dropped silently:

FAIL — 1 duplicate/overlapping segment in the source

Built by build_vec_board.py from vec_iobezfitvec_pipelineemit. The gray base layer is the true Bézier sampled directly from the file, not our fit redrawn. The DXF board is at the site root and is a different part.