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