include <../../config.scad>; use <../common/beam_hollow_rectangular.scad>; module skeleton_beam(length, suppress_shopping_outputs = false) { d_hole_centre = 5.5; w_slot_min = 6; color("silver") // , 0.4) difference() { cube([D_BEAM_SKELETON, D_BEAM_SKELETON, length], center = true); cylinder(length, d_hole_centre / 2, d_hole_centre / 2, center = true); for (index_side_beam = [0 : 1 : 3]) { rotate([0, 0, 90 * index_side_beam]) { union() { /* translate([-t / 2 + D_BEAM_SKELETON / 2, 0, 0]) cube([t, w_slot_min, length], center = true); translate([-t / 2 + D_BEAM_SKELETON / 2, 0, 0]) cube([t, w_slot_min, length], center = true); */ } for (index_side_slot = [0 : 1 : 1]) { mirror([0, index_side_slot, 0]) linear_extrude(length, center = true) polygon([ [D_BEAM_SKELETON / 2 - T_BEAM_SKELETON - DEPTH_SLOT_BEAM_SKELETON, 0] , [D_BEAM_SKELETON / 2 - T_BEAM_SKELETON - DEPTH_SLOT_BEAM_SKELETON, w_slot_min / 2] , [D_BEAM_SKELETON / 2 - T_BEAM_SKELETON, w_slot_min / 2 + DEPTH_SLOT_BEAM_SKELETON] , [D_BEAM_SKELETON / 2 - T_BEAM_SKELETON, w_slot_min / 2] , [D_BEAM_SKELETON / 2, w_slot_min / 2] , [D_BEAM_SKELETON / 2, 0] ]); } } } } // cube([D_BEAM_SKELETON, D_BEAM_SKELETON, length], center = true); // beam_hollow_rectangular(length, D_BEAM_SKELETON, D_BEAM_SKELETON, T_BEAM_SKELETON, true); // Shopping if (!suppress_shopping_outputs) { echo(str("Skeleton beam: Aluminium box section 20mm x 20mm x ", length, "mm - x1")); } } $fn = 100; // outputs // skeleton_beam(500, false); // skeleton_beam(R_INTERNAL[0], false); // X skeleton_beam(R_EXTERNAL[1], false); // Y // skeleton_beam(R_INTERNAL[2], false); // Z // skeleton_beam(L_LEG, false); // chamber leg // skeleton_beam(L_LEG - D_BEAM_SKELETON, false); // base support leg // skeleton_beam(R_EXTERNAL[1], false); // base support