Compare commits

..

2 Commits

2 changed files with 93 additions and 0 deletions

View File

@ -39,6 +39,11 @@ module m3_nut (H = 5) {
cylinder(r=R(6.6), h=H, center=true, $fn=6);
}
echo("common.scad - m4_nut");
module m4_nut (H = 5) {
cylinder(r=R(7.15), h=H, center=true, $fn=6);
}
module opto_endstop(){
difference(){
union(){

View File

@ -0,0 +1,88 @@
//
// JK lens assembly
//
include <./common.scad>;
include <./bellows.scad>;
PART = "";
LinearBearingOuterDiameter = 15;
LinearBearingHeight = 24;
LinearBearingBoreDiameter = 8;
ThreadDiameter = 4; //8;
LinearMotionDiameter = 8;
TNutDiameter1 = 22;
TNutDiameter2 = 10.2;
TNutInnerDiameter = 8;
TNutHeight1 = 3.5;
TNutHeight2 = 15;
TNutOffset = 1.5;
RodLength = 100;
ZOffset = -35;
XOffset = -35;
module linearBearing () {
difference () {
cylinder(r = R(LinearBearingOuterDiameter), h = LinearBearingHeight, center = true, $fn = 100);
cylinder(r = R(LinearBearingBoreDiameter), h = LinearBearingHeight + 1, center = true, $fn = 60);
}
}
module threadedRod (H = 40) {
color("green") cylinder(r = R(ThreadDiameter), h = H, center = true, $fn = 60);
}
module linearMotionRod (H = 40) {
color("blue") cylinder(r = R(LinearMotionDiameter), h = H, center = true, $fn = 60);
}
module TNut () {
difference () {
union () {
translate([0, 0, -(TNutHeight2 / 2) + (TNutHeight1 / 2) + TNutOffset]) cylinder(r = R(TNutDiameter1), h = TNutHeight1, center = true, $fn = 100);
cylinder(r = R(TNutDiameter2), h = TNutHeight2, center = true, $fn = 80);
}
cylinder(r = R(TNutInnerDiameter), h = TNutHeight2 + 1, center = true, $fn = 60);
}
}
module lens_assembly_bellows_board () {
bellows_camera_board();
difference () {
translate([0, -32.5, 2]) cube([30, 15, 15], center = true);
rotate([-90, 0, 0]) {
translate([-13, -5, XOffset]) rotate([0, 90, 0]) m4_nut();
translate([13, -5, XOffset]) rotate([0, 90, 0]) m4_nut();
}
rotate([-90, 0, 0]) translate([0, -5, XOffset]) rotate([0, 90, 0]) threadedRod(RodLength);
}
}
rotate([90, 0, 0]) lens_assembly_bellows_board();
//Z axis
translate([ZOffset, 5, 0]) threadedRod(RodLength);
//translate([40, 8, 0]) linearMotionRod(RodLength);
//translate([40, 8, 0]) linearBearing();
//translate([-40, 8, 25]) rotate([180, 0, 0]) TNut();
//translate([-40, 8, -25]) TNut();
translate([ZOffset, 5, 15]) m4_nut();
translate([ZOffset, 5, -15]) m4_nut();
//X axis
//translate([0, -5, XOffset]) rotate([0, 90, 0]) threadedRod(RodLength);
//translate([0, -8, 40]) rotate([0, 90, 0]) linearMotionRod(RodLength);
//translate([0, -8, 40]) rotate([0, 90, 0]) linearBearing();
//translate([-25, -8, -40]) rotate([0, 90, 0]) TNut();
//translate([25, -8, -40]) rotate([0, -90, 0]) TNut();
//translate([-15, -5, XOffset]) rotate([0, 90, 0]) m4_nut();
//translate([15, -5, XOffset]) rotate([0, 90, 0]) m4_nut();