From 93e7675ab5bcb7d65f5542898cfab5790a280a73 Mon Sep 17 00:00:00 2001 From: Stephen Carpenter Date: Thu, 14 Jan 2021 00:38:35 -0500 Subject: [PATCH] Fixed Chamfer for clean print Used chamfer and shift to make sure gears print clean without supports. Print angle is now 92 degrees; much closer and the gear block fuses the gears in the back. --- GearHinge.scad | 49 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/GearHinge.scad b/GearHinge.scad index 9d8b061..a1f8e51 100644 --- a/GearHinge.scad +++ b/GearHinge.scad @@ -8,7 +8,7 @@ use include use -chamfer=40; +chamfer=30; axis_angle=0; //helix_angle = [ for (x=linspace(-1,1,11)) exp(-abs(x))*10*sign(x) ]; helix_turns = 3; @@ -50,14 +50,19 @@ $fa = ($preview) ? 17 : .1; $fs = ($preview) ? 3 : .1; $incolor = true; -plate_hinge(); +plate_print(); +//plate_full_open(); + //gear_hinge(rot=rot, box=false, rounded_case=true); //translate([50,0,0]) gear_hinge(rot=rot, box=false, box_top=true); -module plate_hinge() { - rot = 90 - 5; +module plate_full_open(rot=90) { + rot = 90; gear_hinge(rot=rot, box=false, rounded_case=true); - +} + +module plate_print(rot=90-8, door=false) { + gear_hinge(rot=rot, box=false, rounded_case=true, door=door); } module gear_hinge( @@ -67,6 +72,7 @@ module gear_hinge( box_color="green", left_gear_color="blue", right_gear_color="red", + door = false, rot=0) { //offex=tol; bc = $incolor ? box_color : undef; @@ -75,7 +81,7 @@ module gear_hinge( offex=0; color(lgc) translate([-MeshD/2 - offex,0]) rotate([0,0,rot]) blue_gear(); - color (rgc) translate([offex + MeshD/2,0]) rotate([0,0,-rot]) red_gear(); + color (rgc) translate([offex + MeshD/2,0]) rotate([0,0,-rot]) red_gear(door=door); if (box) { color(bc) box(full = true, top=box_top, tol=tol); } else if (rounded_case) { @@ -89,8 +95,8 @@ module gear_hinge( module gear_track_block() { difference() { - CyS(r=MeshD/2 +.5, h=width, w1=275, w2=310); - CyS(r=ShaftD+.5, h=width, w1=275, w2=310); + CyS(r=MeshD/2 +.5, h=width/2, w1=275, w2=310); + CyS(r=ShaftD+.5, h=width/2, w1=275, w2=310); } } @@ -106,7 +112,7 @@ module gear_sector(meshd, width) { // blue_gear - Gear on the left with the track block built into its back side. module blue_gear() { intersection() { - spur_gear(n=N1, w=width, m=Module, chamfer=30, helix_angle = helix_angle, add=-tol/4 ); + spur_gear(n=N1, w=width, m=Module, chamfer=chamfer, chamfer_shift=-2,helix_angle = helix_angle, add=-tol/4 ); difference() { gear_sector(meshd=MeshD, width=width); @@ -129,21 +135,36 @@ module blue_gear() { } // Red Gear - Gear on the right. -module red_gear() +module red_gear(door=false) { difference() { union() { CyS(r=MeshD/2 - 2, h=width, w1=90, w2=190); intersection() { - spur_gear(n=N2, w=width, m=Module, chamfer=30, helix_angle=-helix_angle, add=-tol/4); + spur_gear(n=N2, w=width, m=Module, chamfer=chamfer, chamfer_shift=-2, helix_angle=-helix_angle, add=-tol/4); CyS(r=MeshD, h=width, w1=181, w2=-30); } // leaf arm - translate([-2,11.6,0]) leaf_arm(left=false, h=width+3.2) - translate([0,-4+tol,0]) cube([4,10,width+3.2], center=true); + translate([-2,11.6]) { + if (door) leaf_arm(left=false, h=width+3.2) + translate([0,-4+tol]) { + translate([0,-1.6]) cube([4,5+2,width+3.2], center=true); + difference() { + translate([7,7]) cube([18,14,width+3.2], center=true); + translate([10,7]) cube([14,6.5,width+4], center=true); + translate([10,15]) rotate([90,0,0]) { + cylinder(d=2.1, h=10); + translate([0,0,5]) cylinder(d=2.8, h=12); + translate([0,0,12]) cylinder(d=4, h=5); + + } + } + } + else leaf_arm(left=false, h=width+3.2); + } // Rear Block gear_track_block(); } @@ -297,4 +318,4 @@ module box( cube([BackW,Swing+WallD,WallD], center=true); } -} \ No newline at end of file +}