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.)
source — the true cubic Bézierfitted line (G1)fitted arc (G2/G3)⭕ red = QC flag⭕ orange = stray speck
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.
measurement
value
gate
worst deviation from the TRUE Bézier
1.667 thou
—
· of which is the format's own error
2.126 thou (path 20, r ≈ 6.00")
—
· what our fit adds
0.000 thou
≤ 0 over tolerance + floor
worst FIT-INDUCED kink
0.0079°
< 1°
machine envelope
12.000 x 12.000 in vs bed 80 x 160 in -- fits
80 × 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 line
rapid
length
flies over
moment
1
713
BND 17 → BND 18
4.24"
17
148.1
2
796
BND 18 → BND 19
4.21"
18, 5
82.4
3
282
BND 10 → BND 11
1.34"
10
0.5
4
357
BND 13 → BND 14
2.21"
13
0.3
5
207
BND 7 → BND 8
1.93"
7
0.2
6
132
BND 4 → BND 5
1.19"
4
0.1
7
307
BND 11 → BND 12
1.00"
11
0.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.
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:
path 0 — 8 thou long, 2 segs
path 1 — 32 thou long, 2 segs
path 21 — 8 thou long, 2 segs
path 22 — 32 thou long, 2 segs
FAIL — 1 duplicate/overlapping segment in the source
Built by build_vec_board.py from
vec_io → bezfit → vec_pipeline → emit.
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.