From 4f4f0dc585d6c78afab34ff3f3ffcfc4f86ef690 Mon Sep 17 00:00:00 2001 From: Stephen Carpenter Date: Tue, 7 Jan 2020 11:09:34 -0500 Subject: [PATCH] Initial version Basic geared hinge shape Gearbox is boxy and not optimized. Tolerances too tight for printing with default Module = 1. Test print in PETG did not move. --- gears.scad | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 gears.scad diff --git a/gears.scad b/gears.scad new file mode 100644 index 0000000..8d0b888 --- /dev/null +++ b/gears.scad @@ -0,0 +1,84 @@ +use +use + +width = 5; +N1 = 9; +N2 = 9; +axis_angle = -0; + +// RefD = M/N ; Default M=1 + +MeshD=(N1+N2)/2; + +echo("Reference Diameter (MeshD): ", MeshD); +//rot=360/N1*$t; +rot=90-5*$t; +//rot=90; +//axis_angle = -50; +color("blue") translate([-MeshD/2,0]) rotate([0,0,rot]) { + render() intersection() { + spur_gear(n=N1, w=width, helix_angle=constant(axis_angle/2)); + + difference() { + CyS(r=MeshD, h=width, w1=215, w2=20); + // Shaft Hole + cylinder(d=4, h=12, center=true, $fn=16); + } + } + + // leaf arm + translate([MeshD/2 - 1.75,4,0]) cube([1.25,8,5], center=true); + + // Block + //difference() { + // translate([-MeshD/2 + 1.75,-3,0]) cube([1.25,3,5], center=true); + // translate([-4.125,-4.5,0]) rotate([0,0,45]) cube([1.5,3,6], center=true); + //} + +} + +color ("red") translate([MeshD/2,0]) rotate([0,0,-rot]){ + render() { + difference() { + union() { + intersection() { + spur_gear(n=N2, w=width, helix_angle=constant(axis_angle/2)); + CyS(r=MeshD, h=width, w1=150, w2=-30); + } + + // leaf arm + translate([-MeshD/2 + 1.75,4,0]) cube([1.25,8,5], center=true); + + // Block + //translate([+MeshD/2 - 1,-1,0]) cube([1.5,6,5], center=true); + //translate([3.5,-3.5,0]) rotate([0,0,-45]) cube([4,1.85,4], center=true); + CyS(r=MeshD - 3, h=width, w1=-55, w2=-30); + } + // Shaft Hole + cylinder(d=4, h=12, center=true, $fn=16); + + // Block limit + translate([5.75,-3,0]) cube([5,5,5], center=true); + } + } +} + +module box() { + translate([MeshD/2,0]) { + cylinder(d=4-.2, h=width+1,$fn=16, center=true); + translate([2,0]) cube([5,1,width+1], center=true); + translate([4.5,-3]) cube([1,7,width+1], center=true); + } + translate([-MeshD/2,0]) { + cylinder(d=4-.2, h=width+1,$fn=16, center=true); + translate([-2,0]) cube([5,1,width+1], center=true); + translate([-4.5,-3]) cube([1,7,width+1], center=true); + } + translate([0,-6.5,0]) cube([19,1,width+1],center=true); + translate([0,-3.5,-width/2 - .75]) cube([19,6.5,1], center=true); + translate([0,-3.5,width/2 + .75]) cube([19,6.5,1], center=true); +} + +color("green") { + //box(); +}