From: daniel watson Date: Mon, 15 Jan 2018 23:01:23 +0000 (-0800) Subject: make dumb 3030 profile X-Git-Url: http://challenge-bot.com/repos/?p=ozzloy%40gmail.com%2F3d-printables;a=commitdiff_plain;h=c34a06d4e8381b7b60f60ab1af5aa433ebc9e470 make dumb 3030 profile --- diff --git a/mk2-haribo-spool-holder.scad b/mk2-haribo-spool-holder.scad new file mode 100644 index 0000000..2a20539 --- /dev/null +++ b/mk2-haribo-spool-holder.scad @@ -0,0 +1,124 @@ +/* GNU AGPLv3 (or later at your option) + see bottom for more license info */ + +/* measurements from misumi's 3030 aluminum extrusion data sheet + https://us.misumi-ec.com/pdf/fa/2012/p2_0545.pdf +*/ + +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; + +$fn = 40; + +intersection(){ + minkowski() { + square(x - major_block_corner_diameter, center=true); + 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]) { + 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]); } } } } } + +/* + This file is part of 3d-printables. + + 3d-printables is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + 3d-printables is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with challenge-bot. If not, see . +*/