#!/bin/bash set -euo pipefail GERBERS_DIR="gerbers" usage() { echo "Usage: $0 " exit 1 } PCB_FILE="$1" mkdir -p "$GERBERS_DIR" # Export drill, front and back layers as gerber files. echo "Exporting gerbers..." kicad-cli pcb export drill -o "$GERBERS_DIR" "$PCB_FILE" kicad-cli pcb export gerbers -o "$GERBERS_DIR" -l Front "$PCB_FILE" kicad-cli pcb export gerbers -o "$GERBERS_DIR" -l Back "$PCB_FILE" kicad-cli pcb export gerbers -o "$GERBERS_DIR" -l Edge.Cuts "$PCB_FILE" # Export outlines of the penelized board i.e. use the layer 'User.Eco1'. # echo "Exporting panelized outlines from layer 'User.Eco1'..." # python3 export_panel_outlines_gerber.py \ # --layers User.Eco1 \ # --output "$GERBERS_DIR" \ # "$PCB_FILE" # Input layers/filenames and all milling/drilling parameters are taken from the config file: 'millproject'. echo "Exporting Gcode..." docker run --rm -i -t \ -u "$(id -u):$(id -g)" \ -v "$(pwd):/data" \ ptodorov/pcb2gcode