diff --git a/air_tank_mount.scad b/air_tank_mount.scad index af55350..743f442 100644 --- a/air_tank_mount.scad +++ b/air_tank_mount.scad @@ -39,7 +39,7 @@ module air_tank_mount_v2() { } } -module axleround(h = 24, axleradius = 2.4, axlemesh = 1.85) { +module axleround(h = 24, axleradius = 2.3, axlemesh = 1.7) { translate([0, 0, -h/2]) difference() { cylinder($fn=16, r=axleradius, h=h); translate([axlemesh/2, axlemesh/2, -1]) cube([axleradius, axleradius, h+2]); diff --git a/gear-v3.scad b/gear-v3.scad index 697aeee..8defaec 100644 --- a/gear-v3.scad +++ b/gear-v3.scad @@ -30,17 +30,24 @@ // Standard LEGO dimensions: // Stud spacing = 8mm +// Studded beam height = 9.6mm +// Most beams, mounts and etc are 7.2mm thick in cross direction (i.e. beam is 8mm x 7.2mm, half-bush has 7.2mm radius etc) // Hole diameter (ideal) = 4.8mm // Hole diameter (for FDM printing) = 5.0-5.1mm // Pin holes (on beams etc) have ending notches that are 0.8mm deep and 3mm in radius (i.e. diameter is 6mm) -// Axle mesh thickness = 1.85mm -// Thickness of all gear wheels is 3.8mm +// 0.8mm thick are also various borders like ones on the end of a full bush +// Inner bush diameter = 5.7mm +// Axle diameter = 4.6mm +// Axle mesh thickness = 1.7mm +// Screw gear outer radius = 9.8mm +// Thickness of normal (non-bevel) gear wheels is 3.8mm // Standard 40t gear: root_radius=18.75 outer_radius=20.85 (mm_per_tooth =~ 3.1 by root) // Standard 24t gear: root_radius=10.7 outer_radius=12.8 (mm_per_tooth =~ 3.06 by root) // Standard 16t gear: root_radius=6.8 outer_radius=8.7 (mm_per_tooth =~ 3.05 by root) // Standard 8t gear: root_radius=2.8 outer_radius=4.9 (mm_per_tooth =~ 3.05 by root) // Standard 12t bevel gear: 12.7mm bottom diameter, 1.6mm top teeth length, 10.6mm top teeth outer diameter, 7.7mm top teeth root diameter, 2.5mm gear height + 0.5mm flat base + 1mm spacer at bottom // Standard 20t idler bevel gear: 20.4mm bottom diameter, 18.4mm top teeth outer diameter, 1.8mm top teeth length, 15.6mm top teeth root diameter +// Standard 36t double bevel gear: 37.2mm teeth outer diameter, 31.6mm teeth root diameter, 2.5mm central non-bevel part thickness, 7.2mm total thickness // Formulas for gear radiuses: //outer_radius = mm_per_tooth*(n_teeth/2+1)/3.1415926 - clearance; diff --git a/torsen.scad b/torsen.scad index ee63fa7..2e631a6 100644 --- a/torsen.scad +++ b/torsen.scad @@ -20,30 +20,30 @@ module torsen_diff_36t() { } translate([0, 0, 8]) difference() { union() { - translate([0, 8, 0]) rotate([90, 0, 90]) cylinder(r=2.8, h=8, center=true); - translate([0, 8-2.8, 0]) cube([8, 2.8*2, 2.8*2], center=true); - translate([-3.6, 8, 0]) rotate([90, 0, 90]) cylinder(r=3.6, h=0.8, center=true); - translate([-3.6, 8-3.6, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); - translate([3.6, 8, 0]) rotate([90, 0, 90]) cylinder(r=3.6, h=0.8, center=true); - translate([3.6, 8-3.6, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); - translate([0, 8, 0]) rotate([90, 0, 90]) axleround(h=16, axlemesh=1.7); + translate([0, 8, 0]) rotate([90, 0, 90]) cylinder(r=2.8, h=7.2, center=true); + translate([0, 8-2.8, 0]) cube([7.2, 2.8*2, 2.8*2], center=true); + translate([-3.2, 8, 0]) rotate([90, 0, 90]) cylinder(r=3.6, h=0.8, center=true); + translate([-3.2, 8-3.2, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); + translate([3.2, 8, 0]) rotate([90, 0, 90]) cylinder(r=3.6, h=0.8, center=true); + translate([3.2, 8-3.2, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); + translate([0, 8, 0]) rotate([90, 0, 90]) axleround(h=16); } } translate([0, 0, -8]) difference() { union() { - translate([0, 8, 0]) rotate([90, 0, 90]) cylinder(r=2.8, h=8, center=true); - translate([0, 8-2.8, 0]) cube([8, 2.8*2, 2.8*2], center=true); - translate([-3.6, 8, 0]) rotate([90, 0, 90]) cylinder(r=3.6, h=0.8, center=true); - translate([-3.6, 8-3.6, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); - translate([3.6, 8, 0]) rotate([90, 0, 90]) cylinder(r=3.6, h=0.8, center=true); - translate([3.6, 8-3.6, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); - translate([0, 8, 0]) rotate([90, 0, 90]) axleround(h=16, axlemesh=1.7); + translate([0, 8, 0]) rotate([90, 0, 90]) cylinder(r=2.8, h=7.2, center=true); + translate([0, 8-2.8, 0]) cube([7.2, 2.8*2, 2.8*2], center=true); + translate([-3.2, 8, 0]) rotate([90, 0, 90]) cylinder(r=3.6, h=0.8, center=true); + translate([-3.2, 8-3.2, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); + translate([3.2, 8, 0]) rotate([90, 0, 90]) cylinder(r=3.6, h=0.8, center=true); + translate([3.2, 8-3.2, 0]) cube([0.8, 3.6*2, 3.6*2], center=true); + translate([0, 8, 0]) rotate([90, 0, 90]) axleround(h=16); } } } } -module axleround(h = 24, axleradius = 2.4, axlemesh = 1.85) { +module axleround(h = 24, axleradius = 2.3, axlemesh = 1.7) { translate([0, 0, -h/2]) difference() { cylinder($fn=16, r=axleradius, h=h); translate([axlemesh/2, axlemesh/2, -1]) cube([axleradius, axleradius, h+2]); @@ -53,13 +53,6 @@ module axleround(h = 24, axleradius = 2.4, axlemesh = 1.85) { } } -module axle(h = 24, axleradius = 2.4, axlemesh = 1.85) { - union() { - cube([axleradius*2, axlemesh, h], center=true); - cube([axlemesh, axleradius*2, h], center=true); - } -} - module single_bevel(nteeth = 28) { union() { intersection() {