Omniflo hat jetzt Stopper und scanner
This commit is contained in:
+6
-1
@@ -34,4 +34,9 @@ winkel_es = 3.0
|
||||
[Omniflo]
|
||||
OFgeradesivas = 821106002
|
||||
Tefgeradesivas = 0_B10030
|
||||
OFfoerderer = 2
|
||||
OFfoerderer = 2
|
||||
[Scanner_Stoper_namen]
|
||||
Omniflo_stopper = 827062022
|
||||
Omniflo_scanner = _DUMMY_SCANNER
|
||||
ILS_scanner = SCAN
|
||||
ILS_seperator = S-LP
|
||||
@@ -16,7 +16,7 @@ class Omniflo(BaseModel):
|
||||
h0: Optional[float] = Field(default = 0.0,description="Höhe unten im CSV")
|
||||
h1: Optional[float] = Field(default = 0.0, description="Höhe Oben im CSV")
|
||||
anzahl_scanner: Optional [int] = Field(default=0, description="Anzahl der Scanner")
|
||||
anzahl_separatoren: Optional [int] = Field(default=0, description="Anzahl der Separatoren")
|
||||
anzahl_stopper: Optional [int] = Field(default=0, description="Anzahl der Separatoren")
|
||||
|
||||
@property
|
||||
def hight_zwischen(self):
|
||||
@@ -45,11 +45,11 @@ class Omniflo(BaseModel):
|
||||
except Exception:
|
||||
h1 = 0.0
|
||||
try:
|
||||
anzahl_scanner = int(merkmale.get("Anzahl der Scanner", "0").replace(",", ".")) * 1000 # Meter → mm
|
||||
anzahl_scanner = float(merkmale.get("Anzahl der Scanner", "0"))
|
||||
except Exception:
|
||||
anzahl_scanner = 0
|
||||
try:
|
||||
anzahl_separatoren = float(merkmale.get("Anzahl der Separatoren", "0").replace(",", ".")) * 1000 # Meter → mm
|
||||
anzahl_separatoren = float(merkmale.get("Anzahl der Separatoren", "0"))
|
||||
except Exception:
|
||||
anzahl_separatoren = 0
|
||||
return cls(
|
||||
@@ -63,7 +63,7 @@ class Omniflo(BaseModel):
|
||||
h0 = h0,
|
||||
h1 = h1,
|
||||
anzahl_scanner = anzahl_scanner,
|
||||
anzahl_separatoren = anzahl_separatoren
|
||||
anzahl_stopper = anzahl_separatoren
|
||||
)
|
||||
def Omniflo_geraden_erstellung(msp, doc, tefsivas, omniflo_objekt):
|
||||
"""Erstellung der Tef gerade und Omniflo gerade"""
|
||||
|
||||
+58
-24
@@ -99,7 +99,7 @@ def handle_ils_2_0_gefaellestrecke(msp, teileid, merkmale, x, y, doc, lib_doc, v
|
||||
verbunden_am_einen = False
|
||||
richtung2 ="DEFAULT"
|
||||
unterschiedlich = False
|
||||
anzahl_seperatoren_oder_scan(msp, doc, lib_doc, gefaelle_objekt)
|
||||
anzahl_seperatoren_oder_scan(msp, doc, lib_doc, gefaelle_objekt,config)
|
||||
for nachbarn in strecken_nachbarn:
|
||||
if teileid == nachbarn.get("Id"):
|
||||
gefaellestrecke_nachbarn = nachbarn
|
||||
@@ -336,7 +336,7 @@ def handle_ils_2_0_variofoerderer(msp, teileid, merkmale, x, y, doc, lib_doc, ve
|
||||
upper_hoehe_vario= foerderer.h1
|
||||
lower_hoehe_vario = foerderer.h0
|
||||
hoehe_vario= foerderer.hight_zwischen
|
||||
anzahl_seperatoren_oder_scan(msp, doc, lib_doc, foerderer)
|
||||
anzahl_seperatoren_oder_scan(msp, doc, lib_doc, foerderer,config)
|
||||
as_es_methoden.vertausch_der_höhe(foerderer)
|
||||
upper_hoehe_vario = foerderer.h1
|
||||
lower_hoehe_vario = foerderer.h0
|
||||
@@ -690,7 +690,7 @@ def handle_omniflo(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols,
|
||||
if omniflo_objekt.sivasnummer == omnisivas or omniflo_objekt.sivasnummer == tefsivas:
|
||||
Omniflo.Omniflo.Omniflo_geraden_erstellung(msp, doc, tefsivas, omniflo_objekt)
|
||||
if omniflo_objekt.sivasnummer == omnisivas:
|
||||
anzahl_seperatoren_oder_scan(msp, doc, lib_doc, omniflo_objekt)
|
||||
anzahl_seperatoren_oder_scan(msp, doc, lib_doc, omniflo_objekt,config)
|
||||
elif omniflo_objekt.sivasnummer == foerderer:
|
||||
Omniflo.Omniflo.omniflo_foerdererstellung(msp, doc, lib_doc, omniflo_objekt)
|
||||
return
|
||||
@@ -711,14 +711,20 @@ def handle_omniflo(msp, teileid, merkmale, x, y, doc, lib_doc, verbose, symbols,
|
||||
layer, color = block_methoden.get_insert_color_layer(lib_doc, omniflo_objekt.sivasnummer)
|
||||
msp.add_blockref(blockname, (x, y,omniflo_objekt.hoehe), dxfattribs={"rotation": rotation,"layer": layer, "color": color})
|
||||
|
||||
def anzahl_seperatoren_oder_scan(msp, doc, lib_doc, klassen_objekt):
|
||||
def anzahl_seperatoren_oder_scan(msp, doc, lib_doc, klassen_objekt,config):
|
||||
"""Importiert alle seperatoren und/oder scanner für das nötige objekt"""
|
||||
separatoren = klassen_objekt.anzahl_separatoren
|
||||
omniflo_scanner = config.get("Scanner_Stoper_namen","Omniflo_scanner")
|
||||
ILS_scanner = config.get("Scanner_Stoper_namen","Ils_scanner")
|
||||
omniflo_stopper = config.get("Scanner_Stoper_namen","Omniflo_stopper")
|
||||
ILS_seperator = config.get("Scanner_Stoper_namen","ILS_seperator")
|
||||
scanner = klassen_objekt.anzahl_scanner
|
||||
separatoren = None
|
||||
stopper = None
|
||||
x = klassen_objekt.x
|
||||
y = klassen_objekt.y
|
||||
hoehe =klassen_objekt.hight_zwischen
|
||||
rotation = klassen_objekt.drehung
|
||||
|
||||
# Schauen welche Ausrichtung das Objekt hat, damit man die Separtoren unbd Scanner nicht in das Objekt tut
|
||||
if rotation == 0 or rotation == -180:
|
||||
ausrichtung = "V"
|
||||
@@ -730,30 +736,58 @@ def anzahl_seperatoren_oder_scan(msp, doc, lib_doc, klassen_objekt):
|
||||
else:
|
||||
einsatz_fest = [x,y - 150,hoehe]
|
||||
modular = 3
|
||||
block_scanner = "SCAN"
|
||||
block_separatoren = "S-LP"
|
||||
block_methoden.import_block(block_scanner,lib_doc,doc)
|
||||
block_methoden.import_block(block_separatoren,lib_doc,doc)
|
||||
layer_scan, color_scan = block_methoden.get_insert_color_layer(lib_doc, block_scanner)
|
||||
layer_separatioren, color_separatioren = block_methoden.get_insert_color_layer(lib_doc, block_separatoren)
|
||||
if omniflo_scanner not in lib_doc.blocks:
|
||||
block_methoden.import_block(ILS_scanner,lib_doc,doc)
|
||||
block_methoden.import_block(ILS_seperator,lib_doc,doc)
|
||||
scanner_name = ILS_scanner
|
||||
separator_name = ILS_seperator
|
||||
layer_scan, color_scan = block_methoden.get_insert_color_layer(lib_doc, ILS_scanner)
|
||||
layer_separatioren, color_separatioren = block_methoden.get_insert_color_layer(lib_doc, ILS_seperator)
|
||||
separatoren = klassen_objekt.anzahl_separatoren
|
||||
|
||||
else:
|
||||
block_methoden.import_block(omniflo_scanner,lib_doc,doc)
|
||||
block_methoden.import_block(omniflo_stopper,lib_doc,doc)
|
||||
scanner_name = omniflo_scanner
|
||||
stopper_name = omniflo_stopper
|
||||
layer_scan, color_scan = block_methoden.get_insert_color_layer(lib_doc, omniflo_scanner)
|
||||
layer_stopper, color_stopper = block_methoden.get_insert_color_layer(lib_doc, omniflo_stopper)
|
||||
stopper = klassen_objekt.anzahl_stopper
|
||||
|
||||
einsatz_zwischen =[ einsatz_fest[0],einsatz_fest[1],einsatz_fest[2]]
|
||||
anzahl =0
|
||||
while anzahl < separatoren:
|
||||
anzahl = anzahl + 1
|
||||
msp.add_blockref(block_separatoren,einsatz_zwischen, dxfattribs={"layer": layer_separatioren,"color": color_separatioren})
|
||||
if anzahl % modular == 0:
|
||||
einsatz_fest[1] = einsatz_fest[1] - 150
|
||||
einsatz_zwischen = einsatz_fest.copy()
|
||||
else:
|
||||
einsatz_zwischen[0] = einsatz_zwischen[0]+ 300
|
||||
if separatoren != None:
|
||||
while anzahl < separatoren:
|
||||
anzahl = anzahl + 1
|
||||
msp.add_blockref(separator_name,einsatz_zwischen, dxfattribs={"layer": layer_separatioren,"color": color_separatioren})
|
||||
if anzahl % modular == 0:
|
||||
einsatz_fest[1] = einsatz_fest[1] - 150
|
||||
einsatz_zwischen = einsatz_fest.copy()
|
||||
else:
|
||||
einsatz_zwischen[0] = einsatz_zwischen[0]+ 300
|
||||
|
||||
if anzahl % modular != 0:
|
||||
einsatz_fest[1] = einsatz_fest[1] - 150
|
||||
einsatz_zwischen = einsatz_fest.copy()
|
||||
anzahl =0
|
||||
else:
|
||||
while anzahl < stopper:
|
||||
anzahl = anzahl + 1
|
||||
msp.add_blockref(stopper_name,einsatz_zwischen, dxfattribs={"layer": layer_stopper,"color": color_stopper})
|
||||
if anzahl % modular == 0:
|
||||
einsatz_fest[1] = einsatz_fest[1] - 250
|
||||
einsatz_zwischen = einsatz_fest.copy()
|
||||
else:
|
||||
einsatz_zwischen[0] = einsatz_zwischen[0]+ 200
|
||||
|
||||
if anzahl % modular != 0:
|
||||
einsatz_fest[1] = einsatz_fest[1] - 250
|
||||
einsatz_zwischen = einsatz_fest.copy()
|
||||
anzahl =0
|
||||
|
||||
if anzahl % modular != 0:
|
||||
einsatz_fest[1] = einsatz_fest[1] - 150
|
||||
einsatz_zwischen = einsatz_fest.copy()
|
||||
anzahl =0
|
||||
while anzahl < scanner:
|
||||
anzahl = anzahl + 1
|
||||
msp.add_blockref(block_scanner,einsatz_zwischen,dxfattribs={"layer": layer_scan,"color": color_scan})
|
||||
msp.add_blockref(scanner_name,einsatz_zwischen,dxfattribs={"layer": layer_scan,"color": color_scan})
|
||||
if anzahl % modular == 0:
|
||||
einsatz_fest[1] = einsatz_fest[1] - 150
|
||||
einsatz_zwischen = einsatz_fest.copy()
|
||||
|
||||
Reference in New Issue
Block a user