diff --git a/3dprint/panel.scad b/3dprint/panel.scad index f7c4a91..a59a7cb 100644 --- a/3dprint/panel.scad +++ b/3dprint/panel.scad @@ -47,6 +47,7 @@ module screw_point(c_x, c_y, length = 5) { cylinder(r=5.6/2+1, h=length); translate([0, 0, -epsilon]) cylinder(r=(5.6+wiggle_room)/2, $fn=6, h=2+epsilon+wiggle_room); + cylinder(r=(2.5+wiggle_room)/2, h=length-2); } } @@ -100,6 +101,8 @@ module panel() { screw_point(61*2.54, 2.5*2.54); screw_point(2*2.54, 37.5*2.54, length=14); screw_point(61*2.54, 37.5*2.54, length=14); + // stiffness + translate([0, 61, -3]) cube([panel_width, 4, 3]); } translate([0, 0, -cutout_depth+panel_thick-epsilon]) union() { // HDG led @@ -137,13 +140,13 @@ module panel() { for (col = [0, 1.5, 2.5, 3.5, 4.5, 6]) { // APR, LVL, FD, AP, A/T, N1 cutout_cyl(col_x(col), row_2_led_y, led_diam); - } + } } } - translate([0, (panel_border-bottom_border)/2, 0]) rotate([0, 90, 0]) screw_block(); - translate([0, 100+panel_border+top_border/2-3, 0]) rotate([0, 90, 0]) screw_block(); - translate([panel_width, (panel_border-bottom_border)/2, -6]) rotate([0, -90, 0]) screw_block(); - translate([panel_width, 100+panel_border+top_border/2-3, -6]) rotate([0, -90, 0]) screw_block(); + translate([0, (panel_border-bottom_border)/2+3, 0]) rotate([0, 90, 0]) screw_block(height=6); + translate([0, 100+panel_border+top_border/2, 0]) rotate([0, 90, 0]) screw_block(); + translate([panel_width, (panel_border-bottom_border)/2+3, 0]) rotate([180, 90, 0]) screw_block(height=6); + translate([panel_width, 100+panel_border+top_border/2, 0]) rotate([180, 90, 0]) screw_block(); //color("green") translate([panel_border, panel_border, -12]) cube([160, 100, 1]); // dummy PCB translate([0, -bottom_border, 0]) cube([panel_width, bottom_border, panel_thick]); @@ -153,16 +156,33 @@ module panel() { [0, panel_height+top_border+panel_thick/tan(panel_angle)+epsilon]]); } -module screw_block() { +module screw_block(height = 5) { + difference() { + //cylinder(r=5.6/2+1, h=6); + translate([0, -3, 0]) cube([height, 6, 7]); + translate ([5.6/2, 0, 0]) { + translate([0, 0, -epsilon]) + rotate([0, 0, 180/6]) cylinder(r=(5.6+wiggle_room)/2, $fn=6, h=2+epsilon+wiggle_room); + cylinder(r=(2.5+wiggle_room)/2, h=6); + } + } + /* difference() { cube([6, 6, 12]); translate([3, 3, -epsilon]) cylinder(r=1.25+wiggle_room/2, h=10+epsilon); - } + }*/ } -side_screw_head_diam = 5.9+wiggle_room; -side_screw_shaft_diam = 3+wiggle_room; -side_screw_head_height = 2.7; +side_screw_head_diam = 4+wiggle_room; +side_screw_shaft_diam = 2.5+wiggle_room; +side_screw_head_height = 1.1; + +module sidescrew_hole() { + translate([0, 0, -1*side_screw_head_height+2*epsilon]) + cylinder(r=side_screw_head_diam/2, h=side_screw_head_height); + translate([0, 0, -panel_thick]) + cylinder(r=side_screw_shaft_diam/2, h=panel_thick); +} module side(rightside = false) { difference() { @@ -179,21 +199,17 @@ module side(rightside = false) { rotate([panel_angle, 0, 0]) { translate([0, (panel_border-bottom_border)/2, 0]) rotate([0, 90, 0]) if (rightside) { - translate([3, 3, -epsilon-panel_thick]) - cylinder(r1=side_screw_shaft_diam/2, r2=side_screw_head_diam/2, h=side_screw_head_height); + translate([3, 3, 0]) sidescrew_hole(); } else { - translate([3, 3, 2*epsilon-side_screw_head_height]) - cylinder(r2=side_screw_shaft_diam/2, r1=side_screw_head_diam/2, h=side_screw_head_height); + translate([3, 3, -panel_thick+2*epsilon]) rotate([0, 180, 0]) sidescrew_hole(); } translate([0, 100+panel_border+top_border/2-3, 0]) rotate([0, 90, 0]) if (rightside) { - translate([3, 3, -epsilon-panel_thick]) - cylinder(r1=side_screw_shaft_diam/2, r2=side_screw_head_diam/2, h=side_screw_head_height); + translate([3, 3, 0]) sidescrew_hole(); } else { - translate([3, 3, 2*epsilon-side_screw_head_height]) - cylinder(r2=side_screw_shaft_diam/2, r1=side_screw_head_diam/2, h=side_screw_head_height); + translate([3, 3, -panel_thick+2*epsilon]) rotate([0, 180, 0]) sidescrew_hole(); } if (rightside) { translate([-panel_thick-2*epsilon, panel_height - 27, -20]) cube([2*panel_thick, 10, 5]);