Files

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:

  1. Nur Racks

    Graph nur mit Racks

  2. Racks + Sensoren

    Graph mit Racks und Sensoren

  3. Racks + Sensoren + Unterverteiler

    Kompletter Graph mit Racks, Sensoren und Unterverteilern


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:

Step 1 Step 2

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:

Step 3 Step 4

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. Step 0

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

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

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