Mit dem openSCAD code

$fn = 100;
eps = 0.01;

b = 1.85;
l = 27.7;
h = 8;
tip_len = 3.5;

// profil/keway parameters
d1 = 2.2;
g1 = 0.8;

d2 = 2.7;
g2 = 2.9;

d3 = 2.6;
g3 = 5.9;

// head
translate([0,-10+h+0.2,-10])cube([b,10,10]);

//keycode

c1 = 4;
c2 = 2;
c3 = 5;
c4 = 6;
c5 = 7;

// spacing
sp = 4.1;
// start of bitting
begin = 4.5;

// depth steps
d = 0.5;
// scaling factor for bitting angle (larger = more open)
s = 3;

difference(){
translate([0,0,0])cube([b,h,l]);
    
// profil
translate([b,h-d1/2-g1,0])cylinder(r = d1/2,h=l+eps);
translate([0,h-d2/2-g2,0])cylinder(r=d2/2,h=l+eps);
translate([b,h-d3/2-g3,0])cylinder(r = d3 /2,h=l+eps);
 
// bitting
a1 = [[-sqrt(s)*c1*d,0],[0,c1*d],[sqrt(s)*c1*d,0]];
translate([0,0,begin])rotate([0,90,0])linear_extrude(b) polygon(a1); 
a2 = [[-sqrt(s)*c2*d,0],[0,c2*d],[sqrt(s)*c2*d,0]];
translate([0,0,begin+sp])rotate([0,90,0])linear_extrude(b) polygon(a2); 
a3 = [[-sqrt(s)*c3*d,0],[0,c3*d],[sqrt(s)*c3*d,0]];
translate([0,0,begin+2*sp])rotate([0,90,0])linear_extrude(b) polygon(a3); 
a4 = [[-sqrt(s)*c4*d,0],[0,c4*d],[sqrt(s)*c4*d,0]];
translate([0,0,begin+3*sp])rotate([0,90,0])linear_extrude(b) polygon(a4);     
a5 = [[-sqrt(s)*c5*d,0],[0,c5*d],[sqrt(s)*c5*d,0]];
translate([0,0,begin+4*sp])rotate([0,90,0])linear_extrude(b) polygon(a5); 
 
// tip
translate([0,0,l-tip_len-1])rotate([50,0,0])cube([b,10,10]);
translate([0,h+0,l-tip_len])mirror([0,1,0])rotate([50,0,0])cube([b,5,5]);
};



kann ein Schlüssel für die gängigen abus-systeme C83 und co nach code gedruckt werden. Das Profil (abus standardprofil) ist sehr gängig und passt für wesentlich mehr Systeme. Hier müssen aber die Pinabstände und Stufen anders eingestellt werden. Ein gedruckter Rohling könnte vermutlich auch zum Handfeilen/Impressionieren geeignet sein. Es empfiehlt sich nach meiner Erfahrung das liegende Drucken.