// === НАСТРОЙКИ ===
base_length = 60;
base_width = 24;
base_thickness = 8;
hole_spacing = 20;
hole_diameter = 4.2;
rod_diameter = 8.5;
bracket_height = 35;
bracket_thickness = 8;
angle = 60; // угол стойки
// === ОСНОВАНИЕ ===
module base() {
difference() {
cube([base_length, base_width, base_thickness]);
// отверстия крепления
for (x = [-hole_spacing/2, hole_spacing/2]) {
translate([base_length/2 + x, base_width/2, -1])
cylinder(h = base_thickness + 2, d = hole_diameter, $fn=40);
}
}
}
// === СТОЙКА ===
module angled_support() {
rotate([0, angle, 0])
difference() {
cube([bracket_thickness, 20, bracket_height]);
// отверстие под шпильку
translate([bracket_thickness/2, 10, bracket_height - 10])
rotate([90, 0, 0])
cylinder(h = 30, d = rod_diameter, $fn=50);
}
}
// === РЕБРО ЖЁСТКОСТИ ===
module rib() {
polyhedron(
points=[
[0,0,0],
[30,0,0],
[0,0,30],
[0,6,0],
[30,6,0],
[0,6,30]
],
faces=[
[0,1,2],
[3,5,4],
[0,3,4,1],
[1,4,5,2],
[2,5,3,0]
]
);
}
// === СБОРКА ===
union() {
base();
translate([10, 2, base_thickness])
angled_support();
translate([10, 9, base_thickness])
rib();
}