diff --git a/src/components.scad b/src/components.scad index d5b548e..1919b66 100644 --- a/src/components.scad +++ b/src/components.scad @@ -163,15 +163,32 @@ module levermountholes() { } module base_panel() { - cube([panel_x, panel_y, panel_z], center=true); - translate([panel_to_frame_point_x, panel_to_frame_point_y, -panel_z]) - scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole(); - translate([-panel_to_frame_point_x, panel_to_frame_point_y, -panel_z]) - scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole(); - translate([panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z]) - scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole(); - translate([-panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z]) - scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole(); + difference() { + union() { + cube([panel_x, panel_y, panel_z], center=true); + // add posts that sink into the frame, just to give + // a somewhat more sturdy/tight connection + translate([panel_to_frame_point_x, panel_to_frame_point_y, -panel_z]) + scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole(); + translate([-panel_to_frame_point_x, panel_to_frame_point_y, -panel_z]) + scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole(); + translate([panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z]) + scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole(); + translate([-panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z]) + scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole(); + } + // the posts mentioned above need space for the actual hex bolts + // used in connecting to the frame + translate([panel_to_frame_point_x, panel_to_frame_point_y, -panel_z]) + scale([1, 1, 0.1]) frame_hex_bolt_hole(); + translate([-panel_to_frame_point_x, panel_to_frame_point_y, -panel_z]) + scale([1, 1, 0.1]) frame_hex_bolt_hole(); + translate([panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z]) + scale([1, 1, 0.1]) frame_hex_bolt_hole(); + translate([-panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z]) + scale([1, 1, 0.1]) frame_hex_bolt_hole(); + } + } module base_bottom_panel() {