commit 0e31fbc14dfb92d2e2ccc912f31074f4219e12dd Author: c3ma Date: Wed Feb 21 20:22:29 2024 +0100 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..25112f3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +PinionRimProtection.FCStd +*.FCBak diff --git a/PinionChainProtection.scad b/PinionChainProtection.scad new file mode 100644 index 0000000..0ce8c99 --- /dev/null +++ b/PinionChainProtection.scad @@ -0,0 +1,42 @@ +/* Pinion chain protection */ + +/* Gates rim parameter */ +DiameterFront=152; /* mm */ +DiameterBack=109; /* mm */ +CenterDistanceFrontBack=475; /* mm */ +GateRimWidth=13; /* mm */ +rimSpace=3; /* mm */ + +/* Pinon parameter */ +pinionTop=106; /* mm */ +pinionBottom=38; /* mm */ +pinonHeight=98; /* mm */ +pinionRotation=45; /* degrees */ +pinionWith=50; /* mm (dummy value, not used) */ +$fn=180; + +/* Bike Parameter */ +bikeRearHorizontal=48; +bikeRearRotation=99; +bikeRearOffset=70; + +module drawRim(dBack, dFront, width) { + hull() { + translate([CenterDistanceFrontBack/2, 0, 0]) cylinder(d=dFront, h = width, center = true); + translate([-CenterDistanceFrontBack/2, 0, 0]) cylinder(d=dBack, h = width, center = true); + } +} + +difference() { + drawRim(dBack=DiameterBack+rimSpace*2, + dFront=DiameterFront+rimSpace*2, + width=GateRimWidth+rimSpace*2); + union() { + translate([0,0, rimSpace/2]) drawRim(dBack=DiameterBack, + dFront=DiameterFront, + width=GateRimWidth+rimSpace*2); + translate([CenterDistanceFrontBack/2, 0, 0]) rotate([0, 0, pinionRotation]) translate([pinionBottom, 0, 0]) cube([pinionTop+pinionBottom, pinonHeight, pinionWith], center=true); + translate([bikeRearOffset, 0, 0]) rotate([0, bikeRearRotation, 0]) cylinder(d=bikeRearHorizontal, h=CenterDistanceFrontBack, center=true); + + } +} diff --git a/PinionRimProtectionNew.FCStd b/PinionRimProtectionNew.FCStd new file mode 100644 index 0000000..9722a6a Binary files /dev/null and b/PinionRimProtectionNew.FCStd differ