mirror of
git://projects.qi-hardware.com/wernermisc.git
synced 2024-11-23 11:46:15 +02:00
vialtray: ready for first test run (on-going)
- doit (GEN): corrected name of toolpath generator - doit (rdata): fixed typo ("rdate" vs. "rdata") - doit (Z): set Z depth here, to avoid manual depth adjustment - doit: don't use cameo - we compensate for the tool size in tray.pl - doit: increased feed rate from 2 mm/s to 4 mm/s - doit: clearance is above top layer, so 5 mm are more than enough - tray.pl (zf): increase floor depth from very conservative 15 mm to 17 mm - tray.pl (zs): increase depth step from 2 mm to 2.5 mm to accelerate milling - tray.pl (mw): increase wall thickness from 2 mm to 2.5 mm in order to enlarge gap between sides (was smaller than tool diameter) - tray.pl (r1): stop 2 steps before the edge, since we have the outline as another radius-like step - tray.pl (do_col): account for tool radius - tray.pl (do_circles): lift the tool after each disc, not only after each column - tray.pl (do_cols, do_circles): temporarily skip 1st column - tray.pl (main): do circles before the outline, to reduce chatter when cutting the outline - tray.pl (main): since we're no longer using "cameo" here, don't print directives for it
This commit is contained in:
parent
458702cf54
commit
649e00b28e
14
vialtray/doit
Normal file → Executable file
14
vialtray/doit
Normal file → Executable file
@ -6,12 +6,10 @@ ZMAP=$DIR/zmap/zmap
|
||||
GP2RML=$DIR/gp2rml/gp2rml
|
||||
CAMEO=../../../cae-tools/cameo/cameo
|
||||
|
||||
GEN=${1:-./pcb.pl}
|
||||
GEN=${1:-./tray.pl}
|
||||
|
||||
# manual tool positioning !!
|
||||
rdate="0 0 0 150 0 0 0 100 0"
|
||||
# lower Z by 0.5 mm relative to highest point (-56.8)
|
||||
Z=0
|
||||
rdata="0 0 0 150 0 0 0 100 0"
|
||||
Z=-27.6
|
||||
|
||||
rect=`$RECT $rdata | awk '{$3 = ""; print}'`
|
||||
|
||||
@ -19,10 +17,8 @@ rect=`$RECT $rdata | awk '{$3 = ""; print}'`
|
||||
|
||||
$GEN |
|
||||
awk '{ if ($3 != "") $3 += '$Z'; print $0; }' |
|
||||
$CAMEO -d 0 |
|
||||
$ALIGN 0 1 $rect |
|
||||
# angle, reference (lower left corner), rect
|
||||
$GP2RML 20 2 2
|
||||
tee check |
|
||||
$GP2RML 5 4 4
|
||||
# clearance, xy speed, z speed
|
||||
# since everything is in the same plane, z clearance must be thickness plus
|
||||
# real clearance !
|
||||
|
@ -111,10 +111,10 @@ sub circ
|
||||
$z0 = -0.5;
|
||||
|
||||
# floor depth
|
||||
$zf = -15;
|
||||
$zf = -17;
|
||||
|
||||
# maximum depth step
|
||||
$zs = 2;
|
||||
$zs = 2.5;
|
||||
|
||||
# distance between columns
|
||||
$xs = 24;
|
||||
@ -126,7 +126,7 @@ $ys = 20;
|
||||
$vd = 18.6;
|
||||
|
||||
# minimum wall thickness
|
||||
$mw = 2;
|
||||
$mw = 2.5;
|
||||
|
||||
$nc = 6;
|
||||
$nr = 4;
|
||||
@ -140,7 +140,7 @@ $vr = $vd/2;
|
||||
|
||||
# circle radii: first, last, increment
|
||||
$r0 = $r/2;
|
||||
$r1 = $vr-$r*0.75;
|
||||
$r1 = $vr-$r*1.5;
|
||||
$rs = $r*0.75;
|
||||
|
||||
#
|
||||
@ -187,12 +187,12 @@ sub do_col
|
||||
if ($rw) {
|
||||
$end = $rw == $nr-1 ? $vr : ($ys-$mw)/2;
|
||||
&yarc($x0-$bx, $y0-$ys/2,
|
||||
1, -$mw/2, $mw/2, $br, @m_ccw);
|
||||
1, -$mw/2-$r, $mw/2+$r, $br+$r, @m_ccw);
|
||||
&yarc($x0, $y0,
|
||||
-1, -($ys-$mw)/2, $end, $vr, @m_cw);
|
||||
-1, -($ys-$mw)/2+$r, $end-$r, $vr-$r, @m_cw);
|
||||
} else {
|
||||
&yarc($x0, $y0,
|
||||
1, -$vr, ($ys-$mw)/2, $vr, @m_cw);
|
||||
1, -$vr+$r, ($ys-$mw)/2-$r, $vr-$r, @m_cw);
|
||||
}
|
||||
$y0 += $ys;
|
||||
}
|
||||
@ -201,12 +201,12 @@ sub do_col
|
||||
if ($rw) {
|
||||
$end = $rw == $nr-1 ? $vr : ($ys-$mw)/2;
|
||||
&yarc($x0+$bx, $y0+$ys/2,
|
||||
-1, $mw/2, -$mw/2, $br, @m_ccw);
|
||||
-1, $mw/2+$r, -$mw/2-$r, $br+$r, @m_ccw);
|
||||
&yarc($x0, $y0,
|
||||
1, ($ys-$mw)/2, -$end, $vr, @m_cw);
|
||||
1, ($ys-$mw)/2-$r, -$end+$r, $vr-$r, @m_cw);
|
||||
} else {
|
||||
&yarc($x0, $y0,
|
||||
1, $vr, -($ys-$mw)/2, $vr, @m_cw);
|
||||
1, $vr-$r, -($ys-$mw)/2+$r, $vr-$r, @m_cw);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -218,7 +218,9 @@ sub do_cols
|
||||
|
||||
$x = $x0;
|
||||
for ($c = 0; $c != $nc; $c++) {
|
||||
if ($c) {
|
||||
&do_col($x);
|
||||
}
|
||||
$x += $xs;
|
||||
print "\n";
|
||||
}
|
||||
@ -235,12 +237,14 @@ sub do_circles
|
||||
$y = $y0;
|
||||
for ($rw = 0; $rw != $nr; $rw++) {
|
||||
for ($rr = $r0; $rr <= $r1; $rr += $rs) {
|
||||
if ($c) {
|
||||
&circ($x, $y, $rr, 180);
|
||||
}
|
||||
}
|
||||
print "\n";
|
||||
$y += $ys;
|
||||
}
|
||||
$x += $xs;
|
||||
print "\n";
|
||||
}
|
||||
}
|
||||
|
||||
@ -249,10 +253,11 @@ sub do_circles
|
||||
|
||||
$z = $z0;
|
||||
for ($i = 0; $i != $nz; $i++) {
|
||||
print "#%%r_tool=", $r, "\n";
|
||||
# print "#%%r_tool=0\n";
|
||||
&do_circles;
|
||||
|
||||
# print "#%%r_tool=", $r, "\n";
|
||||
&do_cols;
|
||||
|
||||
print "#%%r_tool=0\n";
|
||||
&do_circles;
|
||||
$z -= $zs;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user