Das abus plus 88/40 und verwandte systeme aus der abus-plus-Familie sind Zylinderscheibenschlösser (disc detainer). Hier werden durch den Schlüssel scheiben um verschiedene Winkel gedreht, sodass alle Gates korrekt ausgerichtet sind. Bei diesem Schloss werden die Winkel in Schritten von 18 grad codiert, von 90 grad bis 0. Daraus ergibt sich der schließcode (mehr im lockwiki). Da pro Position nur 6 verschiedene Tiefen möglich sind, kann der code auch gut visuell von einem Schlüssel abgelesen werden.




In openSCAD können wir mit

h = 29.0;
l = 6.6;
w = 2.9;
// gap between the two cut sequences
g = 1.3;
// distance from above until cuts start
d = 2.9;
// cut length
c = (l-g)/2;


// lengths of cuts

b1 = 2.6;
b2 = 2.6;
b3 = 1.4;
b4 = 2.6;
b5 = 1.7;
b6 = 1.4;
b7 = 2.6;


eps = 0.01;

// rotations - use to set keycode
// rotationen correspondierend zu tiefen der cuts

r1 = 90-eps;
r2 = 72;
r3 = 54;
r4 = 36;
r5 = 18;
r6 = 0-eps;

// keycode/schließcode

c1 = r6;
c2 = r3;
c3 = r4;
c4 = r3;
c5 = r4;
c6 = r5;
c7 = r4;


// head
translate([-l/2,0,-10])cube([2*l,w,10]);


difference(){
cube([l,w,h]);
// first side of cuts
translate([c,0,h-d-b7])rotate(180-c7)cube([2*c,w,b7+eps]);
translate([c,0,h-d-b7-b6])rotate(180-c6)cube([2*c,w,b6+eps]);
translate([c,0,h-d-b7-b6-b5])rotate(180-c5)cube([2*c,w,b5+eps]);
translate([c,0,h-d-b7-b6-b5-b4])rotate(180-c4)cube([2*c,w,b4+eps]);
translate([c,0,h-d-b7-b6-b5-b4-b3])rotate(180-c3)cube([2*c,w,b3+eps]);
translate([c,0,h-d-b7-b6-b5-b4-b3-b2])rotate(180-c2)cube([2*c,w,b2+eps]);
translate([c,0,h-d-b7-b6-b5-b4-b3-b2-b1])rotate(180-c1)cube([2*c,w,b1+eps]);
// second side of cuts
translate([c+g,w,h-d-b7])rotate(-c7)cube([2*c,w,b7+eps]);
translate([c+g,w,h-d-b7-b6])rotate(-c6)cube([2*c,w,b6+eps]);
translate([c+g,w,h-d-b7-b6-b5])rotate(-c5)cube([2*c,w,b5+eps]);
translate([c+g,w,h-d-b7-b6-b5-b4])rotate(-c4)cube([2*c,w,b4+eps]);
translate([c+g,w,h-d-b7-b6-b5-b4-b3])rotate(-c3)cube([2*c,w,b3+eps]);
translate([c+g,w,h-d-b7-b6-b5-b4-b3-b2])rotate(-c2)cube([2*c,w,b2+eps]);
translate([c+g,w,h-d-b7-b6-b5-b4-b3-b2-b1])rotate(-c1)cube([2*c,w,b1+eps]);

translate([l,-eps/2,h+1])mirror([1,0,0])rotate([0,130,0])cube([l/2,w+eps,1.5]);
translate([0,-eps/2,h+1])rotate([0,130,0])cube([l/2,w+eps,1.5]);
}



einen Schlüssel nach code drucken (hier 6343454 wie auf der Schließkarte). Es scheint etwas besser zu sein den Schlüssel stehend zu drucken.