mirror of
git://projects.qi-hardware.com/ben-wpan.git
synced 2024-11-26 04:56:16 +02:00
cam/: scripts for cutting the PCB (just the board - traces are etched)
This commit is contained in:
parent
a7c04ad696
commit
2cb3f18151
4
cam/Makefile
Normal file
4
cam/Makefile
Normal file
@ -0,0 +1,4 @@
|
||||
.PHONY: pcb
|
||||
|
||||
pcb:
|
||||
./doit >job
|
21
cam/doit
Executable file
21
cam/doit
Executable file
@ -0,0 +1,21 @@
|
||||
#!/bin/sh -e
|
||||
DIR=/home/moko/svn.openmoko.org/developers/werner/cncmap
|
||||
RECT=$DIR/rect/rect
|
||||
ALIGN=$DIR/align/align
|
||||
ZMAP=$DIR/zmap/zmap
|
||||
GP2RML=$DIR/gp2rml/gp2rml
|
||||
|
||||
GEN=${1:-./pcb.pl}
|
||||
|
||||
rdata="12.10 8.90 -55.90 12.30 81.50 -55.80 111.70 11.30 -55.60"
|
||||
# we need quite a large Z adjustment due to the table's vertical flexibility
|
||||
Z=-56.30
|
||||
|
||||
rect=`$RECT $rdata | awk '{$3 = ""; print}'`
|
||||
|
||||
$GEN |
|
||||
awk '{ if ($3 != "") $3 += '$Z'; print $0; }' |
|
||||
$ALIGN 0 1 $rect |
|
||||
# angle, reference (lower left corner), rect
|
||||
$GP2RML 1.5 0.1 0.1
|
||||
# clearance, xy speed, z speed
|
69
cam/pcb.pl
Executable file
69
cam/pcb.pl
Executable file
@ -0,0 +1,69 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
$d = 2.54/1000*12;
|
||||
$r = $d/2+0.1;
|
||||
|
||||
|
||||
sub orig
|
||||
{
|
||||
$x0 = $_[0];
|
||||
$y0 = $_[1];
|
||||
}
|
||||
|
||||
|
||||
sub mil
|
||||
{
|
||||
return $_[0]/1000*25.4;
|
||||
}
|
||||
|
||||
|
||||
sub cut
|
||||
{
|
||||
if (defined $x) {
|
||||
if ($x == $_[0]+$x0 && $y == $_[1]+$y0) {
|
||||
shift @_;
|
||||
shift @_;
|
||||
} else {
|
||||
print "\n";
|
||||
}
|
||||
}
|
||||
while (@_) {
|
||||
$x = shift @_;
|
||||
$y = shift @_;
|
||||
($x, $y) = (-$y, $x);
|
||||
$x += $x0;
|
||||
$y += $y0;
|
||||
print "$x $y $z\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub one
|
||||
{
|
||||
&cut(
|
||||
&mil( 0)-$r, &mil( 0)-$r,
|
||||
&mil( 0)-$r, &mil(620)+$r,
|
||||
&mil( 810)+$r, &mil(620)+$r,
|
||||
&mil( 850) , &mil(580)+$r,
|
||||
&mil( 890)-$r, &mil(620)+$r,
|
||||
&mil(1300)+$r, &mil(620)+$r,
|
||||
&mil(1490)+$r, &mil(430)+$r,
|
||||
&mil(1630)+$r, &mil(430)+$r,
|
||||
&mil(1630)+$r, &mil(360)+$r,
|
||||
&mil(1850)-$r, &mil(360)+$r,
|
||||
&mil(1850)-$r, &mil(430)+$r,
|
||||
&mil(2150)+$r, &mil(430)+$r,
|
||||
&mil(2150)+$r, &mil(-70)-$r,
|
||||
&mil( 890)-$r, &mil(-70)-$r,
|
||||
&mil( 890)-$r, &mil( 0)-$r,
|
||||
&mil( 850) , &mil( 40)-$r,
|
||||
&mil( 810)+$r, &mil( 0)-$r,
|
||||
&mil( 0)-$r, &mil( 0)-$r);
|
||||
}
|
||||
|
||||
|
||||
$z = -0.8
|
||||
# x: corner offset, compensation for rotation, array position
|
||||
# y: corner offet
|
||||
&orig(5+16+22*2, 5)
|
||||
&one;
|
Loading…
Reference in New Issue
Block a user