make 3030 sleeve to test fit
[ozzloy@gmail.com/3d-printables] / mk2-haribo-spool-holder.scad
CommitLineData
c34a06d4 1/* GNU AGPLv3 (or later at your option)
2 see bottom for more license info */
3
4/* measurements from misumi's 3030 aluminum extrusion data sheet
5 https://us.misumi-ec.com/pdf/fa/2012/p2_0545.pdf
6*/
7
8x = 30;
9y = 30;
10diagonal = sqrt(pow(30/2, 2) + pow(30/2, 2));
11opening_width = 8;
c34a06d4 12inner_block = 12;
c34a06d4 13
968d427c 14outer_block = (30 - 16.5) / 2;
c34a06d4 15wall = 2;
16
17$fn = 40;
18
d5a6f871 19module arm_half(){
968d427c 20 // inner block
d5a6f871 21 square(inner_block / 2);
968d427c 22
23 // diagonal arms connecting inner block to outer blocks
d5a6f871 24 rotate(45) {
2b527530 25 square([diagonal - wall, wall / 2]); }
968d427c 26
27 // outer block, without the wall part since wall has rounded corner
28 translate([x / 2 - outer_block, y / 2 - outer_block]) {
29 square(outer_block - wall); }
30
31 // outer arms covering the opening
32 translate([(opening_width + wall) / 2, y / 2 - wall]) {
33 square([(x - opening_width - wall) / 2 - wall, wall]); }
34 // rounded part at entrace to inside
35 translate([(opening_width + wall) / 2, (y - wall) / 2]){
36 circle(d = wall); }
37 // rounded part around outside of extrusion
2b527530 38 translate([x / 2 - wall, y / 2 - wall]) {
39 circle(wall); } }
d5a6f871 40
7a5526cd 41module 3030_profile(){
42 arms = 4;
43 for(arm = [0:arms - 1]) {
44 rotate(arm * 360 / arms) {
45 arm_half();
46 mirror(){ arm_half(); } } } }
47
48linear_extrude(height = 10){
49 difference(){
50 minkowski(){
51 square(30, true);
52 circle(10);}
53 minkowski(){
54 3030_profile();
55 circle(0.3);} } }
c34a06d4 56
57/*
58 This file is part of 3d-printables.
59
60 3d-printables is free software: you can redistribute it and/or modify
61 it under the terms of the GNU Affero General Public License as published by
62 the Free Software Foundation, either version 3 of the License, or
63 (at your option) any later version.
64
65 3d-printables is distributed in the hope that it will be useful,
66 but WITHOUT ANY WARRANTY; without even the implied warranty of
67 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
68 GNU Affero General Public License for more details.
69
70 You should have received a copy of the GNU Affero General Public License
71 along with challenge-bot. If not, see <http://www.gnu.org/licenses/>.
72*/