// ПАРАМЕТРЫ
d_tube = 255; // диаметр трубы
gap = 0.3; // зазор
bot_x = 35; // низ по X
bot_y = 45; // низ по Y (было 40)
top_x = 15; // верх по X
top_y = 25; // верх по Y
height = 33; // высота
hole = 3; // отверстие
cut = 2; // глубина седла
head_d = 11; // диаметр шляпки самореза
head_h = 1.5; // глубина утопления шляпки
r = d_tube/2 + gap;
difference() {
union() {
hull() {
translate([-bot_x/2, -bot_y/2, 0])
cube([bot_x, bot_y, 0.01]);
translate([-top_x/2, -top_y/2, height])
cube([top_x, top_y, 0.01]);
}
translate([-bot_x/2, -bot_y/2, -cut])
cube([bot_x, bot_y, cut + 0.01]);
}
translate([0, 0, -r]) rotate([0, 90, 0])
cylinder(r=r, h=bot_x*3, center=true, $fn=256);
translate([0, 0, -cut - 5])
cylinder(d=hole, h=height + cut + 10, $fn=32);
translate([0, 0, height - head_h])
cylinder(d=head_d, h=head_h + 0.1, $fn=64);
}