mirror of
git://projects.qi-hardware.com/ben-blinkenlights.git
synced 2024-11-30 17:46:15 +02:00
93 lines
1.7 KiB
Bash
Executable File
93 lines
1.7 KiB
Bash
Executable File
#!/bin/sh
|
|
PATH=$PATH:/home/qi/cae-tools/cameo
|
|
PATH=$PATH:/home/moko/svn.openmoko.org/developers/werner/cncmap/gp2rml
|
|
|
|
while [ "$1" ]; do
|
|
eval "$1"
|
|
shift
|
|
done
|
|
|
|
if ! [ "$NAME" ]; then
|
|
echo "NAME is required" 1>&2
|
|
exit 1
|
|
fi
|
|
: ${X0:=0} ${Y0:=0}
|
|
: ${X:=0} ${Y:=0}
|
|
: ${XN:=1} ${YN:=1}
|
|
|
|
|
|
|
|
write=write
|
|
yi=0
|
|
while [ $yi -lt $YN ]; do
|
|
xi=0
|
|
while [ $xi -lt $XN ]; do
|
|
|
|
cameo <<EOF
|
|
mm
|
|
|
|
gerber 35mil ../$NAME-PCB_Edges.gbr
|
|
align 1 $X0 $Y0 # align relative to board corner
|
|
translate 4mm 4mm # move to PCB zone assigned to project
|
|
array +3mm +3mm `expr $X + $xi` `expr $Y + $yi`
|
|
z 0 -58.9mm # board surface (tool fully retracted)
|
|
z 1.5mm # slack for extending the tool
|
|
z -0.8mm # board thickness
|
|
z -0.5mm # tool extra depth
|
|
clear
|
|
|
|
excellon ../$NAME.drl
|
|
drill 7mil 15mil # 12.5-13.5 mil drill
|
|
optimize
|
|
$write drill.gp
|
|
|
|
remainder
|
|
mill 25mil 0.01mm # 35 mil endmill; pretend it is a little smaller,
|
|
# to compensate for tool/board deflections
|
|
$write mill.gp
|
|
|
|
remainder
|
|
empty
|
|
|
|
gerber 45mil ../$NAME-PCB_Edges.gbr # 35 mil endmill, -10 mil deflection
|
|
offset
|
|
append mill.gp
|
|
EOF
|
|
|
|
write=append
|
|
xi=`expr $xi + 1`
|
|
done
|
|
yi=`expr $yi + 1`
|
|
done
|
|
|
|
gp2rml 2 0.5 0.5 mill.gp >mill.rml
|
|
gp2rml 2 0.1 0.5 drill.gp >drill.rml
|
|
|
|
|
|
cat <<EOF >Makefile.mkmk
|
|
SPOOL=/home/moko/svn.openmoko.org/developers/werner/cncmap/spool/spool
|
|
CNGT=/home/qi/cae-tools/cngt/cngt
|
|
|
|
.PHONY: mill drill cng plot dplot
|
|
|
|
mill:
|
|
PORT=/dev/ttyUSB0 \$(SPOOL) mill.rml
|
|
|
|
drill:
|
|
PORT=/dev/ttyUSB0 \$(SPOOL) drill.rml
|
|
|
|
cng:
|
|
\$(CNGT) -57.4 20 mill.gp
|
|
|
|
plot:
|
|
echo 'plot "drill.gp" with points, "mill.gp" with lines' | \\
|
|
gnuplot -persist
|
|
|
|
dplot:
|
|
echo 'plot "< sed /^\$\$/d drill.gp" with linespoints' | \\
|
|
gnuplot -persist
|
|
|
|
clean::
|
|
rm -f mill.gp mill.rml drill.gp drill.rml
|
|
EOF
|