add offset gears
parent
07534e14b8
commit
7cf07600a0
50
gear-v3.scad
50
gear-v3.scad
|
@ -77,19 +77,23 @@ translate([0, 0, 16])
|
|||
|
||||
//clutchGear(32);
|
||||
|
||||
/* Gear with clutch fully offset to one side - useful for compact gearbox */
|
||||
/* Gear with clutch fully offset to one side - useful for compact gearbox
|
||||
because allows to make clutch gears smaller than 16t */
|
||||
|
||||
//offsetClutchGear(23);
|
||||
//offsetClutchGear(9, gear_height=4);
|
||||
//offsetClutchGear(23, gear_height=3.8);
|
||||
|
||||
/* Gear fully offset to one side */
|
||||
/* Solid gear fully offset to one side */
|
||||
|
||||
//offsetGear(number_of_teeth=8, gear_height=3.8);
|
||||
// Sample offset gear with 28 teeth and 4 holes
|
||||
|
||||
/* Sample offset gear with 28 teeth and 4 holes */
|
||||
|
||||
//gear28_4holes();
|
||||
|
||||
/* Gear with offset teeth, axle hole and sparse body */
|
||||
|
||||
offsetGearSparse(9, gear_height=3.9);
|
||||
//offsetGearSparse(20, gear_height=3.8, jaggy=1);
|
||||
|
||||
/* Half-stud parametric gear with some holes */
|
||||
|
||||
|
@ -421,60 +425,62 @@ module pinHole(height=8) {
|
|||
}
|
||||
|
||||
// Gear with offset teeth, axle hole and sparse body
|
||||
module offsetGearSparse(number_of_teeth, gear_height=3.9) {
|
||||
module offsetGearSparse(number_of_teeth, gear_height=3.9, jaggy=1) {
|
||||
root_radius = 3.05*number_of_teeth/3.1415926/2 - 3.05/3.1415926;
|
||||
difference() {
|
||||
offsetGear(number_of_teeth, gear_height);
|
||||
offsetGear(number_of_teeth, gear_height, jaggy);
|
||||
translate([0, 0, -0.1])
|
||||
difference() {
|
||||
cylinder($fn=50, h=gear_height+0.2, r=root_radius-1.5);
|
||||
cylinder($fn=50, h=gear_height+0.2, r=3.5);
|
||||
translate([-root_radius-1, 1.5, 0]) cube(size=[root_radius*2+2, 2, 2*gear_height+0.4], center=false);
|
||||
translate([-root_radius-1, -3.5, 0]) cube(size=[root_radius*2+2, 2, 2*gear_height+0.4], center=false);
|
||||
translate([-root_radius-1, 3.1-0.75, 0]) cube(size=[root_radius*2+2, 1.5, 2*gear_height+0.4], center=false);
|
||||
translate([-root_radius-1, -3.1-0.75, 0]) cube(size=[root_radius*2+2, 1.5, 2*gear_height+0.4], center=false);
|
||||
rotate([0, 0, 90]) {
|
||||
translate([-root_radius-1, 1.5, 0]) cube(size=[root_radius*2+2, 2, 2*gear_height+0.4], center=false);
|
||||
translate([-root_radius-1, -3.5, 0]) cube(size=[root_radius*2+2, 2, 2*gear_height+0.4], center=false);
|
||||
translate([-root_radius-1, 3.1-0.75, 0]) cube(size=[root_radius*2+2, 1.5, 2*gear_height+0.4], center=false);
|
||||
translate([-root_radius-1, -3.1-0.75, 0]) cube(size=[root_radius*2+2, 1.5, 2*gear_height+0.4], center=false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Gear with offset teeth and axle hole
|
||||
module offsetGear(number_of_teeth, gear_height=3.9) {
|
||||
module offsetGear(number_of_teeth, gear_height=3.9, jaggy=1) {
|
||||
difference() {
|
||||
union() {
|
||||
gear(number_of_teeth=number_of_teeth, mm_per_tooth=3.05, thickness=gear_height, clearance=-0.1);
|
||||
translate([0, 0, gear_height]) cylinder($fs=0.5, h=8-gear_height, r=3.5);
|
||||
}
|
||||
// axle hole
|
||||
axle(0, 0, -1, 10);
|
||||
rotate([0, 0, -jaggy*360/number_of_teeth]) axle(0, 0, -1, 10);
|
||||
}
|
||||
}
|
||||
|
||||
// Gear with interface for driving ring, with offset teeth
|
||||
// => The minimal printable size of such gear is 9 teeth...
|
||||
// (8 teeth will probably be too thin at root circle)
|
||||
module offsetClutchGear(number_of_teeth) {
|
||||
module offsetClutchGear(number_of_teeth, gear_height=3.8) {
|
||||
union() {
|
||||
difference() {
|
||||
union() {
|
||||
gear(number_of_teeth=number_of_teeth, mm_per_tooth=3.05, thickness=4);
|
||||
translate([0, 0, 3.9]) cylinder($fn=max(32,2*number_of_teeth), h=4.1, r=6.8);
|
||||
gear(number_of_teeth=number_of_teeth, mm_per_tooth=3.05, thickness=gear_height+0.1);
|
||||
translate([0, 0, gear_height]) cylinder($fn=max(32,2*number_of_teeth), h=8-gear_height, r=6.8);
|
||||
}
|
||||
difference() {
|
||||
translate([0, 0, 4.8]) cylinder($fn=50, h=4, r=5.8);
|
||||
translate([0, 0, 4.8]) cylinder($fn=50, h=4, r=3.3);
|
||||
}
|
||||
difference() {
|
||||
translate([0, 0, -0.1]) cylinder($fn=50, h=2.9+0.1, r=3.05*(number_of_teeth/2-1)/3.1415926-1);
|
||||
translate([0, 0, -0.2]) cylinder($fn=50, h=4, r=3.5);
|
||||
translate([-0.5, -20, -0.1]) cube(size=[1, 40, 10]);
|
||||
translate([-20, -0.5, -0.1]) cube(size=[40, 1, 10]);
|
||||
if (number_of_teeth > 13) {
|
||||
difference() {
|
||||
translate([0, 0, -0.1]) cylinder($fn=50, h=gear_height-1+0.1, r=3.05*(number_of_teeth/2-1)/3.1415926-1);
|
||||
translate([0, 0, -0.2]) cylinder($fn=50, h=4, r=3.5);
|
||||
translate([-0.5, -20, -0.1]) cube(size=[1, 40, 10]);
|
||||
translate([-20, -0.5, -0.1]) cube(size=[40, 1, 10]);
|
||||
}
|
||||
}
|
||||
// round hole
|
||||
translate([0, 0, -2]) cylinder($fn=50, h=12, r=2.5);
|
||||
}
|
||||
translate([0, 0, 3]) union() {
|
||||
translate([0, 0, 2.9]) union() {
|
||||
clutchTeeth();
|
||||
rotate([0, 0, 90]) clutchTeeth();
|
||||
rotate([0, 0, 180]) clutchTeeth();
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue