Merge branch 'master' of github.com:josefprusa/Prusa3
[clinton/prusa3.git] / box_frame / extras / gear-small.scad
1 // Herringbone extruder gears
2 // GNU GPL v3
3 // Václav 'ax' Hůla <axtheb@gmail.com>
4 // Josef Průša <josefprusa@me.com>
5
6 include <../configuration.scad>
7 use <inc/parametric_involute_gear_v5.0.scad>
8
9 gear_distance = 40;
10
11 small();
12 %translate([gear_distance, 0, 0]) rotate([0, 180, 45]) big(); //this should touch, teeth should mesh
13
14 gear_width=10;
15 teeth_small=17;
16 teeth_big=60;
17 teeth_twist=400;
18 circular_pitch = (gear_distance * 180 * 2) / (teeth_small + teeth_big);
19 echo (circular_pitch);
20
21 module small(){
22 difference() {
23 union() {
24 mirror([ 0, 0, 1 ]) gear (number_of_teeth=teeth_small,
25 circular_pitch=circular_pitch,
26 gear_thickness = gear_width/2,
27 rim_thickness = gear_width/2,
28 hub_thickness = 0,
29 hub_diameter = 18,
30 bore_diameter = 5.25,
31 circles=0,
32 twist = teeth_twist/teeth_small);
33 gear (number_of_teeth=teeth_small,
34 circular_pitch=circular_pitch,
35 gear_thickness = gear_width/2,
36 rim_thickness = gear_width,
37 hub_thickness = 0,
38 hub_diameter = 18,
39 bore_diameter = 5.25,
40 circles=0,
41 twist = teeth_twist/teeth_small*2);
42 //hub. Two part to make it thicker
43 translate([0, 0, gear_width / 2 + 0.5]) {
44 cylinder(r1=8, r2=11, h=2.5);
45 }
46 translate([0, 0, gear_width / 2 + 3]) {
47 cylinder(r=11, h=6);
48 }
49 }
50 //bore
51 translate([0, 0, -gear_width / 2 + 0.1]) cylinder(r=5.25 / 2, h=gear_width + 9.2);
52
53 translate([0, 0, gear_width / 2 + 4.5]) rotate([0, 90, 0]) {
54 cylinder(r=m3_diameter / 2, h=20);
55 translate([0, 0, 5]) nut(m3_nut_diameter, 2.5, false);
56 translate([-10, -m3_nut_diameter / 2, 5]) cube([10, m3_nut_diameter, 2.5]);
57 }
58 }
59 }
60
61 hole_size=6.6;
62
63 module big(){
64 difference() {
65 union(){
66 mirror([0, 0, 1]) gear (number_of_teeth=teeth_big,
67 circular_pitch=circular_pitch,
68 gear_thickness = gear_width/2,
69 rim_thickness = gear_width/2,
70 hub_thickness = 0,
71 hub_diameter = 0,
72 bore_diameter = 0,
73 circles=0,
74 twist = teeth_twist/teeth_big);
75 gear (number_of_teeth=teeth_big,
76 circular_pitch=circular_pitch,
77 gear_thickness = gear_width/2,
78 rim_thickness = gear_width/2,
79 hub_thickness = 0,
80 hub_diameter = 18,
81 bore_diameter = 18,
82 circles=0,
83 twist = teeth_twist/teeth_big);
84 }
85 //reduce mass
86 translate([0, 0, 3 - gear_width / 2]) rotate([0, 0, 90])
87 cylinder(r1=24, r2=28, h=gear_width - layer_height * 9 + 1, $fn=36);
88 //bore
89 translate([0, 0, -gear_width / 2 - 0.1]) cylinder(r=m8_diameter / 2, h=gear_width + 9.2);
90 for (hole=[0:5]) {
91 rotate([0, 0, 360 / 6 * hole + 30]) translate([17,0,-10]) rotate(12) {
92 cylinder(r=hole_size, h=20);
93 cube([hole_size, hole_size, 20]);
94 }
95 }
96
97 }
98 //threaded bolt trap
99 difference(){
100 translate([0, 0, -gear_width / 2]) cylinder(r=10, h=4 + layer_height * 9);
101 translate([0, 0, -gear_width / 2 + layer_height * 6]) nut(13.3, h=10);
102 translate([0, 0, -gear_width / 2 - 0.1]) cylinder(r=m8_diameter / 2, h=gear_width + 9.2);
103 }
104
105 }