Merge pull request #58 from AxTheB/master
[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 small();
10 %translate([40, 0, 0]) rotate([0, 180, 180]) big(); //this should touch, teeth should mesh
11
12 gear_width=14;
13 teeth_small=13;
14 teeth_big=37;
15 teeth_twist=320;
16 circular_pitch=288;
17
18 module small(){
19 difference() {
20 union() {
21 mirror([ 0, 0, 1 ]) gear (number_of_teeth=teeth_small,
22 circular_pitch=circular_pitch,
23 gear_thickness = gear_width/2,
24 rim_thickness = gear_width/2,
25 hub_thickness = 0,
26 hub_diameter = 18,
27 bore_diameter = 5.25,
28 circles=0,
29 twist = teeth_twist/teeth_small);
30 gear (number_of_teeth=teeth_small,
31 circular_pitch=circular_pitch,
32 gear_thickness = gear_width/2,
33 rim_thickness = gear_width/2,
34 hub_thickness = 0,
35 hub_diameter = 18,
36 bore_diameter = 5.25,
37 circles=0,
38 twist = teeth_twist/teeth_small);
39 //hub. Two part to make it thicker
40 translate([0, 0, gear_width / 2]) {
41 cylinder(r1=8.5, r2=11, h=3);
42 }
43 translate([0, 0, gear_width / 2 + 3]) {
44 cylinder(r=11, h=6);
45 }
46 }
47 //bore
48 translate([0, 0, -gear_width / 2 + 0.1]) cylinder(r=5.25 / 2, h=gear_width + 9.2);
49
50 translate([0, 0, gear_width / 2 + 4.5]) rotate([0, 90, 0]) {
51 cylinder(r=m3_diameter / 2, h=20);
52 translate([0, 0, 5]) nut(m3_nut_diameter, 2.5, false);
53 translate([-10, -m3_nut_diameter / 2, 5]) cube([10, m3_nut_diameter, 2.5]);
54 }
55 }
56 }
57
58 hole_size=6.6;
59
60 module big(){
61 difference() {
62 union(){
63 mirror([0, 0, 1]) gear (number_of_teeth=teeth_big,
64 circular_pitch=circular_pitch,
65 gear_thickness = gear_width/2,
66 rim_thickness = gear_width/2,
67 hub_thickness = 0,
68 hub_diameter = 18,
69 bore_diameter = 18,
70 circles=0,
71 twist = teeth_twist/teeth_big);
72 gear (number_of_teeth=teeth_big,
73 circular_pitch=circular_pitch,
74 gear_thickness = 0,
75 rim_thickness = gear_width/2,
76 hub_thickness = 0,
77 hub_diameter = 18,
78 bore_diameter = 18,
79 circles=0,
80 twist = teeth_twist/teeth_big);
81 }
82 //reduce mass
83 translate([0, 0, layer_height * 9 - gear_width / 2]) rotate([0, 0, 90]) cylinder(r1=23.4, r2=23.4, h=gear_width - layer_height * 9 + 1, $fn=18);
84 //bore
85 translate([0, 0, -gear_width / 2 - 0.1]) cylinder(r=m8_diameter / 2, h=gear_width + 9.2);
86 for (hole=[0:5]) {
87 rotate([0, 0, 360 / 6 * hole + 30]) translate([17,0,-10]) rotate(12) {
88 cylinder(r=hole_size, h=20);
89 cube([hole_size, hole_size, 20]);
90 }
91 }
92
93 }
94 //threaded bolt trap
95 difference(){
96 translate([0, 0, -gear_width / 2]) cylinder(r=10, h=4 + layer_height * 9);
97 translate([0, 0, -gear_width / 2 + layer_height * 6]) nut(13.3, h=10);
98 translate([0, 0, -gear_width / 2 - 0.1]) cylinder(r=m8_diameter / 2, h=gear_width + 9.2);
99 }
100
101 }