$fn = 100; r_motorSchaft = 2.5; l_motorSchaft = 22.5; r_aussparung = 10; l_aussparung = 15; r_Stange = 7.85/2; l_Stange = 22.5; h_linse = 5; d_linse = 12; d_laserkoerper = 13; l_laser = 20; d_schraube =2.9; //Schlitz 5.4 x 2.5 module anMotor() { difference() { cylinder(h=l_aussparung, r=r_aussparung); translate(v=[0,0,-1]) cylinder(h=l_motorSchaft, r=r_motorSchaft); translate(v=[-r_aussparung-0.5,0,4.8]) rotate(a=[0,90,0]) cylinder(h=r_aussparung*2+1, r=1.5); translate(v=[-r_aussparung+3.5,0-5.4/2,6+5.4/2]) rotate(a=[0,90,0]) scale([9.2, 5.4, 2.5]) cube(1);//Mutter // translate(v=[r_aussparung-6,0-5.4/2,6+5.4/2]) rotate(a=[0,90,0]) scale([9.2, 5.4, 2.5]) cube(1);//Mutter } } module linsenhalterung() { difference() { cylinder(h=h_linse, r=d_linse); translate([0,0,-0.1]) cylinder(h=h_linse+0.2, r=d_linse/2); %translate([-d_linse,0,2.4]) rotate([0,90,0]) cylinder(h=2*d_linse, r=d_schraube/2); translate([7,-2.6,6]) rotate(a=[0,90,0]) scale([9.2, 5.4, 2.5]) cube(1);//Mutter } } module halbe_linsenhalterung() { difference() { linsenhalterung(); translate([-d_linse,-d_linse,-0.1]) cube([2*d_linse,d_linse,h_linse+0.2]); } } module anLaser() { union() { translate([0,h_linse/2,d_linse]) rotate([90,0,0]) linsenhalterung(); // translate([0,r_aussparung+h_linse,d_linse]) rotate([90,0,0]) halbe_linsenhalterung(); // translate([-d_linse/2,-2,2*d_linse-h_linse]) cube([d_linse,l_laser,4]); } } module kupplung() { difference() { union() { anMotor(); translate([0,0,2*d_linse+ l_aussparung/1.4]) rotate([0,180,0]) translate([0,-l_laser/2+h_linse/2,0]) anLaser(); } translate(v=[0,0,-1]) cylinder(h=l_motorSchaft, r=r_motorSchaft); } } kupplung();