From c34a06d4e8381b7b60f60ab1af5aa433ebc9e470 Mon Sep 17 00:00:00 2001 From: daniel watson Date: Mon, 15 Jan 2018 15:01:23 -0800 Subject: [PATCH] make dumb 3030 profile --- mk2-haribo-spool-holder.scad | 124 +++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 mk2-haribo-spool-holder.scad 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 . +*/ -- 2.30.2