2.2 KiB
Dokumentation der Funktionsweise einzelner Funktionen und Ausgaben aus plant.py bzw. routing.py
Aufbau des Graphen in unterschiedlichen Ausbaustufen
Die nachfolgenden Bilder zeigen den schrittweisen Aufbau des Graphen aus dem System:
Funktionsweise ausgewählter Funktionen
Beispiel 1: join_racks
Problematik: Racks sind in dxf-Dateien teileweise nicht formschlüssig aneinander angefügt. -> Echte Schnittpunkte sowie "beinahe" Schnittpunkte im Toleranzbereich müssen identifiziert werden und die Kabeltrassen dort verbunden werden.
Hierfür wird "Toleranz-Kreis" festgelegt, welcher das Rack entlangläuft:
Bei einem Schnittpunkt des Kreises mit einem anderen Rack, wird der Aufpunkt des gefunden Racks mit dem entlangzulaufenden Rack verbunden und ein Knoten an dieser Stelle erstellt:
Beispiel 2: connect_sensors_to_racks
Problematik: Sensoren liegen nicht direkt auf Racks und haben keine Information, auf welchem Rack sie am besten angebunden werden.
-> Algorithmus sucht ausgeend von realem Sensor Punkt das nächstgelegene Rack und stelle die kürzeste Vebindung mittels einem "virtuellen Rack" her.
Situation: Horizontales (R1) und vetikales (R2) Rack. Sensor (S) nahe dem Kreuzungspunkt.

Schritt 1: Zeichnen eines Kreises um den Sensor. Schnittpunkt mit Rack?

Schritt 2: Wenn kein Schnittpunkt -> vergrößern des Kreises

Schritt 3: Erzeugung des Aufpunktes auf geschnittenem Rack und verbinden des Aufpunktes mit dem Sensorpunkt via "virtuellem Rack" (vR1)







