Merge in 9 months of work on capper branch #71
|
@ -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();
|
Loading…
Reference in New Issue