3d-prints/eyepiece_holder/target_aimer.scad
2024-06-23 01:07:02 -04:00

59 lines
1.4 KiB
OpenSCAD

real_diam = 25.8;
real_depth = 40.2;
fudge = 0.1;
diam = real_diam + fudge;
depth = real_depth + fudge;
detail = 100;
thickness = 3;
plate = 80;
front = 32;
focus = 1.2;
module mock_scope(x, y) {
cylinder(h = depth + y, d = diam + x, $fn=detail);
}
module slices() {
translate([-diam,-focus/2,0]) cube([diam*2, focus, depth+0.02]);
rotate([0,0,90]) translate([-diam,-focus/2,0]) cube([diam*2, focus, depth+0.02]);
}
module aim_slices() {
difference() {
slices();
translate([0,0,depth-diam/2]) rotate([0,0,45]) cylinder(h=diam/2+2, d1=diam*3.14159/2, d2=focus*3.14159/2, $fn=4);
translate([0,0,1.2]) mock_scope(0.01,-diam/2);
}
}
module mock_scope2(x, y) {
difference() {
mock_scope(x, y);
aim_slices();
}
}
module billet() {
union() {
cylinder(h = depth, d = diam + thickness, $fn=detail);
cylinder(h = depth/front, d = (diam + thickness)*1.8, $fn=detail);
translate([-plate/2,-thickness/2,0]) cube([plate, thickness, depth/front]);
rotate([0,0,90]) translate([-plate/2,-thickness/2,0]) cube([plate, thickness, depth/front]);
//inner_cut();
}
}
module product() {
difference() {
billet();
translate([0,0,-0.01]) mock_scope2(0,thickness*2);
};
}
product();
//mock_scope2(0,0);