One flat part in. Measured for real by the browser, then read, checked against the process, corrected, and made orderable.
Drop the .dxf, or paste it. A real ASCII DXF reader runs here, free and offline: it
reads the header variables, the layer table and the blocks, expands every INSERT
with its own rotation and scale, turns polyline bulges back into arcs, stitches the entities into
closed contours — and tells you which ones did not close, with the gap size and
both endpoints. Then it measures every opening, slot, web, edge clearance, internal corner and
bend flange, and checks each one against the published thickness ratio for your process. Then
pick a lane.
The first example ships a saved model run for all four lanes, so you can see the whole thing — the reading, the manufacturability check, the corrected part and the order packet — without signing in and without spending a credit.
Every minimum in this app is published sheet-metal guidance expressed as a multiple of material thickness, not any vendor's catalogue, and no price is quoted anywhere. Confirm against your shop's own published specification before you order.
Read the file
What this DXF actually contains.
Questions
Does my drawing leave the browser?
Not until you run an AI lane. A dropped .dxf is read with
FileReader in your own tab and parsed there. The reader, the contour stitching,
the geometry, the rule checks and all six exports are free, offline and need no account. When
you do run a lane, what is sent is the facts block the browser measured plus an excerpt of the
DXF text, cut on whole entity boundaries. Part geometry is commercial property, so the saved
draft and the history mirror in this browser are keyed to your account and are deleted when
you sign out.
Does it really parse DXF, or just search the text?
It parses it. A DXF is a flat stream of group code and value pairs, two lines each, so the
reader tokenises pairs first and interprets second. It reads HEADER variables, the
LAYER table and the BLOCKS section, and expands every
INSERT into model space with that insert's own translation, rotation and scale,
recursively, to a bounded depth. A CIRCLE inside a block inserted with a uniform
scale stays a circle with an exact diameter; under a non-uniform scale it is an ellipse, so it
is discretised in the block's own frame and the points are transformed — which is
geometrically right, unlike scaling a radius — and the approximation is reported.
Polyline bulges are turned back into real arcs, because a bulge measured as a straight chord
understates a rounded rectangle's perimeter by several per cent. A binary DXF or a DWG is
refused by name with instructions, not parsed into nonsense.
Why does it care so much about open contours?
Because an open contour has no inside. A cutter is told to follow a path and keep the material on one side of it; if the path does not close, there is no side, and the file is rejected or — worse — cut as an unclosed slit. It is the most common reason a flat-part file comes back from a shop. The reader stitches every cut entity into chains, closes the ones whose endpoints meet within a stated tolerance, and lists the rest with the size of the gap and both endpoint coordinates so you can go straight to them in CAD.
Are the minimums real, and are they my shop's?
They are real published sheet-metal guidance and they are not your shop's catalogue. Every limit in this app is a ratio applied to your material thickness — a laser-cut hole in metal wants a diameter of at least one material thickness, a flange wants about four, an opening wants about two and a half thicknesses of clearance from a bend — and the app shows the ratio, the thickness and the resulting limit next to the measured value every single time. This app has no network access and cannot fetch a vendor's price list, so it never pretends to have one. Treat the numbers as the conservative starting point and confirm them against the shop's own published specification before you order. No price is quoted anywhere in this app.
What are the four lanes?
Read establishes what the file actually contains: what the part is, what the
units are, what each layer means, what each contour is for, and which of the browser's
readings are guesses that still need settling. Check it will cut takes the
process, material and thickness you picked and reviews every measured value against its limit,
names the consequence of each violation and its remedy, and lists the secondary operations the
part implies. Correct the part produces the specific edits that clear the
findings plus a parametric build123d script that regenerates the corrected part
and exports DXF and STEP, so the fix is repeatable rather than a one-off nudge in CAD.
Build the order packet produces the order as a shop needs it: material,
thickness, quantity and finish, the services in the sequence they happen, the hardware, the
quantities a quote is computed from, the questions to ask, and the pre-upload checklist. All
four run over the same file and each result offers the next lane as a button.
How is the AI pass kept honest?
The browser measures first and sends its numbers into the run. The model must return one
reconciliation entry per critical and high flag by id, so a defect it ignored is
displayed as unaccounted for rather than quietly dropped. Every contour, layer, bend and rule
id it cites is checked against what the file contains, and one that does not exist is shown,
marked, rather than trusted. Every layer name the script it returns reads is checked the same
way — including the ezdxf query idioms, not just the obvious one —
while a layer the script itself creates is not flagged. On the read lane, any layer carrying
geometry that the reading does not mention is listed as a hole in the reading, because anything
not read is cut by default. On the check lane, any rule the browser measured as failing that
the review passed over in silence is listed too.
What does it deliberately not do?
It does not nest your parts on a sheet, and it does not price anything. It does not evaluate spline basis functions: a spline is measured through its fit points, or failing that along its control polygon, which is an outer bound — so a spline contour can only ever be reported as longer and wider than it is, an error that never turns a real violation into a pass. It cannot measure an inside bend radius from a flat pattern, because that is a tooling choice rather than a property of the drawing, so the radius is listed as a rule the flat pattern must have been developed against rather than as a measurement. And it never rewrites your original file: the cut-only DXF it can write is a new file for you to check in CAD.
What does a run cost, and what if my balance is low?
A worst-case amount is reserved before you run and only what the run actually uses is charged. The estimate is checked against your balance before the button enables: signed out, it says signing in comes first; under the model's minimum, it names the exact shortfall; and a reply cut short by a low balance says so rather than presenting itself as complete. The whole browser side is free and needs no account at all.