From 3a435933e325aace156c4947d186416d4b1db3cb Mon Sep 17 00:00:00 2001 From: mattmcw Date: Thu, 16 Jun 2022 00:29:31 -0400 Subject: [PATCH] Work on the opto endstop mount. This needs to be re-oriented before next print. --- scad/capper.scad | 47 ++++++++++++++++++++++-------- stl/capper_opto_endstop_mount.stl | Bin 0 -> 17684 bytes 2 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 stl/capper_opto_endstop_mount.stl diff --git a/scad/capper.scad b/scad/capper.scad index 8169ba7..c2120b4 100644 --- a/scad/capper.scad +++ b/scad/capper.scad @@ -25,7 +25,26 @@ RailSlotsD = 6; MountBoltSpacingY=40; -OptoEndstopAdjustZ=0.25; +OptoEndstopAdjustZ=2; + +module OptoEndstop () { + $fn=30; + Y=5; + Z2=3.64-1.75; + difference () { + union() { + cube([11.15, 28.25, 1.75], center=true); + translate([0,14,0]) cylinder(r=R(6), h=1.75, center=true); + translate([0,-14,0]) cylinder(r=R(6), h=1.75, center=true); + } + translate([0,14,0]) cylinder(r=R(2.85), h=1.75+1, center=true); + translate([0,-14,0]) cylinder(r=R(2.85), h=1.75+1, center=true); + } + translate([-R(6.1)+1.2, R(28.25)-R(Y+4.15+4.15)-3.65, 0]) { + translate([0,R(Y)+R(4.15),-R(1.75)-R(10.15)]) cube([6.1, 4.15, 10.15], center=true); + translate([0,-R(Y)-R(4.15),-R(1.75)-R(10.15)]) cube([6.1, 4.15, 10.15], center=true); + } +} module BoltVoid () { cylinder(r=R(BoltD), h=20, center=true); @@ -68,7 +87,7 @@ module Mount () { //endstop translate([0, -34, 25-2-2]) { cube([14, 20, 50], center=true); - translate([0, 11, -12.5]) cylinder(r=R(22), h=4, center=true); + translate([0, 11, -14]) cylinder(r=R(22), h=4, center=true); } } } @@ -158,15 +177,18 @@ module RailMount () { } module OptoEndstopMount () { + translate([-5,9.5,20]) { + difference() { - cube([14-0.3, 14, 24], center=true); - translate([0, R(LensVoidDiameter)+15+4, 0]) cylinder(r=R(LensVoidDiameter)+15, h=LensY, center=true, $fn=200); - translate([0,-8.3,0]) cube([7.25, 8, 24+1], center=true); - translate([0,-5,-9+OptoEndstopAdjustZ]) rotate([90, 0, 0]) cylinder(r=R(2.9),h=10,center=true, $fn=40); - translate([0,-5,10+OptoEndstopAdjustZ]) rotate([90, 0, 0]) cylinder(r=R(2.9),h=10,center=true, $fn=40); - translate([0,1,1+OptoEndstopAdjustZ]) cube([8,14,11.5],center=true); - translate([0,6,.75+OptoEndstopAdjustZ]) cylinder(r=R(22), h=4, center=true); + translate([0, 0, 4]) cube([14-0.3-0.3, 14, 32], center=true); + translate([0, R(LensVoidDiameter)+15+4, 0]) cylinder(r=R(LensVoidDiameter)+15, h=LensY + 10, center=true, $fn=200); + translate([0,-8.3, 12]) cube([9, 8, 5], center=true); + //translate([0,-5,-9+OptoEndstopAdjustZ]) rotate([90, 0, 0]) cylinder(r=R(2.9),h=10,center=true, $fn=40); + translate([-2,-5,15+OptoEndstopAdjustZ]) rotate([90, 0, 0]) cylinder(r=R(2.9),h=20,center=true, $fn=40); + translate([0,1,-3+OptoEndstopAdjustZ]) cube([8,20,15],center=true); + //pathway void + translate([0,6,-3 +OptoEndstopAdjustZ]) cylinder(r=R(22), h=4, center=true); } } @@ -176,11 +198,12 @@ module Debug () { Mount(); translate([-CapOffsetX,-CapOffsetY,5.71]) rotate([0,0,currentAngle]) Cap(); //color("green") RailMount(); - translate([5, -38, -11.8+OptoEndstopAdjustZ]) rotate([0, -90, 0]) opto_endstop(); - //translate([5, -38, -11.8]) OptoEndstopMount(); + //translate([5, -38, -11.8+OptoEndstopAdjustZ]) rotate([0, -90, 0]) opto_endstop(); + //color("green") translate([5, -38, -11.8]) OptoEndstopMount(); + translate([-2, -38 + 2, -11.8 + 20 + OptoEndstopAdjustZ+.75]) rotate([90, 180, 0]) OptoEndstop(); } -Render="MountFront"; +Render="Debug"; if (Render=="Debug") { Debug(); diff --git a/stl/capper_opto_endstop_mount.stl b/stl/capper_opto_endstop_mount.stl new file mode 100644 index 0000000000000000000000000000000000000000..af7a271cfada766295e83e79765fb3be2f7777c9 GIT binary patch literal 17684 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 Fe*wZC6OI4? literal 0 HcmV?d00001