Rack längen werden in ihrer gesplitteten Form (Rack 2-0, Rack 2-1) aus routing.py an drawdxf.py übergeben und in Excel Ausgabe aufgenommen. c-, v-, t-, und d-Racks werden ignoriert
This commit is contained in:
+15
-3
@@ -284,6 +284,7 @@ class Anlage():
|
||||
def __init__(self, tol_snap=200.0, tol_connect=5000.0):
|
||||
# Container für alle Racks
|
||||
self._racks = RackIDs(tol_snap=tol_snap)
|
||||
self._rack_lengths = defaultdict(float)
|
||||
# zuordnung zwischen KnotenID und Punkt
|
||||
self._nodeids = NodeIDs()
|
||||
# Container für alle Sensoren
|
||||
@@ -465,6 +466,9 @@ class Anlage():
|
||||
def join_racks(self):
|
||||
self._racks.join_racks_str()
|
||||
|
||||
def get_rack_lengths(self) -> dict[str, float]:
|
||||
return self._rack_lengths
|
||||
|
||||
def find_nearest_rack_from_point_STR_bbox(self, max_dist, pt:Point) -> tuple[Point, str]:
|
||||
if self._racks._rack_tree is None:
|
||||
self._racks._build_rack_strtree()
|
||||
@@ -562,7 +566,6 @@ class Anlage():
|
||||
dz = 0.0
|
||||
|
||||
weight = math.sqrt(dx**2 + dy**2 + dz**2)
|
||||
#weight=start.distance(end)
|
||||
|
||||
if re.match("v-.*", rname):
|
||||
color = "red"
|
||||
@@ -578,6 +581,9 @@ class Anlage():
|
||||
color = "black"
|
||||
|
||||
G.add_edge(nid_start, nid_end, color=color, weight=weight)
|
||||
|
||||
self._rack_lengths[rname] += round(weight/1000, 1)
|
||||
|
||||
return self._node_positions
|
||||
|
||||
def map_distributor_to_sensors(self, dname:str, snamen:list[str]):
|
||||
@@ -606,7 +612,7 @@ class Anlage():
|
||||
def create_cable_paths(self, G) -> dict:
|
||||
pfade = dict()
|
||||
pfade["kabel"] = list()
|
||||
pfade["errors_routing"] = dict()
|
||||
|
||||
routing_errors = dict() # Fehler Liste für fehlgeschlagene Kabelverbindungen
|
||||
for sname, dname in self._sensor2dist.items():
|
||||
try:
|
||||
@@ -634,10 +640,16 @@ class Anlage():
|
||||
|
||||
pfade["kabel"].append(ld)
|
||||
|
||||
|
||||
pfade["rack_lengths"] = {
|
||||
rname: round(length, 1)
|
||||
for rname, length in self._rack_lengths.items()
|
||||
}
|
||||
|
||||
pfade["errors_routing"] = dict()
|
||||
lOfDistErrors = list() # sammeln wo keine Verbindung zwischen Dist und Senor möglich war
|
||||
for dname,lofSensornamen in routing_errors.items():
|
||||
lOfDistErrors.append({"unterverteiler":dname, "sensoren":lofSensornamen})
|
||||
|
||||
pfade["errors_routing"] = lOfDistErrors
|
||||
|
||||
return pfade
|
||||
|
||||
Reference in New Issue
Block a user