36 lines
988 B
Bash
Executable File
36 lines
988 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
GERBERS_DIR="gerbers"
|
|
|
|
usage() {
|
|
echo "Usage: $0 <kicad_pcb_file>"
|
|
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
|