Files & reference

Everything SRM-CAM reads and writes, plus profiles, parameters, the command line and the keys.

Input files

TypeFilesNotes
Gerber.gbr / .gbl / .gm1KiCad's plot. B.Cu and Edge.Cuts at least; F.Cu for double-sided.
Excellon drill.drlKiCad's drill files; PTH and NPTH are merged.
Setup.srmcamThe whole job, from Save the setup…. The first interface's .json setups load too.
Height map.csvX, Y, dz, with the face it was probed on.
Photo.png / .jpgFor the overlay.

Output files

FileContents
<name>_runplan.txtThe run sheet as text: order, bit per step, depths, times, where each board of a panel sits.
<name>_airpass.ncStep 0, the dry run. Single-sided jobs.
<name>_traces.ncIsolation, mirrored; warped to the height map when one is applied.
<name>_drill.nc / <name>_drill_<dia>mm.ncOne bit for everything, or one file per diameter.
<name>_cutout.ncThe outline with tabs. Last.
<name>_align.nc, _bottom_drill.nc, _bottom_traces.nc, _top_traces.ncDouble-sided, in that order, with the cut-out after the top traces.
<name>_top_drill.ncThe blind holes finished from the top, on the measured flip.
<name>_<pass>_rework.ncA rework program: the pass clipped to your boxes, each at its own depth.
<name>_screws.nc + .txtThe hold-down clearance holes and the procedure.
<W>x<H>_bedfixture.nc + .txtThe 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

ParameterApplies toMeaning
Bit diameterallThe cutter's width, and what the shorts check measures against.
Cut depthtracesJust through the 35 µm foil; the rest is margin.
Isolation passes, pass overlaptracesChannels per track (-1 clears all copper); how far each extra pass steps across.
V-bit tip, angle, target widthtracesA V-bit's depth is worked out from the width it is asked for.
Total depth, peckdrill, cut-outThrough the board plus the overshoot; how much per plunge.
One bit for every hole sizedrillPlunge the ones that fit, mill the larger ones as circles.
Tabs, tab widthcut-outWhat holds the board until the end.
Feeds, lift heightallCutting 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

KeyEffect
EscStop the machine, from anywhere
Page Up / Page DownJog Z by the step
Arrow keysNudge the picked board 0.1 mm; Shift 1 mm; Ctrl 0.01 mm
Ctrl+O / Ctrl+Shift+OOpen a Gerber folder / add another board
Ctrl+S / Ctrl+ESave the setup / export the job
Ctrl+0 / Ctrl+Shift+0 / Ctrl+BFit the work / fit the bed / centre the job
Ctrl+D / Ctrl+G / Ctrl+3 / Ctrl+LDesign X-ray / screw grid / 3D view / connect
Scroll / right-drag on the stageZoom / pan