1
+ res = 80 ;
2
+
3
+ gear_diam = 11 ;
4
+ gear_thick = 2 ;
5
+
6
+ gm_width = 16 ;
7
+ gm_length = 6 ;
8
+
9
+ shovel_thick = 0.03125 ;
10
+ top_thick = 0.25 ;
11
+ side_thick = 0.25 ;
12
+ ef_gear_thick = gear_thick+ 0.125 ; // Extra thickness
13
+
14
+ shovel_length = gm_length+ side_thick;
15
+ shovel_width = gm_width+ 2 * side_thick;
16
+
17
+ module shovel_2d() {
18
+ translate ([0 ,- shovel_width/2 ]) square([shovel_length, shovel_width]);
19
+ }
20
+ module shovel() {
21
+ color ([0.4 ,0.4 ,0.4 ]) linear_extrude(height= shovel_thick) shovel_2d();
22
+ }
23
+
24
+ module top_2d() {
25
+ translate ([0 ,- shovel_width/2 ]) square([shovel_length, shovel_width]);
26
+ }
27
+ module top() {
28
+ color ([0.75 ,0.65 ,0.56 ]) linear_extrude(height= top_thick) top_2d();
29
+ }
30
+
31
+ module back_2d() {
32
+ square([ef_gear_thick, shovel_width], center= true );
33
+ }
34
+ module back() {
35
+ color ([0.75 ,0.65 ,0.56 ]) {
36
+ rotate ([0 ,- 90 ,0 ]) translate ([ef_gear_thick/2 ,0 ,- side_thick])
37
+ linear_extrude(height= side_thick) back_2d();
38
+ }
39
+ }
40
+
41
+ module side_2d() {
42
+ square([gm_length,ef_gear_thick]);
43
+ }
44
+ module l_side() {
45
+ color ([0.75 ,0.65 ,0.56 ]) {
46
+ rotate ([90 ,0 ]) translate ([0 ,0 ,- side_thick])
47
+ linear_extrude(height= side_thick) side_2d();
48
+ }
49
+ }
50
+ module r_side() {
51
+ color ([0.75 ,0.65 ,0.56 ]) {
52
+ rotate ([90 ,0 ])
53
+ linear_extrude(height= side_thick) side_2d();
54
+ }
55
+ }
56
+
57
+ module gearmech() {
58
+ shovel();
59
+
60
+ translate ([side_thick,gm_width/2 ,shovel_thick]) l_side();
61
+ translate ([side_thick,- gm_width/2 ,shovel_thick]) r_side();
62
+
63
+ translate ([0 ,0 ,shovel_thick]) back();
64
+
65
+ translate ([0 ,0 ,shovel_thick+ ef_gear_thick]) top();
66
+ }
67
+ gearmech();
0 commit comments