diff --git a/magnet holder.scad b/magnet holder.scad index 4cfbac2daaf99b3a68e194dd00fd3c6f0c0a918e..023fd16d3fc031aa3598f8e1f9023fd274360340 100644 --- a/magnet holder.scad +++ b/magnet holder.scad @@ -162,7 +162,6 @@ module endPlate(spacing = 30){ } } } - module motorSide(){ $fn=50; thickness = 4; @@ -171,54 +170,57 @@ module motorSide(){ difference(){ union(){ - difference(){ // main platform - translate([0,0,thickness/2]) - cube([length, width, thickness], center = true); - - linear_extrude(height = thickness+1) - stepper_motor_mount(17); - } - - for (y = [-1, 1]){ // bearing blocks - translate([0, y*(magnetLength+5+2*(rodRad+3))/2, 15/2]) - cube([linearBearingHeight+5, linearBearingOD+20, 15], center = true); - } - } - - for (y = [-1, 1]){ // bolt holes - translate([-linearBearingHeight/2, y*(magnetLength+5+2*(rodRad+3))/2, 15]) + difference(){ union(){ - rotate([0,90,0]) - cylinder(h = linearBearingHeight, r = linearBearingOD/2); //bearing - translate([-3.5,0,0]) - rotate([0,90,0]) - cylinder(h = linearBearingHeight+7, r = rodRad+1); //shaft clearance - for (i = [-1, 1]){ - translate([linearBearingHeight/2, i*(linearBearingOD/2+4), -16]) // bolts - linear_extrude(height=15+2) boltHole(size = 3, proj = 1); - translate([linearBearingHeight/2, i*(linearBearingOD/2+4), -(15+12)+10]) // nuts - linear_extrude(height=10+2) nutHole(size = 3, proj = 1); + difference(){ // main platform + translate([0,0,thickness/2]) + cube([length, width, thickness], center = true); + linear_extrude(height = thickness+1) + stepper_motor_mount(17); + } + + for (y = [-1, 1]){ // bearing blocks + translate([0, y*(magnetLength+5+2*(rodRad+3))/2, 15/2]) + cube([linearBearingHeight+5, linearBearingOD+20, 15], center = true); } } - - } - } - - - rotate([0,0,180]) - translate([length/2-3, 0, 0]){ - difference(){ - translate([0, 0, (thickness+2)/2]) - difference(){ - cube([10.6, 19.8, thickness+2], center = true); - cube([11, 3, thickness+3], center = true); + + for (y = [-1, 1]){ // bolt holes + translate([-linearBearingHeight/2, y*(magnetLength+5+2*(rodRad+3))/2, 15]) + union(){ + rotate([0,90,0]) + cylinder(h = linearBearingHeight, r = linearBearingOD/2); //bearing + translate([-3.5,0,0]) + rotate([0,90,0]) + cylinder(h = linearBearingHeight+7, r = rodRad+1); //shaft clearance + for (i = [-1, 1]){ + translate([linearBearingHeight/2, i*(linearBearingOD/2+4), -16]) // bolts + linear_extrude(height=15+2) boltHole(size = 3, proj = 1); + translate([linearBearingHeight/2, i*(linearBearingOD/2+4), -(15+12)+10]) // nuts + linear_extrude(height=10+2) nutHole(size = 3, proj = 1); + + } + } + } - translate([0, 0, thickness+2]) - microswitch(mockup = true, holeDepth = thickness+4, nutSpacing = 3); + } + + + rotate([0,0,180]) + translate([length/2-3, 0, 0]){ + translate([0, 0, (thickness+2)/2]) + difference(){ + cube([10.6, 19.8, thickness+2], center = true); + cube([11, 3, thickness+3], center = true); + } + } } + + rotate([0,0,180]) + translate([length/2-3, 0, thickness+2]) + microswitch(mockup = true, holeDepth = thickness+5, nutSpacing = 3); } - } module bearingClamp(){ diff --git a/magnet holder_print.scad b/magnet holder_print.scad index 05e8aa31a8e943dce67b333867c8ef3261ff86b1..641b419586cca296beb7868d7703433a29ba4b81 100644 --- a/magnet holder_print.scad +++ b/magnet holder_print.scad @@ -4,7 +4,7 @@ include ; include ; include ; -tolerance = 0.1; +tolerance = 0.15; // gear parameters circular_pitch=350; @@ -50,6 +50,8 @@ union(){ color("Purple") endPlate(30); } +//motorSide(); + // Magnet plate module magnetPlate(spacing = 30){ thickness = 12; @@ -170,54 +172,55 @@ module motorSide(){ difference(){ union(){ - difference(){ // main platform - translate([0,0,thickness/2]) - cube([length, width, thickness], center = true); - - linear_extrude(height = thickness+1) - stepper_motor_mount(17, tolerance=tolerance); - } - - for (y = [-1, 1]){ // bearing blocks - translate([0, y*(magnetLength+5+2*(rodRad+3))/2, 15/2]) - cube([linearBearingHeight+5, linearBearingOD+20, 15], center = true); - } - } - - for (y = [-1, 1]){ // bolt holes - translate([-linearBearingHeight/2, y*(magnetLength+5+2*(rodRad+3))/2, 15]) + difference(){ union(){ - rotate([0,90,0]) - cylinder(h = linearBearingHeight, r = linearBearingOD/2); //bearing - translate([-3.5,0,0]) - rotate([0,90,0]) - cylinder(h = linearBearingHeight+7, r = rodRad+1); //shaft clearance - for (i = [-1, 1]){ - translate([linearBearingHeight/2, i*(linearBearingOD/2+4), -16]) // bolts - linear_extrude(height=15+2) boltHole(size = 3, proj = 1); - translate([linearBearingHeight/2, i*(linearBearingOD/2+4), -(15+12)+10]) // nuts - linear_extrude(height=10+2) nutHole(size = 3, proj = 1); + difference(){ // main platform + translate([0,0,thickness/2]) + cube([length, width, thickness], center = true); + linear_extrude(height = thickness+1) + stepper_motor_mount(17, tolerance=tolerance); + } + + for (y = [-1, 1]){ // bearing blocks + translate([0, y*(magnetLength+5+2*(rodRad+3))/2, 15/2]) + cube([linearBearingHeight+5, linearBearingOD+20, 15], center = true); } } - - } - } - - - rotate([0,0,180]) - translate([length/2-3, 0, 0]){ - difference(){ - translate([0, 0, (thickness+2)/2]) - difference(){ - cube([10.6, 19.8, thickness+2], center = true); - cube([11, 3, thickness+3], center = true); + + for (y = [-1, 1]){ // bolt holes + translate([-linearBearingHeight/2, y*(magnetLength+5+2*(rodRad+3))/2, 15]) + union(){ + rotate([0,90,0]) + cylinder(h = linearBearingHeight, r = linearBearingOD/2); //bearing + translate([-3.5,0,0]) + rotate([0,90,0]) + cylinder(h = linearBearingHeight+7, r = rodRad+1); //shaft clearance + for (i = [-1, 1]){ + translate([linearBearingHeight/2, i*(linearBearingOD/2+4), -16]) // bolts + linear_extrude(height=15+2) boltHole(size = 3, proj = 1); + translate([linearBearingHeight/2, i*(linearBearingOD/2+4), -(15+12)+10]) // nuts + linear_extrude(height=10+2) nutHole(size = 3, proj = 1); + + } + } } - translate([0, 0, thickness+2]) - microswitch(mockup = true, holeDepth = thickness+4, nutSpacing = 3); + } + + rotate([0,0,180]) + translate([length/2-3, 0, 0]){ + translate([0, 0, (thickness+2)/2]) + difference(){ + cube([10.6, 19.8, thickness+2], center = true); + cube([11, 3, thickness+3], center = true); + } + } } + + rotate([0,0,180]) + translate([length/2-3, 0, thickness+2]) + microswitch(mockup = true, holeDepth = thickness+5, nutSpacing = 3); } - } module bearingClamp(){