Refactored leaf arm to a function
This commit is contained in:
2020-03-15 20:39:44 -04:00
committed by sjc
parent 1653a2f92a
commit 24edf0452d

View File

@@ -29,19 +29,21 @@ SideW=tol+BackW;
echo("Reference Diameter (MeshD): ", MeshD);
//rot=360/N1*$t;
// rot=90-90*$t;
rot=90;
rot=0;
//axis_angle = -50;
//meshed(rot=rot);
#meshed(rot=rot, box=true, box_top=true);
gear_hinge(rot=rot, box=true, box_top=true);
//translate([50,0,0]) gear_hinge(rot=rot, box=false, box_top=true);
module gear_sector() {
CyS(r=MeshD, h=width, w1=215, w2=20);
CyS(r=MeshD/2 - 2, h=width, w1=20, w2=90);
}
module meshed(box=true, box_top=true, rot=0) {
module gear_hinge(box=true, box_top=true, rot=0) {
//offex=tol;
offex=0;
color("blue") translate([-MeshD/2 - offex,0]) rotate([0,0,rot]) blue_gear();
@@ -59,7 +61,7 @@ module gear_track_block() {
}
module blue_gear() {
intersection() {
render() intersection() {
spur_gear(n=N1, w=width, m=Module, chamfer=30, helix_angle = helix_angle );
difference() {
gear_sector();
@@ -78,17 +80,30 @@ module blue_gear() {
// leaf arm
//translate([MeshD/2 - 2*Module,11,0]) cube([4,20,width+1], center=true);
translate([MeshD/2 - 2*Module -.75,12.5,0]) difference() {
cube([4,20,width+1], center=true);
rotate([0,90,0]) {
for (i= [-1, 1]) {
translate([i*(width/2-5.25),5,-1.6])
cylinder(d=5.5, h=1, $fn=9, center=true);
translate([i*(width/2-5.25),5,0])
cylinder(d=4.75, h=20, $fn=9, center=true);
}
}
translate([MeshD/2 - 2*Module - .80,12.5,0]) rotate([0,0,0]) leaf_arm();
}
module red_gear()
{
render() difference() {
union() {
CyS(r=MeshD/2 - 2, h=width, w1=90, w2=160);
intersection() {
spur_gear(n=N2, w=width, m=Module, chamfer=30, helix_angle=-helix_angle);
CyS(r=MeshD, h=width, w1=150, w2=-30);
}
// leaf arm
translate([-MeshD/2 + 2*Module + .80,12.5,0]) leaf_arm();
}
// Shaft Hole
cylinder(d=ShaftD, h=width+2, center=true, $fn=21);
// Block limit -front
translate([-Module/2,1,-width/2]) cube([Module,MeshD/2,width]);
// Block limit
translate([BackW-2*tol,-MeshD/2,0]) cube([MeshD,MeshD,width+1], center=true);
}
}
module leaf_arm() {
@@ -103,29 +118,6 @@ module leaf_arm() {
}
}
module red_gear()
{
difference() {
union() {
CyS(r=MeshD/2 - 2, h=width, w1=90, w2=160);
intersection() {
spur_gear(n=N2, w=width, m=Module, chamfer=30, helix_angle=-helix_angle);
CyS(r=MeshD, h=width, w1=150, w2=-30);
}
// leaf arm
translate([-MeshD/2 + 2*Module+.75,12.5,0]) leaf_arm();
}
// Shaft Hole
cylinder(d=ShaftD, h=width+2, center=true, $fn=21);
// Block limit -front
translate([-Module/2,1,-width/2]) cube([Module,MeshD/2,width]);
// Block limit
translate([BackW-2*tol,-MeshD/2,0]) cube([MeshD,MeshD,width+1], center=true);
}
}
module box(
d=ShaftD,
tol=.25,