55 lines
1.8 KiB
OpenSCAD
55 lines
1.8 KiB
OpenSCAD
$fn = 20;
|
|
|
|
round_corner_r = 1;
|
|
|
|
length_long = 70;
|
|
length_short = 20;
|
|
door_thickness = 40;
|
|
width = 8; // thickness = 8
|
|
surface_width = width - round_corner_r * 2; // 6
|
|
|
|
hook_pos = 46;
|
|
hook_gap = 12;
|
|
hook_length = 12;
|
|
hook_surface_width = surface_width - round_corner_r * 2; // 4
|
|
|
|
strength_cube_width = width;
|
|
|
|
union() {
|
|
minkowski() {
|
|
union() {
|
|
cube([length_long, surface_width, surface_width]);
|
|
cube([surface_width, door_thickness + surface_width + round_corner_r * 2, surface_width]);
|
|
translate([0, surface_width + round_corner_r * 2 + door_thickness, 0])
|
|
cube([length_short, surface_width, surface_width]);
|
|
}
|
|
sphere(r = round_corner_r);
|
|
}
|
|
|
|
minkowski() {
|
|
union() {
|
|
translate([hook_pos, - hook_gap - round_corner_r, round_corner_r])
|
|
cube([hook_surface_width, hook_gap + width *0.7, hook_surface_width]);
|
|
translate([hook_pos - hook_length, - hook_gap - round_corner_r, round_corner_r])
|
|
cube([hook_length, hook_surface_width, hook_surface_width]);
|
|
translate([hook_pos + surface_width - round_corner_r * 2, -round_corner_r, round_corner_r])
|
|
linear_extrude(height=hook_surface_width)
|
|
polygon([
|
|
[0, 0],
|
|
[0, -12],
|
|
[12, 0],
|
|
]);
|
|
translate([hook_pos - hook_surface_width * 2 - round_corner_r * 2, -round_corner_r, round_corner_r])
|
|
linear_extrude(height=hook_surface_width)
|
|
polygon([
|
|
[12, -12],
|
|
[0, -12],
|
|
[12, 0],
|
|
]);
|
|
|
|
}
|
|
sphere(r = round_corner_r);
|
|
}
|
|
}
|
|
|