Next madness level of using vintage lenses on modern camera – use even older projector lenses…
Generated STL of extension tube for Voigtländer TALON f2.8 100mm / Will-Wetzlar Maginon 100mm f2.8
KISS (keep it simple stupid) OpenSCAD code, using NutsAndBolts.ipynb lib:
//https://gist.github.com/pschatzmann/3c2600cc70a1da5a3c5532d4f0e0ca99#file-nutsandbolts-ipynb
include <../libs/bolts/threads.scad>;
module cylinder_hollow(r, w, h, z=0, angle_start=0, angle_use=360, angle_x=0, overhang_topinside=false) {
translate([0, 0, z]) {
rotate([angle_x,0,angle_start]) {
rotate_extrude(angle = angle_use, convexity = 10) {
translate([r, 0, 0]) {
square([w, h], false);
if (overhang_topinside) {
polygon (points=[[0,h], [w,h], [w,h*2]] );
}
}
}
}
}
}
$fn= $preview ? 72 : 180;
angle = ($preview) ? 180 : 360;
thread_th=3;
tube_d=42.2+0.6; //well, printer is not idea, so "fine tuning"
tube_h=50+10-2; //well, iterations of best height
tube_w=1.6;
tube_w2=1.6+2;
grooves=false;
pin_d=2.4;
pin_h1=thread_th+tube_h-5;
pin_h2=pin_h1-5.5; //5.5 thread pitch
module thread(td=42.2, tp=1, th=3, tz=0, internal=true, angle=45) {
translate([0,0,tz])
metric_thread(diameter=td, pitch=tp, length=th, internal=internal, angle=angle);
}
module cylinder_details() {
cylinder_hollow(r=tube_d/2, w=tube_w, h=tube_h, z=thread_th, angle_use=angle);
if (grooves) {
cylinder_hollow(r=tube_d/2, w=tube_w2, h=15, z=thread_th+tube_h-15, angle_use=angle);
}
}
module cylinder_holes() {
if (grooves) {
translate([0,0,pin_h1])
rotate([0, 90, 0])
#cylinder(r=pin_d, h=30);
translate([0,0,pin_h2])
rotate([0, 270, 0])
#cylinder(r=pin_d, h=30);
}
}
//thread itself
difference() {
thread(td=42-0.2, tp=1, th=thread_th, tz=0, internal=false, angle=45);
cylinder_hollow(r=0, w=tube_d/2-2, h=thread_th, z=0, angle_use=angle);
}
difference() {
cylinder_details();
cylinder_holes();
}
//overhang for printing
cylinder_hollow(r=tube_d/2-2, w=tube_w+0.6, h=2, z=thread_th, angle_use=angle, overhang_topinside=true);
Result (on APSC camera) from both lens almost identical, differs only dust location: