Das schöne Schloss von boianka - Schlüsseljagd
Moderatoren: Retak, Crocheteur
Das schöne Schloss von boianka - Schlüsseljagd
Ich dachte mir ich mache mal ein neues Thema dafür auf, denn boianka hat mir, wie hier geschrieben, ein schönes S&G 833 geschenkt
Offen ist es nach einigen Stunden picken und natürlich gibts keinen Schlüssel dazu. Also werde ich versuchen, einen zu fertigen und den Prozess hier beschreiben (optimistisch wie ich bin, mit der Erwartung dass es erfolgreich verlaufen wird, ansonsten habt ihr was zu kichern ).
Offen ist es nach einigen Stunden picken und natürlich gibts keinen Schlüssel dazu. Also werde ich versuchen, einen zu fertigen und den Prozess hier beschreiben (optimistisch wie ich bin, mit der Erwartung dass es erfolgreich verlaufen wird, ansonsten habt ihr was zu kichern ).
Re: Das schöne Schloss von boianka - Schlüsseljagd
Hier haben wir schonmal die Pins:
Interessant an den Pins ist, dass der letzte Pin ein ARX Pin ist, wohingegen alle anderen reguläre, "alte" Medeco Pins sind.
Als nächstes hab ich die Länge der Pins vermessen, dabei gabs folgende Messungen (in mm):
7.00, 5.80, 6.40, 7.70, 7.70, 9.00
Davon abzuziehen ist natürlich die Distanz zwischen Ende des Profils und Kern, was ich frontal ausgemessen und davon den Kernüberstand nochmal abgezogen habe (ergibt dann 4.87 mm Abzug). Da ich das ganze nun mit Maßangaben in einer Software abgleichen will, muss ich die Werte auch noch von der Rohlinghöhe abziehen (denn Schnitttiefen werden hier meist nicht direkt sondern indirekt über das verbleibende Material bis zum Rohlingrücken angegeben). Der Rohling wird mit 7.8 mm Höhe angegeben.
Damit haben wir folgende Maßangaben:
5.67, 6.87, 6.27, 4.97, 4.97, 3.67
In Software werden folgende möglichen Höhen angegeben (von 6 nach 1): 3.73, 4.37, 5.00, 5.64, 6.27, 6.90
Unsere Maße sind also ziemlich gut (Abweichungen alle <= 0.06mm), wir sind da also vermutlich auf dem richtigen Dampfer.
In Software wäre die Kodierung (ohne die Drehungen): 3, 1, 2, 4, 4, 6
In AutoKey3D werden die Positionen anders berechnet, der tiefste Schnitt ist hier 0, der zweittiefste 1, usw., daher ist die AutoKey Kodierung hier: 3, 5, 4, 2, 2, 0
Wichtig: Hätten wir die Software hier nicht, könnten wir mit diesen Maßen trotzdem arbeiten, es wäre nur etwas mehr Reverse Engineering bestimmter Werte, die wir im nächsten Post (morgen!) brauchen.
Interessant an den Pins ist, dass der letzte Pin ein ARX Pin ist, wohingegen alle anderen reguläre, "alte" Medeco Pins sind.
Als nächstes hab ich die Länge der Pins vermessen, dabei gabs folgende Messungen (in mm):
7.00, 5.80, 6.40, 7.70, 7.70, 9.00
Davon abzuziehen ist natürlich die Distanz zwischen Ende des Profils und Kern, was ich frontal ausgemessen und davon den Kernüberstand nochmal abgezogen habe (ergibt dann 4.87 mm Abzug). Da ich das ganze nun mit Maßangaben in einer Software abgleichen will, muss ich die Werte auch noch von der Rohlinghöhe abziehen (denn Schnitttiefen werden hier meist nicht direkt sondern indirekt über das verbleibende Material bis zum Rohlingrücken angegeben). Der Rohling wird mit 7.8 mm Höhe angegeben.
Damit haben wir folgende Maßangaben:
5.67, 6.87, 6.27, 4.97, 4.97, 3.67
In Software werden folgende möglichen Höhen angegeben (von 6 nach 1): 3.73, 4.37, 5.00, 5.64, 6.27, 6.90
Unsere Maße sind also ziemlich gut (Abweichungen alle <= 0.06mm), wir sind da also vermutlich auf dem richtigen Dampfer.
In Software wäre die Kodierung (ohne die Drehungen): 3, 1, 2, 4, 4, 6
In AutoKey3D werden die Positionen anders berechnet, der tiefste Schnitt ist hier 0, der zweittiefste 1, usw., daher ist die AutoKey Kodierung hier: 3, 5, 4, 2, 2, 0
Wichtig: Hätten wir die Software hier nicht, könnten wir mit diesen Maßen trotzdem arbeiten, es wäre nur etwas mehr Reverse Engineering bestimmter Werte, die wir im nächsten Post (morgen!) brauchen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- mhmh
- Unbeschreiblich
- Beiträge: 3842
- Registriert: 5. Apr 2006 12:45
- Eigener Benutzer Titel: Franzose
- Wohnort: bei Muenchen
Re: Das schöne Schloss von boianka - Schlüsseljagd
Andere schneiden solche Schlüssel aus Plastikkarten, aber war ja klar, dass bei Dir gleich noch Software dabei herauskommen wird, um jeden anderen Schlüssel auch generieren zu können...
Re: Das schöne Schloss von boianka - Schlüsseljagd
Nenene.. sowas machen wir hier nicht. Wenn schon dann richtigmhmh hat geschrieben:Andere schneiden solche Schlüssel aus Plastikkarten, ...
AutoKey3D kann eigentlich schon alles dafür, außer die Rotation der Schnitte. Das ist nicht schwer zu implementieren, werd ich wohl im nächsten Post ausführen.mhmh hat geschrieben:war ja klar, dass bei Dir gleich noch Software dabei herauskommen wird, um jeden anderen Schlüssel auch generieren zu können...
Re: Das schöne Schloss von boianka - Schlüsseljagd
Als nächstes erstellen wir die Systemdefinition für das Medeco Biaxial in AutoKey3D:
Die Schlüssellänge hab ich von einem existierenden Schlüssel hier gemessen, manchmal wird er in Software auch angegeben. Könnte man allerdings auch schätzen, wichtig ist, dass er lange genug ist.
In der Software, aus der ich die Maße nehme, sind 2 Anschläge angegeben, vermutlich einer für den regulären Schlüssel und einer für den Control Key. Ich trag hier mal beide ein, wähle aber den ersten aus, also 5.41. Da der Anschlag bei AutoKey3D in der Regel nicht über das Profil hinausragt, dürfte der sowieso dann auch in die andere Richtung drehbar sein.
Der Abstand der Pins, kann man aus den Maßen errechnen, die in der Software angegeben sind. Alternativ kann man es auch am Zylinder abmessen.
Der tiefste Schnitt (also was die 0 in AutoKey3D ist). Da die Maße in der Bezugssoftware in Relation zum Rücken angegeben sind, ziehen wir es von der Schlüsselhöhe ab (Schlüsselhöhe = Profilhöhe - 2 x Toleranz).
Wie groß ist ein Höhensprung im System? Wenn man die Werte aus der Bezugssoftware nimmt, sieht man, dass die Differenz alterniert zwischen 0.63 und 0.64. Wir nehmen daher 0.635 damit es nicht zu größeren Abweichungen beim Aufaddieren kommt.
Der Schnittwinkel ist in meiner Bezugssoftware nicht angegeben (Hint: Falls irgendwer hier eine verwendet, die den Winkel oder andere Maße noch genauer kennt, nicht zögern und mich hier korrigieren). Ich hab den Winkel von einem existierenden Schlüssel abgenommen und ungefähr geschätzt.
Wir breit das Schnittplateau ist, der Wert ist in der Bezugssoftware angegeben.
Die Schlüsseldicke, gemessen von einem existierenden Schlüssel. Ihr werdet euch jetzt sicher fragen wofür wir das brauchen. Die Antwort ist, dass wir später die Cutter für die Schnitte über der Schlüsselmitte zentrieren müssen, bevor wir sie rotieren, weil die Drehachse ja genau die Mitte der Längsrichtung des Schlüssels ist. Normalerweise brauchen wir diese Angabe sonst nur bei Bohrmuldensystemen um die Cutter zu Nullen.
Jetzt haben wir schonmal alles, was wir sonst auch für reguläre Schlüssel bräuchten. Was fehlt ist ein Weg, die Rotation mit reinzubringen (Wem das zu kompliziert wird, kann nun einfach das nächste Post lesen .) Dazu hab ich eine kleine Änderung an AutoKey3D vorgenommen und den Code für "reguläre" Schnitte in eine extra Datei ausgelagert, die wir hier includen können. Prinzipiell kann jede Definition ihre eigenes Modul keycombcuts definieren und dort machen was sie will mit dem Schlüssel. Was wir machen wollen ist ja aber fast das gleiche wie für reguläre Schlüssel, nur mit ein bisschen drehen. Daher macht es Sinn, den bisherigen Code zu erweitern und einfach zu includen:
Und in regularcut.scad kopieren wir den bisherigen Code für reguläre Schnitte, und ändern ihn wie folgt ab:
erweitern wir um 2 Parameter:
Der erste Parameter rot ist die Rotation des Schnitts, der zweite Parameter xcorr ist die X-Korrektur des Schnitts von der absoluten Mitte in Richtung Schlüssel. Also der Wert den wir benutzen wollen, um den Schnitt richtig über den Schlüssel zu zentrieren. Dann fügen wir zwei Statements ein, und zwar vor
Dort wird der Cutter gebaut, wir ändern das wie folgt ab, um den Cutter erst zu drehen, dann richtig in X-Richtung zu zentrieren:
Jetzt haben wir also in unserem Code für reguläre Schnitte die Möglichkeit, die Rotation und X-Korrektur zu übergeben (pro Schnitt). Jetzt können wir zurück in unserer Definitionsdatei für das System einfach folgenden Code verwenden:
Sieht kompliziert aus, ist es aber nicht:
Die Funktion geht die übergebene Kombination durch, und geht davon aus, dass die folgendes Format hat: Code,Rotation,Code,Rotation,Code,Rotation, ...
Wir gehen also in Zweierschritten über die Kombination, übergeben den ersten Teil als die übliche Kombination, den Teil der direkt folgt, als Rotation in Grad, und die Hälfte der Schlüsseldicke als X-Korrektur damit es auch zentriert ist. Schöner wäre es natürlich, wenn man es noch so baut, dass man anstatt den Gradzahlen einfach L, R und C angeben kann. Es gibt bei Medeco nur drei mögliche Drehrichtungen, wobei die Drehung nach Rechts bzw. Links eben 20° in die Richtung ist.
Fehlt uns noch das Profil, auf zum nächsten Post...
Code: Alles auswählen
// Key length
kl=33.2;
Code: Alles auswählen
// 0 or 1 for regular or control
kidx = 0;
// Shoulder
aspaces = [5.41, 6.99];
aspace = aspaces[kidx];
Code: Alles auswählen
// Pin distance
pinspace = 4.32;
Code: Alles auswählen
// Highest cut
hcut = ph - 2*tol - 3.73;
Code: Alles auswählen
// Cut spacing
cutspace = 0.635; // Actually alternating between 0.63/0.64
Code: Alles auswählen
// Cut angle
cutangle = 98;
Code: Alles auswählen
// Plateau spacing of the cut
platspace = 0.38;
Code: Alles auswählen
kt = 2.3; // Key thickness
Jetzt haben wir schonmal alles, was wir sonst auch für reguläre Schlüssel bräuchten. Was fehlt ist ein Weg, die Rotation mit reinzubringen (Wem das zu kompliziert wird, kann nun einfach das nächste Post lesen .) Dazu hab ich eine kleine Änderung an AutoKey3D vorgenommen und den Code für "reguläre" Schnitte in eine extra Datei ausgelagert, die wir hier includen können. Prinzipiell kann jede Definition ihre eigenes Modul keycombcuts definieren und dort machen was sie will mit dem Schlüssel. Was wir machen wollen ist ja aber fast das gleiche wie für reguläre Schlüssel, nur mit ein bisschen drehen. Daher macht es Sinn, den bisherigen Code zu erweitern und einfach zu includen:
Code: Alles auswählen
include <includes/regularcut.scad>;
Code: Alles auswählen
module keycombcut(cutnum, cutlevel, lcut_mode=false, lcut1=false, lcut2=false) {
Code: Alles auswählen
module keycombcut(cutnum, cutlevel, lcut_mode=false, lcut1=false, lcut2=false, rot=0, xcorr=0) {
Code: Alles auswählen
translate([0,0,platspace/2]) // Center the original plateau over the pin
hull() { ...
Code: Alles auswählen
translate([xcorr,0,0])
rotate([0,rot,0])
translate([0,0,platspace/2]) // Center the original plateau over the pin
hull() { ...
Jetzt haben wir also in unserem Code für reguläre Schnitte die Möglichkeit, die Rotation und X-Korrektur zu übergeben (pro Schnitt). Jetzt können wir zurück in unserer Definitionsdatei für das System einfach folgenden Code verwenden:
Code: Alles auswählen
module keycombcuts() {
for (i = [0:2:len(keycomb)-1]) {
keycombcut(i/2, keycomb[i], false, false, false, keycomb[i+1], kt/2);
}
}
Die Funktion geht die übergebene Kombination durch, und geht davon aus, dass die folgendes Format hat: Code,Rotation,Code,Rotation,Code,Rotation, ...
Wir gehen also in Zweierschritten über die Kombination, übergeben den ersten Teil als die übliche Kombination, den Teil der direkt folgt, als Rotation in Grad, und die Hälfte der Schlüsseldicke als X-Korrektur damit es auch zentriert ist. Schöner wäre es natürlich, wenn man es noch so baut, dass man anstatt den Gradzahlen einfach L, R und C angeben kann. Es gibt bei Medeco nur drei mögliche Drehrichtungen, wobei die Drehung nach Rechts bzw. Links eben 20° in die Richtung ist.
Fehlt uns noch das Profil, auf zum nächsten Post...
Re: Das schöne Schloss von boianka - Schlüsseljagd
Nach so viel Code brauchen wir erstmal wieder Bildchen, ne?
Daraus extrahieren wir nun das Profil. Ich mach das mit dem Isolator aus AutoKey3D, verwende hier nur lokal eine Weiterentwicklung die ich noch nicht veröffentlich habe (geht aber mit dem bisherigen Code genauso gut):
So siehts aus nachdem die (sonst recht erfolgreiche) Automatik drüber lief. Hier nicht so erfolgreich aber das können wir mit ein paar Klicks natürlich korrigieren:
Und damit haben wir das Profil. Das speichern wir nun ab als MD-BIAX.svg und legen dazu eine Datei MD-BIAX.def an, die folgende Angaben enthält:
Dabei handelt es sich lediglich um unsere Standardtoleranz von 0.2mm sowie der Profilhöhe. Da wir in der Bezugssoftware bereits die Rohlinghöhe gegeben haben (7.8mm), können wir die Profilhöhe einfach als Rohlinghöhe + 2 x Toleranz angeben.
Damit sollten wir nun insgesamt in der Lage sein, den Schlüssel als Modell zu erzeugen, vorausgesetzt wir haben die Kombination.
Daraus extrahieren wir nun das Profil. Ich mach das mit dem Isolator aus AutoKey3D, verwende hier nur lokal eine Weiterentwicklung die ich noch nicht veröffentlich habe (geht aber mit dem bisherigen Code genauso gut):
So siehts aus nachdem die (sonst recht erfolgreiche) Automatik drüber lief. Hier nicht so erfolgreich aber das können wir mit ein paar Klicks natürlich korrigieren:
Und damit haben wir das Profil. Das speichern wir nun ab als MD-BIAX.svg und legen dazu eine Datei MD-BIAX.def an, die folgende Angaben enthält:
Code: Alles auswählen
// The tolerance to use when removing material from the profile
tol = 0.2;
// Key profile height (including tolerance, i.e. measured on the lock, not the blank)
// If you have information on the key blank height, add 2*tol.
ph=7.8 + 2*tol;
Damit sollten wir nun insgesamt in der Lage sein, den Schlüssel als Modell zu erzeugen, vorausgesetzt wir haben die Kombination.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- boianka
- Unverzichtbar, Unkündbar und Unverwundbar
- Beiträge: 7024
- Registriert: 25. Mai 2008 14:24
- Wohnort: Bonn
Re: Das schöne Schloss von boianka - Schlüsseljagd
Boah ! - Wahnsinn ! - Auch wenn ich Deinen Gedankengängen nur begrenzt folgen kann, Du kriegst von mir ein Fleißkärtchen !
Re: Das schöne Schloss von boianka - Schlüsseljagd
Noch ist nicht aller Tage Abend. Ich werd erst nächste Woche Mittwoch/Donnerstag tatsächlich was drucken können und dann wird sich herausstellen ob es a) passt und b) ob das Schloss nicht zu störrisch für den resultierenden Schlüssel ist. Ich hab ein paar Biaxial hier, die sind selbst mit Metallschlüssel nur mit jede Menge Kraft schliessbar...boianka hat geschrieben:Boah ! - Wahnsinn ! - Auch wenn ich Deinen Gedankengängen nur begrenzt folgen kann, Du kriegst von mir ein Fleißkärtchen !
Re: Das schöne Schloss von boianka - Schlüsseljagd
So, weiter im Programm. Im zweiten Post haben wir ja bereits die Kombination bestimmt. Für AutoKey3D ausgedrückt wäre das 3, 5, 4, 2, 2, 0.
Da fehlen aber die Angaben über die jeweilige Rotation der Pins. Ich hab dafür mal die Pins in den Kern eingesetzt und etwas angehoben:
Ich weiß nicht wie die Rotation typischerweise in der Bezugssoftware angegeben wird, aber ich kenne es so, dass wenn man frontal auf das Schloss schaut und dann der Pin im Uhrzeigersinn (so, dass die rechte Ecke weiter vorne ist) gedreht wird, das ganze als R bezeichnet wird, und gegen den Uhrzeigersinn eben als L (somit die linke Ecke der Pinspitze weiter vorne ist). Keine Rotation wäre C (für Center).
Wenn wir hier nun von unten schauen, können wir schauen in welche Richtung der Pin gedreht werden muss, damit die Gates (die oberen Schnitte) alle gerade nach oben zeigen. Allerdings müssen wir dann, da wir von unten (und nicht von oben) schauen, die Drehrichtung links mit R und die nach rechts mit L übernehmen.
Somit wäre das für das Bild hier (von rechts nach links, rechts ist Pin 1): links (R), rechts (L), links (R), rechts (L), links (R), keine Drehung (C). Also R, L, R, L, R, C. Wenn jemand da ein besseres System oder die offizielle Nomenklatur hat, möge er sprechen
Für unsere Kombination müssen wir das allerdings in Gradzahlen umsetzen. C ist einfach, das ist 0. R ist -20°, weil rechts (im Uhrzeigersinn) als mathematisch negativ definiert ist. L entsprechend 20°.
Wenn wir das nun mit der Kombination von oben kombinieren ( ), dann müsste diese lauten: 3, -20, 5, 20, 4, -20, 2, 20, 2, -20, 0, 0.
Da fehlen aber die Angaben über die jeweilige Rotation der Pins. Ich hab dafür mal die Pins in den Kern eingesetzt und etwas angehoben:
Ich weiß nicht wie die Rotation typischerweise in der Bezugssoftware angegeben wird, aber ich kenne es so, dass wenn man frontal auf das Schloss schaut und dann der Pin im Uhrzeigersinn (so, dass die rechte Ecke weiter vorne ist) gedreht wird, das ganze als R bezeichnet wird, und gegen den Uhrzeigersinn eben als L (somit die linke Ecke der Pinspitze weiter vorne ist). Keine Rotation wäre C (für Center).
Wenn wir hier nun von unten schauen, können wir schauen in welche Richtung der Pin gedreht werden muss, damit die Gates (die oberen Schnitte) alle gerade nach oben zeigen. Allerdings müssen wir dann, da wir von unten (und nicht von oben) schauen, die Drehrichtung links mit R und die nach rechts mit L übernehmen.
Somit wäre das für das Bild hier (von rechts nach links, rechts ist Pin 1): links (R), rechts (L), links (R), rechts (L), links (R), keine Drehung (C). Also R, L, R, L, R, C. Wenn jemand da ein besseres System oder die offizielle Nomenklatur hat, möge er sprechen
Für unsere Kombination müssen wir das allerdings in Gradzahlen umsetzen. C ist einfach, das ist 0. R ist -20°, weil rechts (im Uhrzeigersinn) als mathematisch negativ definiert ist. L entsprechend 20°.
Wenn wir das nun mit der Kombination von oben kombinieren ( ), dann müsste diese lauten: 3, -20, 5, 20, 4, -20, 2, 20, 2, -20, 0, 0.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Re: Das schöne Schloss von boianka - Schlüsseljagd
Nun setzen wir das zusammen mit folgendem Befehl:
Dabei ist definitions/MD-BIAX.scad die Systemdefinition aus dem fünften Post, profiles/MD-BIAX.svg ist das isolierte Profil aus dem sechsten Post, und mit --key geben wir die eben erarbeitete Kombination ein.
Als Resultat erhalten wir dann folgendes:
Ob dieser Schlüssel nun passt und schließt, das wird sich erst nächste Woche zeigen, wenn ich ihn auch drucken kann. Sollte er passen, könnte man ihn auch entsprechend aus Messing drucken lassen, bei dem Wert des Schlosses sicherlich eine Überlegung.
Code: Alles auswählen
python AutoKey.py --definition definitions/MD-BIAX.scad --profile profiles/MD-BIAX.svg --key 3,20,1,-20,2,20,4,-20,4,20,6,0
Als Resultat erhalten wir dann folgendes:
Ob dieser Schlüssel nun passt und schließt, das wird sich erst nächste Woche zeigen, wenn ich ihn auch drucken kann. Sollte er passen, könnte man ihn auch entsprechend aus Messing drucken lassen, bei dem Wert des Schlosses sicherlich eine Überlegung.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.