49 lines
2.3 KiB
OpenSCAD
49 lines
2.3 KiB
OpenSCAD
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 |