Files & reference
Everything SRM-CAM reads and writes, plus profiles, parameters, the command line and the keys.
Input files
| Type | Files | Notes |
|---|---|---|
| Gerber | .gbr / .gbl / .gm1 | KiCad's plot. B.Cu and Edge.Cuts at least; F.Cu for double-sided. |
| Excellon drill | .drl | KiCad's drill files; PTH and NPTH are merged. |
| Setup | .srmcam | The whole job, from Save the setup…. The first interface's .json setups load too. |
| Height map | .csv | X, Y, dz, with the face it was probed on. |
| Photo | .png / .jpg | For the overlay. |
Output files
| File | Contents |
|---|---|
<name>_runplan.txt | The run sheet as text: order, bit per step, depths, times, where each board of a panel sits. |
<name>_airpass.nc | Step 0, the dry run. Single-sided jobs. |
<name>_traces.nc | Isolation, mirrored; warped to the height map when one is applied. |
<name>_drill.nc / <name>_drill_<dia>mm.nc | One bit for everything, or one file per diameter. |
<name>_cutout.nc | The outline with tabs. Last. |
<name>_align.nc, _bottom_drill.nc, _bottom_traces.nc, _top_traces.nc | Double-sided, in that order, with the cut-out after the top traces. |
<name>_top_drill.nc | The blind holes finished from the top, on the measured flip. |
<name>_<pass>_rework.nc | A rework program: the pass clipped to your boxes, each at its own depth. |
<name>_screws.nc + .txt | The hold-down clearance holes and the procedure. |
<W>x<H>_bedfixture.nc + .txt | The three dowel-pin holes in the spoilboard, named after the stock size. |
G-code (.nc, mm, G54, plain G0/G1) by default; the Roland SRM-20 file format writes RML.
What a setup contains
The boards and where each sits, the job name, the tool profile's numbers, the copper sheet, the screws, how the copper is held and the extra depth, both faces' height maps, the double-sided settings, the measured flip. The Gerber folders are referenced by path — bring them along to another PC.
Tool profiles
A profile is the whole set of numbers for all three operations; applying one replaces them all. Built-in: SRM-20 0.8 mm flat (opens applied) and a 30° V-bit profile for fine traces. Save as… (Full tier) keeps your own in ~/.gerber2rml/presets.json; a lab can put shared ones in examples/presets.json.
Cutting parameters
| Parameter | Applies to | Meaning |
|---|---|---|
| Bit diameter | all | The cutter's width, and what the shorts check measures against. |
| Cut depth | traces | Just through the 35 µm foil; the rest is margin. |
| Isolation passes, pass overlap | traces | Channels per track (-1 clears all copper); how far each extra pass steps across. |
| V-bit tip, angle, target width | traces | A V-bit's depth is worked out from the width it is asked for. |
| Total depth, peck | drill, cut-out | Through the board plus the overshoot; how much per plunge. |
| One bit for every hole size | drill | Plunge the ones that fit, mill the larger ones as circles. |
| Tabs, tab width | cut-out | What holds the board until the end. |
| Feeds, lift height | all | Cutting and plunge speed in mm/s; how high the bit lifts between cuts. |
Command line
python -m gerber2rml # the app
python -m gerber2rml.gui # the first interface
python -m gerber2rml.cli <gerber-folder> -o <out> -n <name> # headless export
python -m gerber2rml.doctor # fix dependencies after a pull
Keys
| Key | Effect |
|---|---|
| Esc | Stop the machine, from anywhere |
| Page Up / Page Down | Jog Z by the step |
| Arrow keys | Nudge the picked board 0.1 mm; Shift 1 mm; Ctrl 0.01 mm |
| Ctrl+O / Ctrl+Shift+O | Open a Gerber folder / add another board |
| Ctrl+S / Ctrl+E | Save the setup / export the job |
| Ctrl+0 / Ctrl+Shift+0 / Ctrl+B | Fit the work / fit the bed / centre the job |
| Ctrl+D / Ctrl+G / Ctrl+3 / Ctrl+L | Design X-ray / screw grid / 3D view / connect |
| Scroll / right-drag on the stage | Zoom / pan |