profil module
Modul zur Erstellung und Speicherung von Optikprofilen.
Das Modul enthält Methoden zum Speichern und Einlesen von Optikprofilen und verwendet dafür Funktionen zur Datei- und Stringmanipulation.
- class profil.Optik[Quellcode]
Bases:
object
- __init__()[Quellcode]
Wird aufgerufen, wenn ein Optik-Objekt erzeugt wird.
Der Konstruktior deklariert und initialisiert Profil-relevante Variablen.
- profil_bereinigen()[Quellcode]
Bereitet die abgetasteten X- und Z-Koordinaten eines Profiles so auf, damit sie vom CNC-Controller abgefahren werden können.
Bei den Z-Koordinaten wird zunächst der größte Z-Wert ermittelt und bei allen Z-Koordinaten abgezogen \({Z_{neu} = Z_i - Z_{max}}\). Bei den X-Koordinaten wird ebenfalls der größte X-Wert ermittelt und anschließend die Differenz \(X_{neu} = {X_{max} - X_i}\) gebildet. Diese beiden Operationen bewirken, dass das gesamte Profil an der vertikalen Achse gespiegelt und das 1. Koordiantenpaar in den Ursprung gelegt wird.Die neuen Koordinaten können im Anschluss mittels relativer Positionierung (G91) abgefahren werden.
- profil_einlesen(pfad)[Quellcode]
Liest ein vorhandes Profil ein.
Der Inhalt einer Profildatei liegt immer im Format
attribut:wert
vor. Kommentarzeilen werden mit dem Zeichen#
gekennzeichnet und beim zeilenweisen Einlesen verworfen. Der eingelesene Inhalt wird anschließend in teils verschachtelten (2-dimensionalen) Listen gespeichert.Bemerkung
Eine Profildatei hat immer die Endung
*.profil
und muss, wenn nicht in den Grundeinstellungen anders definiert, im Verzeichnis~\Python\linsenfischer\profile
abgelegt sein. Sie besteht grundsätzlich aus den drei Abschnitten Allgemeine Daten, Reinigungsparameter und aus den optionalen Profilkoordinaten.- Parameter
pfad (str) – Pfad zur Profildatei z.B.
\home\wild\Python\linsenfischer\profile\achromat_1.profil
- profil_speichern(pfad, allgemeine_daten, reinigungs_parameter)[Quellcode]
Erstellt ein Profil und speichert dieses anschließend in einer Profildatei.
Die zu speichernden Werte werden zuvor aus den Eingabefeldern der GUI ausgelesen. Wurde auch ein Profil der Optik aufgenommen wird dieses in Form von X- und Z-Koordinatenpaaren gespeichert (
X:Z
). Alle Eigenschaften und Parameter werden zeilenweise in der Formattribut:wert
gespeichert. Kommentarzeilen werden mit dem Zeichen#
gekennzeichnet und zwischen den drei Abschnitten eingefügt.Allgemeine Daten:
Kunde: Freier Text
Artikelnummer: Freier Text
Seite: kann 0 (oben) und 1 (unten) sein
Krümmung: kann 0 (konvex), 1 (konkav) und 2 (planar) sein.
Reinigungs-Parameter:
Lösungsmittel: Menge des Lösungsmittels in \({\mu l}\)
Linsenradius: Radius der Linse in mm
Servowinkel: Winkel des Reinigungskopfes in °
Drehzahl: Drehzahl des Drehtellers in 1/min
Wiederholungen: Anzahl der Reinigungswiederholungen, einheitenlos
X-Offset: X-Versatz zum Reinigungsstartpunkt in mm
Z-Offset: Z-Versatz zum Reinigungsstartpunkt in mm
Krümmungsradius: Radius der Oberfläche (wird berechnet) in mm
Bemerkung
Eine Profildatei hat immer die Endung
*.profil
und muss, wenn nicht in den Grundeinstellungen anders definiert, im Verzeichnis~\Python\linsenfischer\profile
abgelegt sein. Sie besteht grundsätzlich aus den drei Abschnitten Allgemeine Daten, Reinigungsparameter und aus den optionalen Profilkoordinaten.- Parameter
pfad (str) – Pfad zur Profildatei
allgemeine_daten (dict) – Enthält die allgemeinen Daten zu einer Optik als (str)
reinigungs_parameter (dict) – Enthält die Reinigungsparameter einer Optik als (str).
- update_profilkoordinaten(profil)[Quellcode]
Befüllt die klasseninterne, zweidimensionale Liste
profilkoordinaten
mit X- und Z-Koordinaten, welche bei der Profilabtastung ermittelt wurden.- Parameter
profil (list) – Liste aus Koordinatenpaaren in der Form [‚X:Z‘] (str)