60 lines
1.3 KiB
OpenSCAD
60 lines
1.3 KiB
OpenSCAD
$fn = 33;
|
|
|
|
height = 40;
|
|
width = 60;
|
|
b = 3;
|
|
triagleheight = 5;
|
|
|
|
M4HoleDiam = 4.4;
|
|
|
|
holedistance = 10;
|
|
|
|
// main call
|
|
angle_bracket();
|
|
|
|
module angle_bracket() {
|
|
render() difference() {
|
|
frame();
|
|
holes();
|
|
}
|
|
}
|
|
|
|
module frame() {
|
|
// x plate
|
|
cube([width, b, height]);
|
|
|
|
// y plate
|
|
translate([b, 0, 0]) rotate([0, 0, 90]) cube([width, b, height]);
|
|
|
|
//bottom triangle
|
|
translate([b, b, 0]) stabilizetriangle();
|
|
// upper triangle
|
|
translate([b, b, height - triagleheight]) stabilizetriangle();
|
|
}
|
|
|
|
module holes() {
|
|
// y holes
|
|
translate([0, holedistance, height - holedistance]) YM3Hole();
|
|
translate([0, width - holedistance, height - holedistance]) YM3Hole();
|
|
translate([0, holedistance, holedistance]) YM3Hole();
|
|
translate([0, width - holedistance, holedistance]) YM3Hole();
|
|
|
|
|
|
translate([holedistance, 0, height - holedistance]) XM3Hole();
|
|
translate([width - holedistance, 0, height - holedistance]) XM3Hole();
|
|
translate([holedistance, 0, holedistance]) XM3Hole();
|
|
translate([width - holedistance, 0, holedistance]) XM3Hole();
|
|
}
|
|
|
|
module stabilizetriangle() {
|
|
linear_extrude(triagleheight) polygon([[0, 0], [0, width - b], [width - b, 0]]);
|
|
}
|
|
|
|
module YM3Hole() {
|
|
rotate([0, 90, 0])cylinder(h = b, d = M4HoleDiam);
|
|
}
|
|
|
|
module XM3Hole() {
|
|
rotate([270, 0, 0])cylinder(h = b, d = M4HoleDiam);
|
|
}
|