lid_thinbox_h = 9;
lid_fatbox_h = 24;
-lid_fatbox_switches_h = 6+2;
+lid_fatbox_switches_h = 6+4;
lid_max_switches_w = 70;
lid_switches_y_slop = 3;
-total_len = 80;//260;
+total_len = 260;
thinbox_len = 87;
rail_overlap = 8;
peg_top_thick = 1;
peg_straight_len = 3;
-peg_inner_slop = 0.2;
-peg_outer_slop = 0.1;
+$peg_inner_slop = 0.75;
+$peg_outer_slop = -0.9;
+$peg_outer_slop_engage = 0.1;
peg_slope = 1;
lid_seatline_h = lid_fatbox_switches_h;
-echo(lid_seatline_w);
-
peg_main_height = peg_straight_len + (peg_max_dia - peg_main_dia)/2/peg_slope;
-echo(peg_main_height);
-
thinbox_front_z = lid_fatbox_switches_h + lid_fatbox_h - lid_thinbox_h;
raillen = patbox_side/2 + rail_overlap;
}
module PegProfile(){
- polygon([[-peg_engage_depth, (peg_engage_dia - peg_outer_slop)/2],
- [0, (peg_engage_dia - peg_outer_slop)/2],
- [0, (peg_main_dia - peg_outer_slop)/2],
- [peg_straight_len, (peg_main_dia - peg_outer_slop)/2],
- [peg_main_height, (peg_max_dia - peg_outer_slop)/2],
- [peg_main_height+peg_top_thick, (peg_max_dia - peg_outer_slop)/2],
- [peg_main_height+peg_top_thick, (peg_inner_dia + peg_inner_slop)/2],
- [-peg_engage_depth, (peg_inner_dia + peg_inner_slop)/2]]);
+ polygon([[-peg_engage_depth, (peg_engage_dia - $peg_outer_slop_engage)/2],
+ [0, (peg_engage_dia - $peg_outer_slop_engage)/2],
+ [0, (peg_main_dia - $peg_outer_slop)/2],
+ [peg_straight_len, (peg_main_dia - $peg_outer_slop)/2],
+ [peg_main_height, (peg_max_dia - $peg_outer_slop)/2],
+ [peg_main_height+peg_top_thick, (peg_max_dia - $peg_outer_slop)/2],
+ [peg_main_height+peg_top_thick, (peg_inner_dia + $peg_inner_slop)/2],
+ [-peg_engage_depth, (peg_inner_dia + $peg_inner_slop)/2]]);
}
module Peg(){ ////toplevel
+ echo($peg_outer_slop_engage);
rotate_extrude($fn=50)
rotate([0,0,-90])
PegProfile();
}
+module Pegs(){ ////toplevel
+ baseslop = 0.1;
+ dslops = [0, -0.5, -1.0, -1.5];
+ stride = peg_max_dia + 4;
+ for (i=[0:len(dslops)-1]) {
+ translate([i*stride,0,0])
+ assign($peg_outer_slop_engage= baseslop + dslops[i])
+ Peg();
+ }
+}
+
module AtFixingCentres(){
for (fc=[-1,+1]) {
translate([patbox_side/2 + fc*patbox_centres/2,
//LidSide();
//PegProfile();
//Peg();
+//Pegs();
//TopPattressBox();
//RailProfile();
//Demo();
//Lid();
+//translate([0,0,-lid_fatbox_switches_h]) Lid();