Falls B in Attribute ist, wird auch hier pos aufgezeichnet. damit haben alle INSERTS einen pos eintrag und Skipt läuft durch
This commit is contained in:
+12
-4
@@ -42,6 +42,7 @@ def get_type_of_name(name):
|
|||||||
"MA", # Motor
|
"MA", # Motor
|
||||||
"BG", # Stausensor
|
"BG", # Stausensor
|
||||||
"BP" # Schalter Druckluft
|
"BP" # Schalter Druckluft
|
||||||
|
"QM" # Ventile
|
||||||
]
|
]
|
||||||
|
|
||||||
KabelKey = ["WD"]
|
KabelKey = ["WD"]
|
||||||
@@ -71,7 +72,6 @@ def get_type_of_name(name):
|
|||||||
return typ
|
return typ
|
||||||
|
|
||||||
def get_attributes_of_insert(insert):
|
def get_attributes_of_insert(insert):
|
||||||
|
|
||||||
id = ""
|
id = ""
|
||||||
ld = dict()
|
ld = dict()
|
||||||
typ = 'unknown'
|
typ = 'unknown'
|
||||||
@@ -94,6 +94,8 @@ def get_attributes_of_insert(insert):
|
|||||||
# Suche nach Sensoren
|
# Suche nach Sensoren
|
||||||
typ = get_type_of_name(attr_text)
|
typ = get_type_of_name(attr_text)
|
||||||
id = attr_text
|
id = attr_text
|
||||||
|
pos = attrib.dxf.insert #Position aufzeichnen und bei Bedarf später mit REAL_POS überschreiben
|
||||||
|
ld["pos"] = (round(pos.x, 1), round(pos.y, 1))
|
||||||
|
|
||||||
if attr_tag == "REALE_POSITION" and attr_text == "x":
|
if attr_tag == "REALE_POSITION" and attr_text == "x":
|
||||||
#typ = get_type_of_name(attr_text)
|
#typ = get_type_of_name(attr_text)
|
||||||
@@ -179,10 +181,14 @@ def create_mappings(positions:dict) -> dict:
|
|||||||
sensor2unterverteiler = dict()
|
sensor2unterverteiler = dict()
|
||||||
warnings = list()
|
warnings = list()
|
||||||
for sensorname,v in positions.items():
|
for sensorname,v in positions.items():
|
||||||
|
if "KENNZEICHNUNG" not in v:
|
||||||
|
warnings.append(f"{sensorname}: keine KENNZEICHNUNG vorhanden")
|
||||||
|
continue
|
||||||
|
|
||||||
unterverteiler_pfad = v["KENNZEICHNUNG"]
|
unterverteiler_pfad = v["KENNZEICHNUNG"]
|
||||||
#print(unterverteiler_pfad)
|
#print(unterverteiler_pfad)
|
||||||
|
|
||||||
# PFad zur Karte splitten. Dieser hat z.B. den Inhalt "=AH01+UH02-KF1FDI7"
|
# Pfad zur Karte splitten. Dieser hat z.B. den Inhalt "=AH01+UH02-KF1FDI7"
|
||||||
pattern = r"^=([A-Z]+\d+)([+\-])([A-Z]+\d+)([+\-])([A-Z0-9]+)$"
|
pattern = r"^=([A-Z]+\d+)([+\-])([A-Z]+\d+)([+\-])([A-Z0-9]+)$"
|
||||||
match = re.match(pattern, unterverteiler_pfad)
|
match = re.match(pattern, unterverteiler_pfad)
|
||||||
if match:
|
if match:
|
||||||
@@ -198,8 +204,9 @@ def create_mappings(positions:dict) -> dict:
|
|||||||
warnings.append(unterverteiler_pfad)
|
warnings.append(unterverteiler_pfad)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if not verteiler in dnamen:
|
if verteiler not in dnamen:
|
||||||
dnamen[verteiler] = True
|
dnamen[verteiler] = True
|
||||||
|
|
||||||
sensor2unterverteiler[sensorname] = verteiler
|
sensor2unterverteiler[sensorname] = verteiler
|
||||||
|
|
||||||
# jetzt zu jedem Unterverteiler die zugehörigen Sensoren merken
|
# jetzt zu jedem Unterverteiler die zugehörigen Sensoren merken
|
||||||
@@ -207,7 +214,8 @@ def create_mappings(positions:dict) -> dict:
|
|||||||
for sensorname,verteiler in sensor2unterverteiler.items():
|
for sensorname,verteiler in sensor2unterverteiler.items():
|
||||||
if verteiler not in uv2sensor:
|
if verteiler not in uv2sensor:
|
||||||
uv2sensor[verteiler] = list()
|
uv2sensor[verteiler] = list()
|
||||||
uv2sensor[verteiler].append(sensorname)
|
uv2sensor[verteiler].append(sensorname)
|
||||||
|
|
||||||
return (uv2sensor, warnings)
|
return (uv2sensor, warnings)
|
||||||
|
|
||||||
def get_subdistributor_positions(msp, dist2sensors):
|
def get_subdistributor_positions(msp, dist2sensors):
|
||||||
|
|||||||
Reference in New Issue
Block a user