diff --git a/cfg/routing.cfg b/cfg/routing.cfg index b9e4820..65029dd 100644 --- a/cfg/routing.cfg +++ b/cfg/routing.cfg @@ -1,18 +1,10 @@ -[Eingänge] -0-0_ILS_EINGANG +# Vorgaben für die Toleranzen +# bei den Kabelpritschen +[Racks] +SnapTolerances=200. +SnapStep=10. -[Ausgänge] -AUSGANG -MOTOR - -[Pritsche] -PRITSCHE_100-60-SCHRAFF -PRITSCHE_200-60 - -[Unterverteiler] -Breite = 320 -Hoehe = 350 - -[Sensor_Marker] -Breite = 80 -Hoehe = 90 +# bei den Sensoren +[Sensoren] +ConnectionTolerances=1000. +ConnectSnap=50. diff --git a/lib/routing.py b/lib/routing.py index 59a4836..02eac8a 100644 --- a/lib/routing.py +++ b/lib/routing.py @@ -8,6 +8,7 @@ import networkx as nx from shapely.geometry import LineString, Point from shapely.ops import nearest_points from plant import Anlage +import configparser # Funktionen def load_json(jsonfilename): @@ -51,8 +52,13 @@ def create_plant(racks:dict, sensors:dict, distributors:dict, mapping:dict) -> d # "FC0062" # ] # } - - an = Anlage() + + tol_snap = config.getfloat("Racks", "SnapTolerances") + snap_step = config.getfloat("Racks", "SnapStep") + tol_connect = config.getfloat("Sensoren", "ConnectionTolerances") + tol_connect_step = config.getfloat("Sensoren", "ConnectSnap") + + an = Anlage(tol_snap=tol_snap, snap_step=snap_step, tol_connect=tol_connect, tol_connect_step=tol_connect_step) # Füge racks aus Daten hinzu an.set_racks(racks) # Verbinde Racks miteinander (ggf. verlängere ungenaue Racks) @@ -140,6 +146,11 @@ if __name__ == "__main__": rawdata = load_json(sensors_path) (racks, sensors, subdists, mapping) = prepare_data(rawdata) + config = configparser.ConfigParser(allow_no_value=True, delimiters=("=")) + config.optionxform = lambda option: option # preserve case for letters + config.read(os.path.join(config_dir, "routing.cfg")) + + # virtuelle Anlage erstellen cable_paths = create_plant(racks, sensors, subdists, mapping) if args.console: