fix ring gear; carrier pending

master
Vitaliy Filippov 2014-03-26 09:33:27 +00:00
parent 349dbaecb6
commit 2a9bfa8e9e
1 changed files with 48 additions and 36 deletions

View File

@ -93,9 +93,9 @@
ring_gear_1u_32t(); ring_gear_1u_32t();
satellites_32t(); satellites_32t();
translate([0, 0, -8]) translate([0, 0, -8])
color([0.5, 1, 1, 1]) color([0.5, 1, 1, 1])*/
carrier_32t_simpler(); carrier_32t_simpler();
translate([0, 0, 16]) /*translate([0, 0, 16])
rotate([0, 180, 0]) rotate([0, 180, 0])
color([0.5, 1, 0.5, 1]) color([0.5, 1, 0.5, 1])
sun_drive_32t_simpler();*/ sun_drive_32t_simpler();*/
@ -114,6 +114,7 @@ translate([0, 0, 16])
/* Standard-16-teeth-like clutch gear */ /* Standard-16-teeth-like clutch gear */
//clutchTeeth(); // has surface problem
//clutchGear(32); //clutchGear(32);
/* Gear with clutch fully offset to one side */ /* Gear with clutch fully offset to one side */
@ -132,7 +133,7 @@ translate([0, 0, 16])
/* Half-stud parametric gear with some holes */ /* Half-stud parametric gear with some holes */
myGear(32); //myGear(24);
/* Generic gear with involute teeth */ /* Generic gear with involute teeth */
@ -244,16 +245,16 @@ module carrier_32t_simpler() {
cylinder($fn=100, h=8, r=root-0.5); cylinder($fn=100, h=8, r=root-0.5);
} }
difference() { 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); translate([0, 0, -0.1]) cylinder($fn=32*2, h=7.1, r=root-1);
} }
cylinder($fn=100, h=8, r=3.5); cylinder($fn=100, h=8, r=3.5);
difference() { difference() {
union() { union() {
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*2, 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*2, 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*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.5, -root+0.5, 0]) cube(size=[1, root*2-1, 8]); 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]); 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() { module ring_gear_1u_32t() {
difference() { difference() {
union() { union() {
translate([0, 0, 2]) gear(mm_per_tooth=3.06, number_of_teeth=32, thickness=4, clearance=-0.1); 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=100, h=6.4, r=3.06*(32/2-1)/3.1415926); translate([0, 0, 0.8]) cylinder($fn=32*2, h=6.4, r=3.06*(32/2-1)/3.1415926);
// notches, top // notches, top
translate([-12.8, 0, 6]) difference() { translate([-12.8, 0, 6]) difference() {
sphere($fn=30, r=2, center=true); 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, 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, 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=100, h=8.2, r=(24/2-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, -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)); // 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); roundedRect([hole_radius * 2, axle_gap, height], .2);
translate([x - axle_gap_cut/2, y - hole_radius, z]) translate([x - axle_gap_cut/2, y - hole_radius, z])
roundedRect([axle_gap_cut, hole_radius * 2, height], .2); 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() { difference() {
union() { union() {
gear(thickness=3.7, mm_per_tooth=3.05, number_of_teeth=number_of_teeth, clearance = -0.1); 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, 1]) cylinder($fn=100, h=5.8-1, r=6.8);
translate([0, 0, -2]) cylinder($fn=100, h=3, r=3.7); translate([0, 0, -2]) cylinder($fn=number_of_teeth*2, h=2+1, r=3.7);
} }
difference() { difference() {
translate([0, 0, 1.8]) cylinder($fn=100, h=4.1, r=5.8); translate([0, 0, 1.8]) cylinder($fn=number_of_teeth*2, 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=3.3);
} }
translate([0, 0, -3]) cylinder($fn=100, h=10, r=2.5); translate([0, 0, -3]) cylinder($fn=number_of_teeth*2, h=10, r=2.5);
translate([0, 0, -2.2]) cylinder($fn=100, h=1, r=3.1); translate([0, 0, -2.2]) cylinder($fn=number_of_teeth*2, h=1, r=3.1);
} }
clutchTeeth(); clutchTeeth();
rotate([0, 0, 90]) 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 // Clutch: 0.7 from the top, 1.5 width, 1 thickness
module clutchTeeth() { module clutchTeeth() {
polyhedron(points=[ polyhedron(
[5.8, -0.8, 1.8], // 5.8+0.1, 1.8-0.1, чтобы утопить points=[
[5.8, 0.8, 1.8], [5.8, -0.8, 1.8], // 5.8+0.1, 1.8-0.1, чтобы утопить
[4.8, -0.8, 1.8], [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.8, 1.8],
[4.8, 0, 5], [5.8, 0, 5],
], triangles=[ [4.8, 0, 5],
[0, 1, 2], ],
[2, 1, 3], faces=[
[0, 4, 1], [0, 1, 2],
[0, 2, 4], [2, 1, 3],
[4, 2, 5], [0, 4, 1],
[3, 1, 4], [0, 2, 4],
[4, 5, 3], [4, 2, 5],
[2, 3, 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) { module myGear(n_teeth) {