From: daniel watson Date: Tue, 16 Jan 2018 08:08:45 +0000 (-0800) Subject: construct arm half without intersection or minkowski X-Git-Url: http://challenge-bot.com/repos/?p=ozzloy%40gmail.com%2F3d-printables;a=commitdiff_plain;h=d5a6f87185ae26d281edc73e4495b31e5511a16a construct arm half without intersection or minkowski --- diff --git a/mk2-haribo-spool-holder.scad b/mk2-haribo-spool-holder.scad index b7ca78b..1d5fda5 100644 --- a/mk2-haribo-spool-holder.scad +++ b/mk2-haribo-spool-holder.scad @@ -19,25 +19,27 @@ wall = 2; $fn = 40; -intersection(){ - minkowski() { - square(x - major_block_corner_diameter, center=true); - circle(major_block_corner_radius); } - - union(){ - arms = 4; - for(arm = [0:arms - 1]) { - rotate(arm * 360 / arms) { - 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]); } - translate([x / 2 - wall, opening_width / 2]) { - square([wall, (y - opening_width) / 2]); } } } } } +module arm_half(){ + square(inner_block / 2); + 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); } } + +arms = 4; +for(arm = [0:arms - 1]) { + rotate(arm * 360 / arms) { + arm_half(); + mirror(){ arm_half(); } } } /* This file is part of 3d-printables.