opening_width = 8;
inner_block = 12;
-major_block_corner_diameter = 4;
-major_block_corner_radius = major_block_corner_diameter / 2;
-
-corner_block_inner = (30 - 16.5) / 2;
+outer_block = (30 - 16.5) / 2;
wall = 2;
$fn = 40;
module arm_half(){
+ // inner block
square(inner_block / 2);
+
+ // diagonal arms connecting inner block to outer blocks
rotate(45) {
- square([diagonal - major_block_corner_radius, wall / 2]); }
- translate([x / 2 - corner_block_inner, y / 2 - corner_block_inner]) {
- square(corner_block_inner - wall); }
- translate([(opening_width + major_block_corner_diameter) / 2,
- y/2 - wall]) {
- square([(x - opening_width - 2 * major_block_corner_diameter) / 2,
- wall]);
- translate([0, wall/2]){
- circle(wall / 2); } }
- translate([(x - major_block_corner_diameter) / 2,
- (y - major_block_corner_diameter) / 2]) {
- circle(major_block_corner_radius); } }
+ square([diagonal - wall, wall / 2]); }
+
+ // outer block, without the wall part since wall has rounded corner
+ translate([x / 2 - outer_block, y / 2 - outer_block]) {
+ square(outer_block - wall); }
+
+ // outer arms covering the opening
+ translate([(opening_width + wall) / 2, y / 2 - wall]) {
+ square([(x - opening_width - wall) / 2 - wall, wall]); }
+ // rounded part at entrace to inside
+ translate([(opening_width + wall) / 2, (y - wall) / 2]){
+ circle(d = wall); }
+ // rounded part around outside of extrusion
+ translate([x / 2 - wall, y / 2 - wall]) {
+ circle(wall); } }
arms = 4;
for(arm = [0:arms - 1]) {