From 2a9bfa8e9ed722a1d51403d4da6b7626e8ebb904 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Wed, 26 Mar 2014 09:33:27 +0000 Subject: [PATCH] fix ring gear; carrier pending --- gear-v3.scad | 84 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 48 insertions(+), 36 deletions(-) diff --git a/gear-v3.scad b/gear-v3.scad index c2716a7..9d45bdd 100644 --- a/gear-v3.scad +++ b/gear-v3.scad @@ -93,9 +93,9 @@ ring_gear_1u_32t(); satellites_32t(); translate([0, 0, -8]) - color([0.5, 1, 1, 1]) + color([0.5, 1, 1, 1])*/ carrier_32t_simpler(); -translate([0, 0, 16]) +/*translate([0, 0, 16]) rotate([0, 180, 0]) color([0.5, 1, 0.5, 1]) sun_drive_32t_simpler();*/ @@ -114,6 +114,7 @@ translate([0, 0, 16]) /* Standard-16-teeth-like clutch gear */ +//clutchTeeth(); // has surface problem //clutchGear(32); /* Gear with clutch fully offset to one side */ @@ -132,7 +133,7 @@ translate([0, 0, 16]) /* Half-stud parametric gear with some holes */ -myGear(32); +//myGear(24); /* Generic gear with involute teeth */ @@ -244,16 +245,16 @@ module carrier_32t_simpler() { cylinder($fn=100, h=8, r=root-0.5); } difference() { - translate([0, 0, 0.8]) cylinder($fn=32*2, h=7.2, r=root); + translate([0, 0, 0.8-0.1]) cylinder($fn=32*2, h=7.2+0.1, r=root); translate([0, 0, -0.1]) cylinder($fn=32*2, h=7.1, r=root-1); } cylinder($fn=100, h=8, r=3.5); difference() { union() { - translate([-8, 0, 0.1]) cylinder($fn=32*2, h=8-0.2, r=3.5); - translate([0, -8, 0.1]) cylinder($fn=32*2, h=8-0.2, r=3.5); - translate([0, 8, 0.1]) cylinder($fn=32*2, h=8-0.2, r=3.5); - translate([8, 0, 0.1]) cylinder($fn=32*2, h=8-0.2, r=3.5); + translate([-8, 0, 0.1]) cylinder($fn=32, h=8-0.2, r=3.5); + translate([0, -8, 0.1]) cylinder($fn=32, h=8-0.2, r=3.5); + translate([0, 8, 0.1]) cylinder($fn=32, h=8-0.2, r=3.5); + translate([8, 0, 0.1]) cylinder($fn=32, h=8-0.2, r=3.5); translate([-0.5, -root+0.5, 0]) cube(size=[1, root*2-1, 8]); rotate([0, 0, 90]) translate([-0.5, -root+0.5, 0]) cube(size=[1, root*2-1, 8]); } @@ -317,8 +318,8 @@ module carrier_32t() { module ring_gear_1u_32t() { difference() { union() { - translate([0, 0, 2]) gear(mm_per_tooth=3.06, number_of_teeth=32, thickness=4, clearance=-0.1); - translate([0, 0, 0.8]) cylinder($fn=100, h=6.4, r=3.06*(32/2-1)/3.1415926); + translate([0, 0, 2]) gear_teeth(mm_per_tooth=3.06, number_of_teeth=32, thickness=4, clearance=-0.1); + translate([0, 0, 0.8]) cylinder($fn=32*2, h=6.4, r=3.06*(32/2-1)/3.1415926); // notches, top translate([-12.8, 0, 6]) difference() { sphere($fn=30, r=2, center=true); @@ -346,8 +347,8 @@ module ring_gear_1u_32t() { translate([0, 0, 0.9]) cube(size=[6, 6, 4], center=true); } } - translate([0, 0, 1.8]) gear(mm_per_tooth=3.1415926, number_of_teeth=24, thickness=4.4, clearance=-0.1); - translate([0, 0, -0.1]) cylinder($fn=100, h=8.2, r=(24/2-1)); + translate([0, 0, 1.8]) gear_teeth(mm_per_tooth=3.1415926, number_of_teeth=24, thickness=4.4, clearance=-0.1); + translate([0, 0, -0.1]) cylinder($fn=32*2, h=8.2, r=(24/2-1)); // translate([0, 0, -0.1]) cylinder($fn=100, h=2.1, r=(24/2-1)); // translate([0, 0, 6]) cylinder($fn=100, h=2.1, r=(24/2-1)); } @@ -580,7 +581,7 @@ module axleCut(x, y, z, height) { roundedRect([hole_radius * 2, axle_gap, height], .2); translate([x - axle_gap_cut/2, y - hole_radius, z]) roundedRect([axle_gap_cut, hole_radius * 2, height], .2); - translate([x-0.25, y-5, z]) cube(size=[0.5, 10, height]); + translate([x-0.25, y-5, z]) cube(size=[0.5, 10, height]); } } @@ -591,15 +592,15 @@ module clutchGear(number_of_teeth) { difference() { union() { gear(thickness=3.7, mm_per_tooth=3.05, number_of_teeth=number_of_teeth, clearance = -0.1); - cylinder($fn=100, h=5.8, r=6.8); - translate([0, 0, -2]) cylinder($fn=100, h=3, r=3.7); + translate([0, 0, 1]) cylinder($fn=100, h=5.8-1, r=6.8); + translate([0, 0, -2]) cylinder($fn=number_of_teeth*2, h=2+1, r=3.7); } difference() { - translate([0, 0, 1.8]) cylinder($fn=100, h=4.1, r=5.8); - translate([0, 0, 1.8]) cylinder($fn=100, h=4.1, r=3.3); + translate([0, 0, 1.8]) cylinder($fn=number_of_teeth*2, h=4.1, r=5.8); + translate([0, 0, 1.8]) cylinder($fn=number_of_teeth*2, h=4.1, r=3.3); } - translate([0, 0, -3]) cylinder($fn=100, h=10, r=2.5); - translate([0, 0, -2.2]) cylinder($fn=100, h=1, r=3.1); + translate([0, 0, -3]) cylinder($fn=number_of_teeth*2, h=10, r=2.5); + translate([0, 0, -2.2]) cylinder($fn=number_of_teeth*2, h=1, r=3.1); } clutchTeeth(); rotate([0, 0, 90]) clutchTeeth(); @@ -610,23 +611,34 @@ module clutchGear(number_of_teeth) { // Clutch: 0.7 from the top, 1.5 width, 1 thickness module clutchTeeth() { - polyhedron(points=[ - [5.8, -0.8, 1.8], // 5.8+0.1, 1.8-0.1, чтобы утопить - [5.8, 0.8, 1.8], - [4.8, -0.8, 1.8], - [4.8, 0.8, 1.8], - [5.8, 0, 5], - [4.8, 0, 5], - ], triangles=[ - [0, 1, 2], - [2, 1, 3], - [0, 4, 1], - [0, 2, 4], - [4, 2, 5], - [3, 1, 4], - [4, 5, 3], - [2, 3, 5], - ]); + polyhedron( + points=[ + [5.8, -0.8, 1.8], // 5.8+0.1, 1.8-0.1, чтобы утопить + [5.8, 0.8, 1.8], + [4.8, -0.8, 1.8], + [4.8, 0.8, 1.8], + [5.8, 0, 5], + [4.8, 0, 5], + ], + faces=[ + [0, 1, 2], + [2, 1, 3], + [0, 4, 1], + [0, 2, 4], + [4, 2, 5], + [3, 1, 4], + [4, 5, 3], + [2, 3, 5], + ] + ); +/* translate([5.8, 0, 1.8]) + rotate([0, -90, 0]) + linear_extrude(height = 1, center = false) + polygon([ + [0, -0.8], // 5.8+0.1, 1.8-0.1, чтобы утопить + [0, 0.8], + [3.2, 0], + ]);*/ } module myGear(n_teeth) {