Date:2010-11-28 02:41:45 (13 years 4 months ago)
Author:Werner Almesberger
Commit:649e00b28e3fc2c6531871f1eab16f6c5574eda8
Message: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
Files: vialtray/doit (2 diffs)
vialtray/tray.pl (8 diffs)

Change Details

vialtray/doit
66GP2RML=$DIR/gp2rml/gp2rml
77CAMEO=../../../cae-tools/cameo/cameo
88
9GEN=${1:-./pcb.pl}
9GEN=${1:-./tray.pl}
1010
11# manual tool positioning !!
12rdate="0 0 0 150 0 0 0 100 0"
13# lower Z by 0.5 mm relative to highest point (-56.8)
14Z=0
11rdata="0 0 0 150 0 0 0 100 0"
12Z=-27.6
1513
1614rect=`$RECT $rdata | awk '{$3 = ""; print}'`
1715
...... 
1917
2018$GEN |
2119  awk '{ if ($3 != "") $3 += '$Z'; print $0; }' |
22  $CAMEO -d 0 |
2320  $ALIGN 0 1 $rect |
2421        # angle, reference (lower left corner), rect
25  $GP2RML 20 2 2
22  tee check |
23  $GP2RML 5 4 4
2624        # clearance, xy speed, z speed
27# since everything is in the same plane, z clearance must be thickness plus
28# real clearance !
vialtray/tray.pl
111111$z0 = -0.5;
112112
113113# floor depth
114$zf = -15;
114$zf = -17;
115115
116116# maximum depth step
117$zs = 2;
117$zs = 2.5;
118118
119119# distance between columns
120120$xs = 24;
...... 
126126$vd = 18.6;
127127
128128# minimum wall thickness
129$mw = 2;
129$mw = 2.5;
130130
131131$nc = 6;
132132$nr = 4;
...... 
140140
141141# circle radii: first, last, increment
142142$r0 = $r/2;
143$r1 = $vr-$r*0.75;
143$r1 = $vr-$r*1.5;
144144$rs = $r*0.75;
145145
146146#
...... 
187187        if ($rw) {
188188            $end = $rw == $nr-1 ? $vr : ($ys-$mw)/2;
189189            &yarc($x0-$bx, $y0-$ys/2,
190                1, -$mw/2, $mw/2, $br, @m_ccw);
190                1, -$mw/2-$r, $mw/2+$r, $br+$r, @m_ccw);
191191            &yarc($x0, $y0,
192                -1, -($ys-$mw)/2, $end, $vr, @m_cw);
192                -1, -($ys-$mw)/2+$r, $end-$r, $vr-$r, @m_cw);
193193        } else {
194194            &yarc($x0, $y0,
195                1, -$vr, ($ys-$mw)/2, $vr, @m_cw);
195                1, -$vr+$r, ($ys-$mw)/2-$r, $vr-$r, @m_cw);
196196        }
197197        $y0 += $ys;
198198    }
...... 
201201        if ($rw) {
202202            $end = $rw == $nr-1 ? $vr : ($ys-$mw)/2;
203203            &yarc($x0+$bx, $y0+$ys/2,
204                -1, $mw/2, -$mw/2, $br, @m_ccw);
204                -1, $mw/2+$r, -$mw/2-$r, $br+$r, @m_ccw);
205205            &yarc($x0, $y0,
206                1, ($ys-$mw)/2, -$end, $vr, @m_cw);
206                1, ($ys-$mw)/2-$r, -$end+$r, $vr-$r, @m_cw);
207207        } else {
208208            &yarc($x0, $y0,
209                1, $vr, -($ys-$mw)/2, $vr, @m_cw);
209                1, $vr-$r, -($ys-$mw)/2+$r, $vr-$r, @m_cw);
210210        }
211211    }
212212}
...... 
218218
219219    $x = $x0;
220220    for ($c = 0; $c != $nc; $c++) {
221if ($c) {
221222        &do_col($x);
223}
222224        $x += $xs;
223225        print "\n";
224226    }
...... 
235237        $y = $y0;
236238        for ($rw = 0; $rw != $nr; $rw++) {
237239            for ($rr = $r0; $rr <= $r1; $rr += $rs) {
240if ($c) {
238241                &circ($x, $y, $rr, 180);
242}
239243            }
244            print "\n";
240245            $y += $ys;
241246        }
242247        $x += $xs;
243        print "\n";
244248    }
245249}
246250
...... 
249253
250254$z = $z0;
251255for ($i = 0; $i != $nz; $i++) {
252    print "#%%r_tool=", $r, "\n";
256# print "#%%r_tool=0\n";
257    &do_circles;
258
259# print "#%%r_tool=", $r, "\n";
253260    &do_cols;
254261
255    print "#%%r_tool=0\n";
256    &do_circles;
257262    $z -= $zs;
258263}

Archive Download the corresponding diff file

Branches:
master



interactive