X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=quasar-firewall.scad;h=8df1d77a15e4134ae5c7d8db02268cc7ada7ab75;hb=07258db23a917b59ca5410ba66d8c4f029359e21;hp=7e763f1336664f9355684531e5c732fa8325d345;hpb=f0b23b062d51be4cb868c8d36054dd5a43a76f6a;p=things.git diff --git a/quasar-firewall.scad b/quasar-firewall.scad index 7e763f1..8df1d77 100644 --- a/quasar-firewall.scad +++ b/quasar-firewall.scad @@ -13,23 +13,24 @@ center_d = 8 + 0.3; cable_slot_w = 5; cable_slot_h = 3; -foam_horiz = 6 + 0.3; -foam_vert = 6 + 0.3; -support_h = 30; +foam_horiz = 6 + 0.6; +foam_vert = 6 + 0.6; +support_h = 50; top_d = foam_horiz + 8; +side_w = 40; module body() { // base cylinder(r = base_d/2, h = base_wall); intersection() { - cylinder(r1 = base_d/2, r2 = top_d/2, + cylinder(r1 = side_w/2, r2 = top_d/2, h = support_h + base_wall); union() { - translate([-base_d/2, -foam_horiz/2-wall, base_wall - eps]) - cube([base_d, foam_horiz + 2*wall, support_h]); - translate([-foam_vert/2-wall, -base_d/2, base_wall - eps]) - cube([foam_vert + 2*wall, base_d, support_h]); + translate([-side_w/2, -foam_horiz/2-wall, 0]) + cube([side_w, foam_horiz + 2*wall, support_h]); + translate([-foam_vert/2-wall, -side_w/2, 0]) + cube([foam_vert + 2*wall, side_w, support_h]); } } } @@ -41,27 +42,33 @@ module screw_hole() { cylinder(r1 = screw_hole/2, r2 = screw_hole/2 + base_wall/2, h = base_wall/2+eps, $fn = 6); + translate([0, 0, base_wall-eps]) + cylinder(r = screw_hole/2 + base_wall/2, h = 2*base_wall + eps, $fn = 6); } difference() { body(); // screw holes + rotate([0, 0, 45]) { for (x = [-1, 1]) translate([x*screw_d1/2, 0, 0]) screw_hole(); for (y = [-1, 1]) translate([0, y*screw_d2/2, 0]) screw_hole(); + } // tube hole translate([0, 0, -eps]) cylinder(r = center_d/2, h = base_wall + 2*eps); // cable slot + /* rotate([0, 0, 45]) translate([-cable_slot_w/2, base_d/2-cable_slot_h, -eps]) cube([cable_slot_w, 2*cable_slot_h, infty]); + */ // horizontal foam - translate([-base_d/2-eps, -foam_horiz/2, base_wall]) - cube([base_d + 2*eps, foam_horiz, support_h + eps]); + translate([-side_w/2-eps, -foam_horiz/2, base_wall]) + cube([side_w + 2*eps, foam_horiz, support_h + eps]); // vertical foam - translate([-foam_vert/2, -base_d/2-eps, base_wall]) - cube([foam_vert, base_d + 2*eps, support_h + eps]); + translate([-foam_vert/2, -side_w/2-eps, base_wall]) + cube([foam_vert, side_w + 2*eps, support_h + eps]); }