Werner's Miscellanea
Sign in or create your account | Project List | Help
Werner's Miscellanea Commit Details
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 | ||
---|---|---|
6 | 6 | GP2RML=$DIR/gp2rml/gp2rml |
7 | 7 | CAMEO=../../../cae-tools/cameo/cameo |
8 | 8 | |
9 | GEN=${1:-./pcb.pl} | |
9 | GEN=${1:-./tray.pl} | |
10 | 10 | |
11 | # manual tool positioning !! | |
12 | rdate="0 0 0 150 0 0 0 100 0" | |
13 | # lower Z by 0.5 mm relative to highest point (-56.8) | |
14 | Z=0 | |
11 | rdata="0 0 0 150 0 0 0 100 0" | |
12 | Z=-27.6 | |
15 | 13 | |
16 | 14 | rect=`$RECT $rdata | awk '{$3 = ""; print}'` |
17 | 15 | |
... | ... | |
19 | 17 | |
20 | 18 | $GEN | |
21 | 19 | awk '{ if ($3 != "") $3 += '$Z'; print $0; }' | |
22 | $CAMEO -d 0 | | |
23 | 20 | $ALIGN 0 1 $rect | |
24 | 21 | # angle, reference (lower left corner), rect |
25 | $GP2RML 20 2 2 | |
22 | tee check | | |
23 | $GP2RML 5 4 4 | |
26 | 24 | # 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 | ||
---|---|---|
111 | 111 | $z0 = -0.5; |
112 | 112 | |
113 | 113 | # floor depth |
114 | $zf = -15; | |
114 | $zf = -17; | |
115 | 115 | |
116 | 116 | # maximum depth step |
117 | $zs = 2; | |
117 | $zs = 2.5; | |
118 | 118 | |
119 | 119 | # distance between columns |
120 | 120 | $xs = 24; |
... | ... | |
126 | 126 | $vd = 18.6; |
127 | 127 | |
128 | 128 | # minimum wall thickness |
129 | $mw = 2; | |
129 | $mw = 2.5; | |
130 | 130 | |
131 | 131 | $nc = 6; |
132 | 132 | $nr = 4; |
... | ... | |
140 | 140 | |
141 | 141 | # circle radii: first, last, increment |
142 | 142 | $r0 = $r/2; |
143 | $r1 = $vr-$r*0.75; | |
143 | $r1 = $vr-$r*1.5; | |
144 | 144 | $rs = $r*0.75; |
145 | 145 | |
146 | 146 | # |
... | ... | |
187 | 187 | if ($rw) { |
188 | 188 | $end = $rw == $nr-1 ? $vr : ($ys-$mw)/2; |
189 | 189 | &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); | |
191 | 191 | &yarc($x0, $y0, |
192 | -1, -($ys-$mw)/2, $end, $vr, @m_cw); | |
192 | -1, -($ys-$mw)/2+$r, $end-$r, $vr-$r, @m_cw); | |
193 | 193 | } else { |
194 | 194 | &yarc($x0, $y0, |
195 | 1, -$vr, ($ys-$mw)/2, $vr, @m_cw); | |
195 | 1, -$vr+$r, ($ys-$mw)/2-$r, $vr-$r, @m_cw); | |
196 | 196 | } |
197 | 197 | $y0 += $ys; |
198 | 198 | } |
... | ... | |
201 | 201 | if ($rw) { |
202 | 202 | $end = $rw == $nr-1 ? $vr : ($ys-$mw)/2; |
203 | 203 | &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); | |
205 | 205 | &yarc($x0, $y0, |
206 | 1, ($ys-$mw)/2, -$end, $vr, @m_cw); | |
206 | 1, ($ys-$mw)/2-$r, -$end+$r, $vr-$r, @m_cw); | |
207 | 207 | } else { |
208 | 208 | &yarc($x0, $y0, |
209 | 1, $vr, -($ys-$mw)/2, $vr, @m_cw); | |
209 | 1, $vr-$r, -($ys-$mw)/2+$r, $vr-$r, @m_cw); | |
210 | 210 | } |
211 | 211 | } |
212 | 212 | } |
... | ... | |
218 | 218 | |
219 | 219 | $x = $x0; |
220 | 220 | for ($c = 0; $c != $nc; $c++) { |
221 | if ($c) { | |
221 | 222 | &do_col($x); |
223 | } | |
222 | 224 | $x += $xs; |
223 | 225 | print "\n"; |
224 | 226 | } |
... | ... | |
235 | 237 | $y = $y0; |
236 | 238 | for ($rw = 0; $rw != $nr; $rw++) { |
237 | 239 | for ($rr = $r0; $rr <= $r1; $rr += $rs) { |
240 | if ($c) { | |
238 | 241 | &circ($x, $y, $rr, 180); |
242 | } | |
239 | 243 | } |
244 | print "\n"; | |
240 | 245 | $y += $ys; |
241 | 246 | } |
242 | 247 | $x += $xs; |
243 | print "\n"; | |
244 | 248 | } |
245 | 249 | } |
246 | 250 | |
... | ... | |
249 | 253 | |
250 | 254 | $z = $z0; |
251 | 255 | for ($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"; | |
253 | 260 | &do_cols; |
254 | 261 | |
255 | print "#%%r_tool=0\n"; | |
256 | &do_circles; | |
257 | 262 | $z -= $zs; |
258 | 263 | } |
Branches:
master