From 8b5539e8e94b19d96a0fe1414f3585d99e7db5a7 Mon Sep 17 00:00:00 2001 From: daniel watson Date: Mon, 15 Jan 2018 23:40:54 -0800 Subject: [PATCH] roll up for loop to express 3030 in less code --- mk2-haribo-spool-holder.scad | 79 +++--------------------------------- 1 file changed, 6 insertions(+), 73 deletions(-) diff --git a/mk2-haribo-spool-holder.scad b/mk2-haribo-spool-holder.scad index 2a20539..b7ca78b 100644 --- a/mk2-haribo-spool-holder.scad +++ b/mk2-haribo-spool-holder.scad @@ -9,14 +9,10 @@ x = 30; y = 30; diagonal = sqrt(pow(30/2, 2) + pow(30/2, 2)); opening_width = 8; -opening_depth = 9; -slot_major_width = 16.5; inner_block = 12; -inner_hole = 6.8 / 2; major_block_corner_diameter = 4; major_block_corner_radius = major_block_corner_diameter / 2; -major_block = 30 - major_block_corner_diameter; corner_block_inner = (30 - 16.5) / 2; wall = 2; @@ -29,74 +25,9 @@ intersection(){ circle(major_block_corner_radius); } union(){ - square(inner_block / 2); - rotate(45) translate([diagonal/2, 0]) square([diagonal, wall], center=true); - translate([x / 2-corner_block_inner, y / 2 - corner_block_inner]) { - square([corner_block_inner, corner_block_inner]); } - translate([opening_width / 2, y/2 - wall]) { - square([(x - opening_width) / 2, wall]); } - - mirror([1, -1]) { - square(inner_block / 2); - rotate(45) { - translate([diagonal/2, 0]) { - square([diagonal, wall], center=true); } } - translate([x / 2-corner_block_inner, y / 2 - corner_block_inner]) { - square([corner_block_inner, corner_block_inner]); } - translate([opening_width / 2, y/2 - wall]) { - square([(x - opening_width) / 2, wall]); } } - - rotate(90){ - square(inner_block / 2); - rotate(45) { - translate([diagonal/2, 0]) { - square([diagonal, wall], center=true); } } - translate([x / 2-corner_block_inner, y / 2 - corner_block_inner]) { - square([corner_block_inner, corner_block_inner]); } - translate([opening_width / 2, y/2 - wall]) { - square([(x - opening_width) / 2, wall]); } - - mirror([1, -1]) { - square(inner_block / 2); - rotate(45) { - translate([diagonal/2, 0]) { - square([diagonal, wall], center=true); } } - translate([x / 2-corner_block_inner, y / 2 - corner_block_inner]) { - square([corner_block_inner, corner_block_inner]); } - translate([opening_width / 2, y/2 - wall]) { - square([(x - opening_width) / 2, wall]); } } } - - rotate(180){ - square(inner_block / 2); - rotate(45) { - translate([diagonal/2, 0]) { - square([diagonal, wall], center=true); } } - translate([x / 2-corner_block_inner, y / 2 - corner_block_inner]) { - square([corner_block_inner, corner_block_inner]); } - translate([opening_width / 2, y/2 - wall]) { - square([(x - opening_width) / 2, wall]); } - - mirror([1, -1]) { - square(inner_block / 2); - rotate(45) { - translate([diagonal/2, 0]) { - square([diagonal, wall], center=true); } } - translate([x / 2-corner_block_inner, y / 2 - corner_block_inner]) { - square([corner_block_inner, corner_block_inner]); } - translate([opening_width / 2, y/2 - wall]) { - square([(x - opening_width) / 2, wall]); } } } - - rotate(270){ - square(inner_block / 2); - rotate(45) { - translate([diagonal/2, 0]) { - square([diagonal, wall], center=true); } } - translate([x / 2-corner_block_inner, y / 2 - corner_block_inner]) { - square([corner_block_inner, corner_block_inner]); } - translate([opening_width / 2, y/2 - wall]) { - square([(x - opening_width) / 2, wall]); } - - mirror([1, -1]) { + arms = 4; + for(arm = [0:arms - 1]) { + rotate(arm * 360 / arms) { square(inner_block / 2); rotate(45) { translate([diagonal/2, 0]) { @@ -104,7 +35,9 @@ intersection(){ translate([x / 2-corner_block_inner, y / 2 - corner_block_inner]) { square([corner_block_inner, corner_block_inner]); } translate([opening_width / 2, y/2 - wall]) { - square([(x - opening_width) / 2, wall]); } } } } } + square([(x - opening_width) / 2, wall]); } + translate([x / 2 - wall, opening_width / 2]) { + square([wall, (y - opening_width) / 2]); } } } } } /* This file is part of 3d-printables. -- 2.30.2