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 | |
8 | x = 30; |
9 | y = 30; |
10 | diagonal = sqrt(pow(30/2, 2) + pow(30/2, 2)); |
11 | opening_width = 8; |
c34a06d4 |
12 | inner_block = 12; |
c34a06d4 |
13 | |
14 | major_block_corner_diameter = 4; |
15 | major_block_corner_radius = major_block_corner_diameter / 2; |
c34a06d4 |
16 | |
17 | corner_block_inner = (30 - 16.5) / 2; |
18 | wall = 2; |
19 | |
20 | $fn = 40; |
21 | |
22 | intersection(){ |
23 | minkowski() { |
24 | square(x - major_block_corner_diameter, center=true); |
25 | circle(major_block_corner_radius); } |
26 | |
27 | union(){ |
8b5539e8 |
28 | arms = 4; |
29 | for(arm = [0:arms - 1]) { |
30 | rotate(arm * 360 / arms) { |
c34a06d4 |
31 | square(inner_block / 2); |
32 | rotate(45) { |
33 | translate([diagonal/2, 0]) { |
34 | square([diagonal, wall], center=true); } } |
35 | translate([x / 2-corner_block_inner, y / 2 - corner_block_inner]) { |
36 | square([corner_block_inner, corner_block_inner]); } |
37 | translate([opening_width / 2, y/2 - wall]) { |
8b5539e8 |
38 | square([(x - opening_width) / 2, wall]); } |
39 | translate([x / 2 - wall, opening_width / 2]) { |
40 | square([wall, (y - opening_width) / 2]); } } } } } |
c34a06d4 |
41 | |
42 | /* |
43 | This file is part of 3d-printables. |
44 | |
45 | 3d-printables is free software: you can redistribute it and/or modify |
46 | it under the terms of the GNU Affero General Public License as published by |
47 | the Free Software Foundation, either version 3 of the License, or |
48 | (at your option) any later version. |
49 | |
50 | 3d-printables is distributed in the hope that it will be useful, |
51 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
52 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
53 | GNU Affero General Public License for more details. |
54 | |
55 | You should have received a copy of the GNU Affero General Public License |
56 | along with challenge-bot. If not, see <http://www.gnu.org/licenses/>. |
57 | */ |