Skip to content

Commit ce77437

Browse files
committed
3d printed spool
1 parent f1e0ee2 commit ce77437

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

V2/Hardware/structure/spool-3dp.scad

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
// Alphabets New Spool
2+
$fn=(50);
3+
4+
// Parameters
5+
ncards=64; // number of cards
6+
sdiam=85; // diameter of the spool mm
7+
e=2; // 3d printed part thickness mm
8+
9+
// Variables
10+
srad=sdiam/2;
11+
angle=360/ncards; // angle of rotation
12+
13+
// define copy_mirror function
14+
module copy_mirror(vec=[0,1,0])
15+
{
16+
children();
17+
mirror(vec) children();
18+
}
19+
20+
// Define axis motor
21+
module axismotor() {
22+
intersection() {square(size = [3, 6], center = true); circle(2.5);}
23+
}
24+
25+
// Define axis support
26+
module axis() {
27+
circle(1.5);
28+
}
29+
30+
// define aro
31+
module aro() {
32+
difference(){
33+
difference() { circle(srad); circle(srad-5);}
34+
for (a=[0:angle:360]){
35+
rotate(a)
36+
translate([srad-2.5,0,0]) circle(1.5);
37+
}
38+
}
39+
}
40+
41+
// CODE STARTS HERE
42+
43+
linear_extrude(height = e) {
44+
union(){
45+
aro();
46+
difference() {
47+
intersection() {
48+
union() {
49+
translate ([srad,0,0]) aro();
50+
translate ([-srad,0,0]) aro();
51+
circle (6.5);
52+
}
53+
circle(srad-5);
54+
}
55+
56+
axismotor();
57+
}
58+
}
59+
}
60+
61+
translate ([sdiam+5,0,0])
62+
union() {
63+
linear_extrude(height = 5) {circle(1.5);}
64+
linear_extrude(height = e) {
65+
union(){
66+
aro();
67+
intersection() {
68+
union() {
69+
translate ([srad,0,0]) aro();
70+
translate ([-srad,0,0]) aro();
71+
circle (6.5);
72+
}
73+
circle(srad-5);
74+
}
75+
76+
}
77+
}
78+
}

0 commit comments

Comments
 (0)