From d8f75450a9b2c51bf26bf0a312aaba913db47657 Mon Sep 17 00:00:00 2001 From: Paul Wolok Date: Mon, 26 Jan 2026 12:36:37 +0100 Subject: [PATCH 1/2] Omniflo hat jetzt Stopper und scanner --- cfg/shapes.cfg | 7 +++- lib/Elemente/Omniflo.py | 8 ++-- lib/plant2dxf.py | 82 +++++++++++++++++++++++++++++------------ 3 files changed, 68 insertions(+), 29 deletions(-) diff --git a/cfg/shapes.cfg b/cfg/shapes.cfg index 0aa735d..cacdf44 100644 --- a/cfg/shapes.cfg +++ b/cfg/shapes.cfg @@ -34,4 +34,9 @@ winkel_es = 3.0 [Omniflo] OFgeradesivas = 821106002 Tefgeradesivas = 0_B10030 -OFfoerderer = 2 \ No newline at end of file +OFfoerderer = 2 +[Scanner_Stoper_namen] +Omniflo_stopper = 827062022 +Omniflo_scanner = _DUMMY_SCANNER +ILS_scanner = SCAN +ILS_seperator = S-LP \ No newline at end of file diff --git a/lib/Elemente/Omniflo.py b/lib/Elemente/Omniflo.py index 45e230d..022dc7a 100644 --- a/lib/Elemente/Omniflo.py +++ b/lib/Elemente/Omniflo.py @@ -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""" diff --git a/lib/plant2dxf.py b/lib/plant2dxf.py index 1b48acf..6badec2 100644 --- a/lib/plant2dxf.py +++ b/lib/plant2dxf.py @@ -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() From c356b24fe9efb3d3bce2b208bb026ef79110c853 Mon Sep 17 00:00:00 2001 From: Paul Wolok Date: Mon, 26 Jan 2026 13:22:40 +0100 Subject: [PATCH 2/2] Man kann jetzt Text sehen, falls irgenwas nicht passt zu dem letzten Springen --- data/block_libraries/omniflo_lib.dxf | 1262 +++++++++++++------------- lib/dxf2lib.py | 61 +- 2 files changed, 701 insertions(+), 622 deletions(-) diff --git a/data/block_libraries/omniflo_lib.dxf b/data/block_libraries/omniflo_lib.dxf index ae9a1b5..59b3f5f 100644 --- a/data/block_libraries/omniflo_lib.dxf +++ b/data/block_libraries/omniflo_lib.dxf @@ -493,7 +493,7 @@ $SKPOLY 9 $TDCREATE 40 -2461067.4928587964 +2461067.5546064815 9 $TDUCREATE 40 @@ -501,7 +501,7 @@ $TDUCREATE 9 $TDUPDATE 40 -2461067.4930092595 +2461067.5547337965 9 $TDUUPDATE 40 @@ -553,7 +553,7 @@ $SPLINESEGS 9 $HANDSEED 5 -1133 +1134 9 $SURFTAB1 70 @@ -933,11 +933,11 @@ $PSTYLEMODE 9 $FINGERPRINTGUID 2 -{9D633C63-6D64-44B8-81AB-3E1F2AEADD19} +{E4FE3799-C561-4B34-857F-71AD502C061F} 9 $VERSIONGUID 2 -{407A0887-E322-4361-9BDE-2C3617EE3DCC} +{3BC6EA67-53B0-4472-BAB6-62FD47255ED5} 9 $EXTNAMES 290 @@ -1359,9 +1359,9 @@ ObjectDBX Classes 0 CLASS 1 -LAYOUT +ACDBPLACEHOLDER 2 -AcDbLayout +AcDbPlaceHolder 3 ObjectDBX Classes 90 @@ -1375,9 +1375,9 @@ ObjectDBX Classes 0 CLASS 1 -ACDBPLACEHOLDER +LAYOUT 2 -AcDbPlaceHolder +AcDbLayout 3 ObjectDBX Classes 90 @@ -1881,7 +1881,7 @@ ACAD 0 APPID 5 -1130 +1131 330 3 100 @@ -1895,7 +1895,7 @@ HATCHBACKGROUNDCOLOR 0 APPID 5 -1131 +1132 330 3 100 @@ -5875,7 +5875,7 @@ SCAN 0 BLOCK_RECORD 5 -FB6 +FB7 330 9 100 @@ -5895,7 +5895,7 @@ _DUMMY_SCANNER 0 BLOCK_RECORD 5 -FBE +FBF 330 9 100 @@ -5915,7 +5915,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FC3 +FC4 330 9 100 @@ -5935,7 +5935,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FC8 +FC9 330 9 100 @@ -5955,7 +5955,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FCD +FCE 330 9 100 @@ -5975,7 +5975,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FD2 +FD3 330 9 100 @@ -5995,7 +5995,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FD7 +FD8 330 9 100 @@ -6015,7 +6015,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FDC +FDD 330 9 100 @@ -6035,7 +6035,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FE1 +FE2 330 9 100 @@ -6055,7 +6055,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FE6 +FE7 330 9 100 @@ -6075,7 +6075,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FEB +FEC 330 9 100 @@ -6095,7 +6095,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FF0 +FF1 330 9 100 @@ -6115,7 +6115,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FF5 +FF6 330 9 100 @@ -6135,7 +6135,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FFA +FFB 330 9 100 @@ -6155,7 +6155,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -FFF +1000 330 9 100 @@ -6175,7 +6175,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1004 +1005 330 9 100 @@ -6195,7 +6195,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1009 +100A 330 9 100 @@ -6215,7 +6215,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -100E +100F 330 9 100 @@ -6235,7 +6235,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1013 +1014 330 9 100 @@ -6255,7 +6255,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1018 +1019 330 9 100 @@ -6275,7 +6275,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -101D +101E 330 9 100 @@ -6295,7 +6295,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1022 +1023 330 9 100 @@ -6315,7 +6315,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1027 +1028 330 9 100 @@ -6335,7 +6335,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -102C +102D 330 9 100 @@ -6355,7 +6355,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1031 +1032 330 9 100 @@ -6375,7 +6375,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1036 +1037 330 9 100 @@ -6395,7 +6395,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -103B +103C 330 9 100 @@ -6415,7 +6415,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1040 +1041 330 9 100 @@ -6435,7 +6435,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1045 +1046 330 9 100 @@ -6455,7 +6455,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -104A +104B 330 9 100 @@ -6475,7 +6475,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -104F +1050 330 9 100 @@ -6495,7 +6495,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1054 +1055 330 9 100 @@ -6515,7 +6515,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1059 +105A 330 9 100 @@ -6535,7 +6535,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -105E +105F 330 9 100 @@ -6555,7 +6555,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1063 +1064 330 9 100 @@ -6575,7 +6575,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1068 +1069 330 9 100 @@ -6595,7 +6595,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -106D +106E 330 9 100 @@ -6615,7 +6615,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1072 +1073 330 9 100 @@ -6635,7 +6635,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1077 +1078 330 9 100 @@ -6655,7 +6655,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -107C +107D 330 9 100 @@ -6675,7 +6675,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1081 +1082 330 9 100 @@ -6695,7 +6695,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1086 +1087 330 9 100 @@ -6715,7 +6715,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -108B +108C 330 9 100 @@ -6735,7 +6735,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1090 +1091 330 9 100 @@ -6755,7 +6755,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1095 +1096 330 9 100 @@ -6775,7 +6775,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -109A +109B 330 9 100 @@ -6795,7 +6795,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -109F +10A0 330 9 100 @@ -6815,7 +6815,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10A4 +10A5 330 9 100 @@ -6835,7 +6835,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10A9 +10AA 330 9 100 @@ -6855,7 +6855,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10AE +10AF 330 9 100 @@ -6875,7 +6875,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10B3 +10B4 330 9 100 @@ -6895,7 +6895,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10B8 +10B9 330 9 100 @@ -6915,7 +6915,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10BD +10BE 330 9 100 @@ -6935,7 +6935,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10C2 +10C3 330 9 100 @@ -6955,7 +6955,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10C7 +10C8 330 9 100 @@ -6975,7 +6975,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10CC +10CD 330 9 100 @@ -6995,7 +6995,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10D1 +10D2 330 9 100 @@ -7015,7 +7015,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10D6 +10D7 330 9 100 @@ -7035,7 +7035,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10DB +10DC 330 9 100 @@ -7055,7 +7055,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10E0 +10E1 330 9 100 @@ -7075,7 +7075,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10E5 +10E6 330 9 100 @@ -7095,7 +7095,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10EA +10EB 330 9 100 @@ -7115,7 +7115,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10EF +10F0 330 9 100 @@ -7135,7 +7135,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10F4 +10F5 330 9 100 @@ -7155,7 +7155,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10F9 +10FA 330 9 100 @@ -7175,7 +7175,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -10FE +10FF 330 9 100 @@ -7195,7 +7195,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1103 +1104 330 9 100 @@ -7215,7 +7215,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1108 +1109 330 9 100 @@ -7235,7 +7235,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -110D +110E 330 9 100 @@ -7255,7 +7255,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1112 +1113 330 9 100 @@ -7275,7 +7275,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1117 +1118 330 9 100 @@ -7295,7 +7295,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -111C +111D 330 9 100 @@ -7315,7 +7315,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1121 +1122 330 9 100 @@ -7335,7 +7335,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -1126 +1127 330 9 100 @@ -7355,7 +7355,7 @@ AcDbBlockTableRecord 0 BLOCK_RECORD 5 -112B +112C 330 9 100 @@ -45127,7 +45127,7 @@ AcDbPolyline 0 INSERT 5 -FC1 +FC2 330 672 100 @@ -45147,7 +45147,7 @@ AcDbBlockReference 0 INSERT 5 -FC6 +FC7 330 672 100 @@ -45167,7 +45167,7 @@ AcDbBlockReference 0 INSERT 5 -FCB +FCC 330 672 100 @@ -45187,7 +45187,7 @@ AcDbBlockReference 0 INSERT 5 -FD0 +FD1 330 672 100 @@ -45207,7 +45207,7 @@ AcDbBlockReference 0 INSERT 5 -FD5 +FD6 330 672 100 @@ -45227,7 +45227,7 @@ AcDbBlockReference 0 INSERT 5 -FDA +FDB 330 672 100 @@ -45247,7 +45247,7 @@ AcDbBlockReference 0 INSERT 5 -FDF +FE0 330 672 100 @@ -45267,7 +45267,7 @@ AcDbBlockReference 0 INSERT 5 -FE4 +FE5 330 672 100 @@ -45287,7 +45287,7 @@ AcDbBlockReference 0 INSERT 5 -FE9 +FEA 330 672 100 @@ -45307,7 +45307,7 @@ AcDbBlockReference 0 INSERT 5 -FEE +FEF 330 672 100 @@ -45327,7 +45327,7 @@ AcDbBlockReference 0 INSERT 5 -FF3 +FF4 330 672 100 @@ -45347,7 +45347,7 @@ AcDbBlockReference 0 INSERT 5 -FF8 +FF9 330 672 100 @@ -45367,7 +45367,7 @@ AcDbBlockReference 0 INSERT 5 -FFD +FFE 330 672 100 @@ -45387,7 +45387,7 @@ AcDbBlockReference 0 INSERT 5 -1002 +1003 330 672 100 @@ -45407,7 +45407,7 @@ AcDbBlockReference 0 INSERT 5 -1007 +1008 330 672 100 @@ -45427,7 +45427,7 @@ AcDbBlockReference 0 INSERT 5 -100C +100D 330 672 100 @@ -45447,7 +45447,7 @@ AcDbBlockReference 0 INSERT 5 -1011 +1012 330 672 100 @@ -45467,7 +45467,7 @@ AcDbBlockReference 0 INSERT 5 -1016 +1017 330 672 100 @@ -45487,7 +45487,7 @@ AcDbBlockReference 0 INSERT 5 -101B +101C 330 672 100 @@ -45507,7 +45507,7 @@ AcDbBlockReference 0 INSERT 5 -1020 +1021 330 672 100 @@ -45527,7 +45527,7 @@ AcDbBlockReference 0 INSERT 5 -1025 +1026 330 672 100 @@ -45547,7 +45547,7 @@ AcDbBlockReference 0 INSERT 5 -102A +102B 330 672 100 @@ -45567,7 +45567,7 @@ AcDbBlockReference 0 INSERT 5 -102F +1030 330 672 100 @@ -45587,7 +45587,7 @@ AcDbBlockReference 0 INSERT 5 -1034 +1035 330 672 100 @@ -45607,7 +45607,7 @@ AcDbBlockReference 0 INSERT 5 -1039 +103A 330 672 100 @@ -45627,7 +45627,7 @@ AcDbBlockReference 0 INSERT 5 -103E +103F 330 672 100 @@ -45647,7 +45647,7 @@ AcDbBlockReference 0 INSERT 5 -1043 +1044 330 672 100 @@ -45667,7 +45667,7 @@ AcDbBlockReference 0 INSERT 5 -1048 +1049 330 672 100 @@ -45687,7 +45687,7 @@ AcDbBlockReference 0 INSERT 5 -104D +104E 330 672 100 @@ -45707,7 +45707,7 @@ AcDbBlockReference 0 INSERT 5 -1052 +1053 330 672 100 @@ -45727,7 +45727,7 @@ AcDbBlockReference 0 INSERT 5 -1057 +1058 330 672 100 @@ -45747,7 +45747,7 @@ AcDbBlockReference 0 INSERT 5 -105C +105D 330 672 100 @@ -45767,7 +45767,7 @@ AcDbBlockReference 0 INSERT 5 -1061 +1062 330 672 100 @@ -45787,7 +45787,7 @@ AcDbBlockReference 0 INSERT 5 -1066 +1067 330 672 100 @@ -45807,7 +45807,7 @@ AcDbBlockReference 0 INSERT 5 -106B +106C 330 672 100 @@ -45827,7 +45827,7 @@ AcDbBlockReference 0 INSERT 5 -1070 +1071 330 672 100 @@ -45847,7 +45847,7 @@ AcDbBlockReference 0 INSERT 5 -1075 +1076 330 672 100 @@ -45867,7 +45867,7 @@ AcDbBlockReference 0 INSERT 5 -107A +107B 330 672 100 @@ -45887,7 +45887,7 @@ AcDbBlockReference 0 INSERT 5 -107F +1080 330 672 100 @@ -45907,7 +45907,7 @@ AcDbBlockReference 0 INSERT 5 -1084 +1085 330 672 100 @@ -45927,7 +45927,7 @@ AcDbBlockReference 0 INSERT 5 -1089 +108A 330 672 100 @@ -45947,7 +45947,7 @@ AcDbBlockReference 0 INSERT 5 -108E +108F 330 672 100 @@ -45967,7 +45967,7 @@ AcDbBlockReference 0 INSERT 5 -1093 +1094 330 672 100 @@ -45987,7 +45987,7 @@ AcDbBlockReference 0 INSERT 5 -1098 +1099 330 672 100 @@ -46007,7 +46007,7 @@ AcDbBlockReference 0 INSERT 5 -109D +109E 330 672 100 @@ -46027,7 +46027,7 @@ AcDbBlockReference 0 INSERT 5 -10A2 +10A3 330 672 100 @@ -46047,7 +46047,7 @@ AcDbBlockReference 0 INSERT 5 -10A7 +10A8 330 672 100 @@ -46067,7 +46067,7 @@ AcDbBlockReference 0 INSERT 5 -10AC +10AD 330 672 100 @@ -46087,7 +46087,7 @@ AcDbBlockReference 0 INSERT 5 -10B1 +10B2 330 672 100 @@ -46107,7 +46107,7 @@ AcDbBlockReference 0 INSERT 5 -10B6 +10B7 330 672 100 @@ -46127,7 +46127,7 @@ AcDbBlockReference 0 INSERT 5 -10BB +10BC 330 672 100 @@ -46147,7 +46147,7 @@ AcDbBlockReference 0 INSERT 5 -10C0 +10C1 330 672 100 @@ -46167,7 +46167,7 @@ AcDbBlockReference 0 INSERT 5 -10C5 +10C6 330 672 100 @@ -46187,7 +46187,7 @@ AcDbBlockReference 0 INSERT 5 -10CA +10CB 330 672 100 @@ -46207,7 +46207,7 @@ AcDbBlockReference 0 INSERT 5 -10CF +10D0 330 672 100 @@ -46227,7 +46227,7 @@ AcDbBlockReference 0 INSERT 5 -10D4 +10D5 330 672 100 @@ -46247,7 +46247,7 @@ AcDbBlockReference 0 INSERT 5 -10D9 +10DA 330 672 100 @@ -46267,7 +46267,7 @@ AcDbBlockReference 0 INSERT 5 -10DE +10DF 330 672 100 @@ -46287,7 +46287,7 @@ AcDbBlockReference 0 INSERT 5 -10E3 +10E4 330 672 100 @@ -46307,7 +46307,7 @@ AcDbBlockReference 0 INSERT 5 -10E8 +10E9 330 672 100 @@ -46327,7 +46327,7 @@ AcDbBlockReference 0 INSERT 5 -10ED +10EE 330 672 100 @@ -46347,7 +46347,7 @@ AcDbBlockReference 0 INSERT 5 -10F2 +10F3 330 672 100 @@ -46367,7 +46367,7 @@ AcDbBlockReference 0 INSERT 5 -10F7 +10F8 330 672 100 @@ -46387,7 +46387,7 @@ AcDbBlockReference 0 INSERT 5 -10FC +10FD 330 672 100 @@ -46407,7 +46407,7 @@ AcDbBlockReference 0 INSERT 5 -1101 +1102 330 672 100 @@ -46427,7 +46427,7 @@ AcDbBlockReference 0 INSERT 5 -1106 +1107 330 672 100 @@ -46447,7 +46447,7 @@ AcDbBlockReference 0 INSERT 5 -110B +110C 330 672 100 @@ -46467,7 +46467,7 @@ AcDbBlockReference 0 INSERT 5 -1110 +1111 330 672 100 @@ -46487,7 +46487,7 @@ AcDbBlockReference 0 INSERT 5 -1115 +1116 330 672 100 @@ -46507,7 +46507,7 @@ AcDbBlockReference 0 INSERT 5 -111A +111B 330 672 100 @@ -46527,7 +46527,7 @@ AcDbBlockReference 0 INSERT 5 -111F +1120 330 672 100 @@ -46547,7 +46547,7 @@ AcDbBlockReference 0 INSERT 5 -1124 +1125 330 672 100 @@ -46567,7 +46567,7 @@ AcDbBlockReference 0 INSERT 5 -1129 +112A 330 672 100 @@ -46587,7 +46587,7 @@ AcDbBlockReference 0 INSERT 5 -112E +112F 330 672 100 @@ -94817,6 +94817,36 @@ AcDbArc 51 270.0 0 +TEXT + 5 +FB6 +330 +FA3 +100 +AcDbEntity + 8 +ZZSCANNER + 62 +230 +100 +AcDbText + 10 +-137.053401433697 + 20 +-35.186324881983 + 30 +0.0 + 40 +70.0 + 1 +SC + 7 +ROMAND + 41 +0.7 +100 +AcDbText + 0 ENDBLK 5 FA5 @@ -94831,9 +94861,9 @@ AcDbBlockEnd 0 BLOCK 5 -FB7 +FB8 330 -FB6 +FB7 100 AcDbEntity 8 @@ -94857,9 +94887,9 @@ _DUMMY_SCANNER 0 INSERT 5 -FB9 +FBA 330 -FB6 +FB7 100 AcDbEntity 8 @@ -94881,9 +94911,9 @@ SCAN 0 ENDBLK 5 -FB8 +FB9 330 -FB6 +FB7 100 AcDbEntity 8 @@ -94893,9 +94923,9 @@ AcDbBlockEnd 0 BLOCK 5 -FBF +FC0 330 -FBE +FBF 100 AcDbEntity 8 @@ -94921,7 +94951,7 @@ SWEPTSURFACE 5 678 330 -FBE +FBF 100 AcDbEntity 8 @@ -94935,7 +94965,7 @@ AcDbModelerGeometry 290 1 2 -{1479D895-9037-4907-93EA-B4DB81CD6ADD} +{2F852435-FB2C-4D14-B131-6EBA51EDF5A5} 100 AcDbSurface 71 @@ -95113,9 +95143,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FC0 +FC1 330 -FBE +FBF 100 AcDbEntity 8 @@ -95125,9 +95155,9 @@ AcDbBlockEnd 0 BLOCK 5 -FC4 +FC5 330 -FC3 +FC4 100 AcDbEntity 8 @@ -95153,7 +95183,7 @@ SWEPTSURFACE 5 679 330 -FC3 +FC4 100 AcDbEntity 8 @@ -95167,7 +95197,7 @@ AcDbModelerGeometry 290 1 2 -{AF39C3A6-7A61-4F05-84BA-FD2A2CDB249A} +{0A69F3A2-810E-4A3C-BA57-8E7377EC6B2B} 100 AcDbSurface 71 @@ -95345,9 +95375,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FC5 +FC6 330 -FC3 +FC4 100 AcDbEntity 8 @@ -95357,9 +95387,9 @@ AcDbBlockEnd 0 BLOCK 5 -FC9 +FCA 330 -FC8 +FC9 100 AcDbEntity 8 @@ -95385,7 +95415,7 @@ SWEPTSURFACE 5 67A 330 -FC8 +FC9 100 AcDbEntity 8 @@ -95399,7 +95429,7 @@ AcDbModelerGeometry 290 1 2 -{4E7E47B8-26F0-4EC1-AE15-C1A25C8874CE} +{86F72624-0BC6-4DB7-80EE-A463EBDCF99F} 100 AcDbSurface 71 @@ -95577,9 +95607,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FCA +FCB 330 -FC8 +FC9 100 AcDbEntity 8 @@ -95589,9 +95619,9 @@ AcDbBlockEnd 0 BLOCK 5 -FCE +FCF 330 -FCD +FCE 100 AcDbEntity 8 @@ -95617,7 +95647,7 @@ SWEPTSURFACE 5 67B 330 -FCD +FCE 100 AcDbEntity 8 @@ -95631,7 +95661,7 @@ AcDbModelerGeometry 290 1 2 -{F0E353C4-8CD9-4279-9F30-F4C5ECB6DA64} +{92E924FC-9F55-4115-8000-BA650A6292BD} 100 AcDbSurface 71 @@ -95809,9 +95839,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FCF +FD0 330 -FCD +FCE 100 AcDbEntity 8 @@ -95821,9 +95851,9 @@ AcDbBlockEnd 0 BLOCK 5 -FD3 +FD4 330 -FD2 +FD3 100 AcDbEntity 8 @@ -95849,7 +95879,7 @@ SWEPTSURFACE 5 67C 330 -FD2 +FD3 100 AcDbEntity 8 @@ -95863,7 +95893,7 @@ AcDbModelerGeometry 290 1 2 -{BA10FE8F-F445-4110-BFD6-D5A77213167B} +{3CDAF220-D5BD-4CCA-A99D-F701A962BCDC} 100 AcDbSurface 71 @@ -96041,9 +96071,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FD4 +FD5 330 -FD2 +FD3 100 AcDbEntity 8 @@ -96053,9 +96083,9 @@ AcDbBlockEnd 0 BLOCK 5 -FD8 +FD9 330 -FD7 +FD8 100 AcDbEntity 8 @@ -96081,7 +96111,7 @@ SWEPTSURFACE 5 67D 330 -FD7 +FD8 100 AcDbEntity 8 @@ -96095,7 +96125,7 @@ AcDbModelerGeometry 290 1 2 -{5BA7A5D1-47ED-432C-9C26-5BE935753AF9} +{AC937B5C-5990-48E2-A278-250D6D9708B0} 100 AcDbSurface 71 @@ -96273,9 +96303,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FD9 +FDA 330 -FD7 +FD8 100 AcDbEntity 8 @@ -96285,9 +96315,9 @@ AcDbBlockEnd 0 BLOCK 5 -FDD +FDE 330 -FDC +FDD 100 AcDbEntity 8 @@ -96313,7 +96343,7 @@ SWEPTSURFACE 5 67E 330 -FDC +FDD 100 AcDbEntity 8 @@ -96327,7 +96357,7 @@ AcDbModelerGeometry 290 1 2 -{2AB9127E-FE4D-4F3A-BC9F-3A89A49FCB6B} +{1FA2EAB8-770C-48BE-8EC2-6E3EF49437D4} 100 AcDbSurface 71 @@ -96505,9 +96535,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FDE +FDF 330 -FDC +FDD 100 AcDbEntity 8 @@ -96517,9 +96547,9 @@ AcDbBlockEnd 0 BLOCK 5 -FE2 +FE3 330 -FE1 +FE2 100 AcDbEntity 8 @@ -96545,7 +96575,7 @@ SWEPTSURFACE 5 67F 330 -FE1 +FE2 100 AcDbEntity 8 @@ -96559,7 +96589,7 @@ AcDbModelerGeometry 290 1 2 -{DB29CE1E-CB39-4D37-A097-56B46E657077} +{8DA87496-2E97-44DE-B169-215356F69582} 100 AcDbSurface 71 @@ -96737,9 +96767,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FE3 +FE4 330 -FE1 +FE2 100 AcDbEntity 8 @@ -96749,9 +96779,9 @@ AcDbBlockEnd 0 BLOCK 5 -FE7 +FE8 330 -FE6 +FE7 100 AcDbEntity 8 @@ -96777,7 +96807,7 @@ SWEPTSURFACE 5 680 330 -FE6 +FE7 100 AcDbEntity 8 @@ -96791,7 +96821,7 @@ AcDbModelerGeometry 290 1 2 -{250E90BF-AAB3-40DF-B1B7-4825DEA3580F} +{F3B0F5EB-6DC2-45B7-9F79-33F6C596BB27} 100 AcDbSurface 71 @@ -96969,9 +96999,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FE8 +FE9 330 -FE6 +FE7 100 AcDbEntity 8 @@ -96981,9 +97011,9 @@ AcDbBlockEnd 0 BLOCK 5 -FEC +FED 330 -FEB +FEC 100 AcDbEntity 8 @@ -97009,7 +97039,7 @@ SWEPTSURFACE 5 681 330 -FEB +FEC 100 AcDbEntity 8 @@ -97023,7 +97053,7 @@ AcDbModelerGeometry 290 1 2 -{939972A6-30F3-48D8-8041-5EA5C59F2FB7} +{76F63FEC-6345-4C33-8C53-3AA3DF5D9EF3} 100 AcDbSurface 71 @@ -97201,9 +97231,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FED +FEE 330 -FEB +FEC 100 AcDbEntity 8 @@ -97213,9 +97243,9 @@ AcDbBlockEnd 0 BLOCK 5 -FF1 +FF2 330 -FF0 +FF1 100 AcDbEntity 8 @@ -97241,7 +97271,7 @@ SWEPTSURFACE 5 682 330 -FF0 +FF1 100 AcDbEntity 8 @@ -97255,7 +97285,7 @@ AcDbModelerGeometry 290 1 2 -{BAC25DC0-B8B0-48AD-8985-77D41E806E3D} +{D582978E-F5CD-4326-81B1-20B64DD094AC} 100 AcDbSurface 71 @@ -97433,9 +97463,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FF2 +FF3 330 -FF0 +FF1 100 AcDbEntity 8 @@ -97445,9 +97475,9 @@ AcDbBlockEnd 0 BLOCK 5 -FF6 +FF7 330 -FF5 +FF6 100 AcDbEntity 8 @@ -97473,7 +97503,7 @@ SWEPTSURFACE 5 683 330 -FF5 +FF6 100 AcDbEntity 8 @@ -97487,7 +97517,7 @@ AcDbModelerGeometry 290 1 2 -{52DDDD34-B0BB-4803-A089-096C9DD43962} +{14A54516-B200-46B5-B9E5-E740A7B18CB4} 100 AcDbSurface 71 @@ -97665,9 +97695,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FF7 +FF8 330 -FF5 +FF6 100 AcDbEntity 8 @@ -97677,9 +97707,9 @@ AcDbBlockEnd 0 BLOCK 5 -FFB +FFC 330 -FFA +FFB 100 AcDbEntity 8 @@ -97705,7 +97735,7 @@ SWEPTSURFACE 5 684 330 -FFA +FFB 100 AcDbEntity 8 @@ -97719,7 +97749,7 @@ AcDbModelerGeometry 290 1 2 -{3BB364E8-04D8-4163-B65E-42E523F8CDE6} +{CD311A17-91EC-4FFE-97C2-D000D71CD914} 100 AcDbSurface 71 @@ -97897,9 +97927,9 @@ AcDbSweptSurface 0 ENDBLK 5 -FFC +FFD 330 -FFA +FFB 100 AcDbEntity 8 @@ -97909,9 +97939,9 @@ AcDbBlockEnd 0 BLOCK 5 -1000 +1001 330 -FFF +1000 100 AcDbEntity 8 @@ -97937,7 +97967,7 @@ SWEPTSURFACE 5 685 330 -FFF +1000 100 AcDbEntity 8 @@ -97951,7 +97981,7 @@ AcDbModelerGeometry 290 1 2 -{59042604-8E65-4DC7-83CA-D977FC02F1F4} +{97904F00-0E0B-496E-8C8C-C2AD055318EC} 100 AcDbSurface 71 @@ -98129,9 +98159,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1001 +1002 330 -FFF +1000 100 AcDbEntity 8 @@ -98141,9 +98171,9 @@ AcDbBlockEnd 0 BLOCK 5 -1005 +1006 330 -1004 +1005 100 AcDbEntity 8 @@ -98169,7 +98199,7 @@ SWEPTSURFACE 5 686 330 -1004 +1005 100 AcDbEntity 8 @@ -98183,7 +98213,7 @@ AcDbModelerGeometry 290 1 2 -{AF93D87E-7ECD-4845-A837-E34E81D526C3} +{DE104F4A-868A-410D-9B17-759BA482B03A} 100 AcDbSurface 71 @@ -98361,9 +98391,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1006 +1007 330 -1004 +1005 100 AcDbEntity 8 @@ -98373,9 +98403,9 @@ AcDbBlockEnd 0 BLOCK 5 -100A +100B 330 -1009 +100A 100 AcDbEntity 8 @@ -98401,7 +98431,7 @@ SWEPTSURFACE 5 687 330 -1009 +100A 100 AcDbEntity 8 @@ -98415,7 +98445,7 @@ AcDbModelerGeometry 290 1 2 -{37C8BC63-3A67-45BB-A8D4-4129FA3B8F41} +{3BB743B0-CBEC-4BA8-A908-AD36CCB671D1} 100 AcDbSurface 71 @@ -98593,9 +98623,9 @@ AcDbSweptSurface 0 ENDBLK 5 -100B +100C 330 -1009 +100A 100 AcDbEntity 8 @@ -98605,9 +98635,9 @@ AcDbBlockEnd 0 BLOCK 5 -100F +1010 330 -100E +100F 100 AcDbEntity 8 @@ -98633,7 +98663,7 @@ SWEPTSURFACE 5 688 330 -100E +100F 100 AcDbEntity 8 @@ -98647,7 +98677,7 @@ AcDbModelerGeometry 290 1 2 -{8B840690-C41D-462F-A578-CA35EE44EA33} +{F334871D-5C7F-44F8-9086-9AF367317296} 100 AcDbSurface 71 @@ -98825,9 +98855,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1010 +1011 330 -100E +100F 100 AcDbEntity 8 @@ -98837,9 +98867,9 @@ AcDbBlockEnd 0 BLOCK 5 -1014 +1015 330 -1013 +1014 100 AcDbEntity 8 @@ -98865,7 +98895,7 @@ SWEPTSURFACE 5 689 330 -1013 +1014 100 AcDbEntity 8 @@ -98879,7 +98909,7 @@ AcDbModelerGeometry 290 1 2 -{A3F5EAE6-3072-412F-A520-A566AE5A6662} +{BF21D14E-E59B-4189-8895-501EC2733D90} 100 AcDbSurface 71 @@ -99057,9 +99087,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1015 +1016 330 -1013 +1014 100 AcDbEntity 8 @@ -99069,9 +99099,9 @@ AcDbBlockEnd 0 BLOCK 5 -1019 +101A 330 -1018 +1019 100 AcDbEntity 8 @@ -99097,7 +99127,7 @@ SWEPTSURFACE 5 68A 330 -1018 +1019 100 AcDbEntity 8 @@ -99111,7 +99141,7 @@ AcDbModelerGeometry 290 1 2 -{4E78441E-9DE0-40E1-9CDE-87DA1ED695F7} +{BCCD5464-79BA-4954-AD69-4B37EBC6EB99} 100 AcDbSurface 71 @@ -99289,9 +99319,9 @@ AcDbSweptSurface 0 ENDBLK 5 -101A +101B 330 -1018 +1019 100 AcDbEntity 8 @@ -99301,9 +99331,9 @@ AcDbBlockEnd 0 BLOCK 5 -101E +101F 330 -101D +101E 100 AcDbEntity 8 @@ -99329,7 +99359,7 @@ SWEPTSURFACE 5 68B 330 -101D +101E 100 AcDbEntity 8 @@ -99343,7 +99373,7 @@ AcDbModelerGeometry 290 1 2 -{7E6A1A3A-1E7E-4C25-850B-E85A8E733DE0} +{D0AB7051-235A-4055-A18C-C13770A1D94C} 100 AcDbSurface 71 @@ -99521,9 +99551,9 @@ AcDbSweptSurface 0 ENDBLK 5 -101F +1020 330 -101D +101E 100 AcDbEntity 8 @@ -99533,9 +99563,9 @@ AcDbBlockEnd 0 BLOCK 5 -1023 +1024 330 -1022 +1023 100 AcDbEntity 8 @@ -99561,7 +99591,7 @@ SWEPTSURFACE 5 68C 330 -1022 +1023 100 AcDbEntity 8 @@ -99575,7 +99605,7 @@ AcDbModelerGeometry 290 1 2 -{EC12C24E-1465-4C09-8304-CE3AEEBE3578} +{AFC076F5-6076-4DDF-90B5-6D907CC7E766} 100 AcDbSurface 71 @@ -99753,9 +99783,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1024 +1025 330 -1022 +1023 100 AcDbEntity 8 @@ -99765,9 +99795,9 @@ AcDbBlockEnd 0 BLOCK 5 -1028 +1029 330 -1027 +1028 100 AcDbEntity 8 @@ -99793,7 +99823,7 @@ SWEPTSURFACE 5 68D 330 -1027 +1028 100 AcDbEntity 8 @@ -99807,7 +99837,7 @@ AcDbModelerGeometry 290 1 2 -{FF068526-083D-4EA9-8B49-CB44701FCD5B} +{295C61BA-3B9D-4C3F-9011-AFD29E28C3E3} 100 AcDbSurface 71 @@ -99985,9 +100015,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1029 +102A 330 -1027 +1028 100 AcDbEntity 8 @@ -99997,9 +100027,9 @@ AcDbBlockEnd 0 BLOCK 5 -102D +102E 330 -102C +102D 100 AcDbEntity 8 @@ -100025,7 +100055,7 @@ SWEPTSURFACE 5 68E 330 -102C +102D 100 AcDbEntity 8 @@ -100039,7 +100069,7 @@ AcDbModelerGeometry 290 1 2 -{E17BE766-54A0-4143-B93C-7BA994CF8904} +{48F37863-7C7C-4004-96E4-C72D5C2F129D} 100 AcDbSurface 71 @@ -100217,9 +100247,9 @@ AcDbSweptSurface 0 ENDBLK 5 -102E +102F 330 -102C +102D 100 AcDbEntity 8 @@ -100229,9 +100259,9 @@ AcDbBlockEnd 0 BLOCK 5 -1032 +1033 330 -1031 +1032 100 AcDbEntity 8 @@ -100257,7 +100287,7 @@ SWEPTSURFACE 5 68F 330 -1031 +1032 100 AcDbEntity 8 @@ -100271,7 +100301,7 @@ AcDbModelerGeometry 290 1 2 -{A028BD48-562A-4569-B7E9-5F0BC90BDFFD} +{2476F57C-DD5E-4026-BB28-BA5931A25956} 100 AcDbSurface 71 @@ -100449,9 +100479,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1033 +1034 330 -1031 +1032 100 AcDbEntity 8 @@ -100461,9 +100491,9 @@ AcDbBlockEnd 0 BLOCK 5 -1037 +1038 330 -1036 +1037 100 AcDbEntity 8 @@ -100489,7 +100519,7 @@ SWEPTSURFACE 5 690 330 -1036 +1037 100 AcDbEntity 8 @@ -100503,7 +100533,7 @@ AcDbModelerGeometry 290 1 2 -{FE1E20D3-094D-4052-B268-D9B6AC49DF30} +{08DE415E-DE6B-45E8-A558-2F507D9A5350} 100 AcDbSurface 71 @@ -100681,9 +100711,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1038 +1039 330 -1036 +1037 100 AcDbEntity 8 @@ -100693,9 +100723,9 @@ AcDbBlockEnd 0 BLOCK 5 -103C +103D 330 -103B +103C 100 AcDbEntity 8 @@ -100721,7 +100751,7 @@ SWEPTSURFACE 5 691 330 -103B +103C 100 AcDbEntity 8 @@ -100735,7 +100765,7 @@ AcDbModelerGeometry 290 1 2 -{0795A060-A7A6-41EC-83A6-9812D41ACB57} +{2F150F2F-B7B0-4453-9BA2-B57484D9C3E7} 100 AcDbSurface 71 @@ -100913,9 +100943,9 @@ AcDbSweptSurface 0 ENDBLK 5 -103D +103E 330 -103B +103C 100 AcDbEntity 8 @@ -100925,9 +100955,9 @@ AcDbBlockEnd 0 BLOCK 5 -1041 +1042 330 -1040 +1041 100 AcDbEntity 8 @@ -100953,7 +100983,7 @@ SWEPTSURFACE 5 692 330 -1040 +1041 100 AcDbEntity 8 @@ -100967,7 +100997,7 @@ AcDbModelerGeometry 290 1 2 -{8D3BAB27-E908-4FDD-98B7-29D736658B4A} +{5B17C0F8-509A-4BBC-8A68-431B70CBBAB5} 100 AcDbSurface 71 @@ -101145,9 +101175,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1042 +1043 330 -1040 +1041 100 AcDbEntity 8 @@ -101157,9 +101187,9 @@ AcDbBlockEnd 0 BLOCK 5 -1046 +1047 330 -1045 +1046 100 AcDbEntity 8 @@ -101185,7 +101215,7 @@ SWEPTSURFACE 5 693 330 -1045 +1046 100 AcDbEntity 8 @@ -101199,7 +101229,7 @@ AcDbModelerGeometry 290 1 2 -{8AD2E95B-7684-4768-8D3B-A0103F76D6CF} +{A5303141-C813-414E-9550-7EBA207296BA} 100 AcDbSurface 71 @@ -101377,9 +101407,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1047 +1048 330 -1045 +1046 100 AcDbEntity 8 @@ -101389,9 +101419,9 @@ AcDbBlockEnd 0 BLOCK 5 -104B +104C 330 -104A +104B 100 AcDbEntity 8 @@ -101417,7 +101447,7 @@ SWEPTSURFACE 5 694 330 -104A +104B 100 AcDbEntity 8 @@ -101431,7 +101461,7 @@ AcDbModelerGeometry 290 1 2 -{739D23E0-E4BF-48B5-AFFB-35617865E736} +{3968435A-1632-415D-B8F4-0CC3E32EB2AC} 100 AcDbSurface 71 @@ -101609,9 +101639,9 @@ AcDbSweptSurface 0 ENDBLK 5 -104C +104D 330 -104A +104B 100 AcDbEntity 8 @@ -101621,9 +101651,9 @@ AcDbBlockEnd 0 BLOCK 5 -1050 +1051 330 -104F +1050 100 AcDbEntity 8 @@ -101649,7 +101679,7 @@ SWEPTSURFACE 5 695 330 -104F +1050 100 AcDbEntity 8 @@ -101663,7 +101693,7 @@ AcDbModelerGeometry 290 1 2 -{79F0E557-9F0C-4F86-9A93-ED2DB8EBF9A8} +{C0784AF0-39F7-41BD-A7DA-859364D19776} 100 AcDbSurface 71 @@ -101841,9 +101871,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1051 +1052 330 -104F +1050 100 AcDbEntity 8 @@ -101853,9 +101883,9 @@ AcDbBlockEnd 0 BLOCK 5 -1055 +1056 330 -1054 +1055 100 AcDbEntity 8 @@ -101881,7 +101911,7 @@ SWEPTSURFACE 5 696 330 -1054 +1055 100 AcDbEntity 8 @@ -101895,7 +101925,7 @@ AcDbModelerGeometry 290 1 2 -{D15C4FF6-0A0C-4B88-A0FF-FD761F2C6C8D} +{448BA4E5-C482-4465-87FD-36CCA96522C5} 100 AcDbSurface 71 @@ -102073,9 +102103,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1056 +1057 330 -1054 +1055 100 AcDbEntity 8 @@ -102085,9 +102115,9 @@ AcDbBlockEnd 0 BLOCK 5 -105A +105B 330 -1059 +105A 100 AcDbEntity 8 @@ -102113,7 +102143,7 @@ SWEPTSURFACE 5 697 330 -1059 +105A 100 AcDbEntity 8 @@ -102127,7 +102157,7 @@ AcDbModelerGeometry 290 1 2 -{07789062-2345-48E4-B638-28F47891E0C8} +{A0D75C65-BC28-4EF2-9698-A2234CE19C9C} 100 AcDbSurface 71 @@ -102305,9 +102335,9 @@ AcDbSweptSurface 0 ENDBLK 5 -105B +105C 330 -1059 +105A 100 AcDbEntity 8 @@ -102317,9 +102347,9 @@ AcDbBlockEnd 0 BLOCK 5 -105F +1060 330 -105E +105F 100 AcDbEntity 8 @@ -102345,7 +102375,7 @@ SWEPTSURFACE 5 698 330 -105E +105F 100 AcDbEntity 8 @@ -102359,7 +102389,7 @@ AcDbModelerGeometry 290 1 2 -{B33078C5-886B-43D5-B82B-65C99B5850BC} +{E0909E07-D03E-4730-87A9-8E080F32B615} 100 AcDbSurface 71 @@ -102537,9 +102567,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1060 +1061 330 -105E +105F 100 AcDbEntity 8 @@ -102549,9 +102579,9 @@ AcDbBlockEnd 0 BLOCK 5 -1064 +1065 330 -1063 +1064 100 AcDbEntity 8 @@ -102577,7 +102607,7 @@ SWEPTSURFACE 5 699 330 -1063 +1064 100 AcDbEntity 8 @@ -102591,7 +102621,7 @@ AcDbModelerGeometry 290 1 2 -{B544AD75-E94D-452D-AE50-E1AF6D0F8B67} +{39A99552-41F7-4A55-A5FE-8D6EE9A72310} 100 AcDbSurface 71 @@ -102769,9 +102799,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1065 +1066 330 -1063 +1064 100 AcDbEntity 8 @@ -102781,9 +102811,9 @@ AcDbBlockEnd 0 BLOCK 5 -1069 +106A 330 -1068 +1069 100 AcDbEntity 8 @@ -102809,7 +102839,7 @@ SWEPTSURFACE 5 69A 330 -1068 +1069 100 AcDbEntity 8 @@ -102823,7 +102853,7 @@ AcDbModelerGeometry 290 1 2 -{14D71B1C-DE0B-4D0D-980D-273313BBF737} +{F9179CBC-E998-49BC-A4A3-86B38F569A71} 100 AcDbSurface 71 @@ -103001,9 +103031,9 @@ AcDbSweptSurface 0 ENDBLK 5 -106A +106B 330 -1068 +1069 100 AcDbEntity 8 @@ -103013,9 +103043,9 @@ AcDbBlockEnd 0 BLOCK 5 -106E +106F 330 -106D +106E 100 AcDbEntity 8 @@ -103041,7 +103071,7 @@ SWEPTSURFACE 5 69B 330 -106D +106E 100 AcDbEntity 8 @@ -103055,7 +103085,7 @@ AcDbModelerGeometry 290 1 2 -{05CBE0FA-0D52-4E5E-A3C4-45BAABED3C24} +{ED58E73B-DF29-4848-8232-35F4476C34B7} 100 AcDbSurface 71 @@ -103233,9 +103263,9 @@ AcDbSweptSurface 0 ENDBLK 5 -106F +1070 330 -106D +106E 100 AcDbEntity 8 @@ -103245,9 +103275,9 @@ AcDbBlockEnd 0 BLOCK 5 -1073 +1074 330 -1072 +1073 100 AcDbEntity 8 @@ -103273,7 +103303,7 @@ SWEPTSURFACE 5 69C 330 -1072 +1073 100 AcDbEntity 8 @@ -103287,7 +103317,7 @@ AcDbModelerGeometry 290 1 2 -{1709351C-830D-484D-98BC-809E9E108571} +{039451BA-996B-4295-8C68-5B2BF775D933} 100 AcDbSurface 71 @@ -103465,9 +103495,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1074 +1075 330 -1072 +1073 100 AcDbEntity 8 @@ -103477,9 +103507,9 @@ AcDbBlockEnd 0 BLOCK 5 -1078 +1079 330 -1077 +1078 100 AcDbEntity 8 @@ -103505,7 +103535,7 @@ SWEPTSURFACE 5 69D 330 -1077 +1078 100 AcDbEntity 8 @@ -103519,7 +103549,7 @@ AcDbModelerGeometry 290 1 2 -{887A879D-2BA7-4078-A148-AD224C6B0EF3} +{B256627D-BDDF-46A1-9CCF-E0E79B9C1467} 100 AcDbSurface 71 @@ -103697,9 +103727,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1079 +107A 330 -1077 +1078 100 AcDbEntity 8 @@ -103709,9 +103739,9 @@ AcDbBlockEnd 0 BLOCK 5 -107D +107E 330 -107C +107D 100 AcDbEntity 8 @@ -103737,7 +103767,7 @@ SWEPTSURFACE 5 69E 330 -107C +107D 100 AcDbEntity 8 @@ -103751,7 +103781,7 @@ AcDbModelerGeometry 290 1 2 -{0088021A-C3E4-42B8-B1AE-1296819AFAAB} +{ACE696FE-E8CD-4E46-BA48-3FD396BEE371} 100 AcDbSurface 71 @@ -103929,9 +103959,9 @@ AcDbSweptSurface 0 ENDBLK 5 -107E +107F 330 -107C +107D 100 AcDbEntity 8 @@ -103941,9 +103971,9 @@ AcDbBlockEnd 0 BLOCK 5 -1082 +1083 330 -1081 +1082 100 AcDbEntity 8 @@ -103969,7 +103999,7 @@ SWEPTSURFACE 5 69F 330 -1081 +1082 100 AcDbEntity 8 @@ -103983,7 +104013,7 @@ AcDbModelerGeometry 290 1 2 -{093BE82D-C833-42EE-A79E-C462AFB52CB1} +{F67E44A5-2A96-4001-A8CF-809AE3C53F14} 100 AcDbSurface 71 @@ -104161,9 +104191,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1083 +1084 330 -1081 +1082 100 AcDbEntity 8 @@ -104173,9 +104203,9 @@ AcDbBlockEnd 0 BLOCK 5 -1087 +1088 330 -1086 +1087 100 AcDbEntity 8 @@ -104201,7 +104231,7 @@ SWEPTSURFACE 5 6A0 330 -1086 +1087 100 AcDbEntity 8 @@ -104215,7 +104245,7 @@ AcDbModelerGeometry 290 1 2 -{65D81799-DB4A-430E-9E87-1D7FCE058664} +{EC932CF0-2A29-4B49-AF0C-EC6F2D790F95} 100 AcDbSurface 71 @@ -104393,9 +104423,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1088 +1089 330 -1086 +1087 100 AcDbEntity 8 @@ -104405,9 +104435,9 @@ AcDbBlockEnd 0 BLOCK 5 -108C +108D 330 -108B +108C 100 AcDbEntity 8 @@ -104433,7 +104463,7 @@ SWEPTSURFACE 5 6A1 330 -108B +108C 100 AcDbEntity 8 @@ -104447,7 +104477,7 @@ AcDbModelerGeometry 290 1 2 -{1C7BAFE9-7C15-4F6D-8F0A-577F2CC89DC5} +{702D5164-F1DB-464D-B0D2-3E02777FECFC} 100 AcDbSurface 71 @@ -104625,9 +104655,9 @@ AcDbSweptSurface 0 ENDBLK 5 -108D +108E 330 -108B +108C 100 AcDbEntity 8 @@ -104637,9 +104667,9 @@ AcDbBlockEnd 0 BLOCK 5 -1091 +1092 330 -1090 +1091 100 AcDbEntity 8 @@ -104665,7 +104695,7 @@ SWEPTSURFACE 5 6A2 330 -1090 +1091 100 AcDbEntity 8 @@ -104679,7 +104709,7 @@ AcDbModelerGeometry 290 1 2 -{2CA1E001-A8B2-49D9-B3B6-4311A3C5C205} +{E6A3556C-7DBE-4728-82FC-660B2E960C1D} 100 AcDbSurface 71 @@ -104857,9 +104887,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1092 +1093 330 -1090 +1091 100 AcDbEntity 8 @@ -104869,9 +104899,9 @@ AcDbBlockEnd 0 BLOCK 5 -1096 +1097 330 -1095 +1096 100 AcDbEntity 8 @@ -104897,7 +104927,7 @@ SWEPTSURFACE 5 6A3 330 -1095 +1096 100 AcDbEntity 8 @@ -104911,7 +104941,7 @@ AcDbModelerGeometry 290 1 2 -{8C5D4BAF-F096-4541-85FF-1283A7488F74} +{9466A2F5-539C-4C16-ABBE-7EB636E5731A} 100 AcDbSurface 71 @@ -105089,9 +105119,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1097 +1098 330 -1095 +1096 100 AcDbEntity 8 @@ -105101,9 +105131,9 @@ AcDbBlockEnd 0 BLOCK 5 -109B +109C 330 -109A +109B 100 AcDbEntity 8 @@ -105129,7 +105159,7 @@ SWEPTSURFACE 5 6A4 330 -109A +109B 100 AcDbEntity 8 @@ -105143,7 +105173,7 @@ AcDbModelerGeometry 290 1 2 -{34209351-6537-4E23-AF48-052C981C89DF} +{B4248024-2F49-4E58-B6CE-501026BB0803} 100 AcDbSurface 71 @@ -105321,9 +105351,9 @@ AcDbSweptSurface 0 ENDBLK 5 -109C +109D 330 -109A +109B 100 AcDbEntity 8 @@ -105333,9 +105363,9 @@ AcDbBlockEnd 0 BLOCK 5 -10A0 +10A1 330 -109F +10A0 100 AcDbEntity 8 @@ -105361,7 +105391,7 @@ SWEPTSURFACE 5 6A5 330 -109F +10A0 100 AcDbEntity 8 @@ -105375,7 +105405,7 @@ AcDbModelerGeometry 290 1 2 -{8AED199C-B0D6-428D-885D-90E5796F5FEE} +{B00F4E8C-35E6-4206-BED8-ED9DB45E05CE} 100 AcDbSurface 71 @@ -105553,9 +105583,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10A1 +10A2 330 -109F +10A0 100 AcDbEntity 8 @@ -105565,9 +105595,9 @@ AcDbBlockEnd 0 BLOCK 5 -10A5 +10A6 330 -10A4 +10A5 100 AcDbEntity 8 @@ -105593,7 +105623,7 @@ SWEPTSURFACE 5 6A6 330 -10A4 +10A5 100 AcDbEntity 8 @@ -105607,7 +105637,7 @@ AcDbModelerGeometry 290 1 2 -{C79BAED3-3504-4D80-8578-BC9C6309A662} +{1DEA770E-D0BF-464B-8DD5-F01A930D1D52} 100 AcDbSurface 71 @@ -105785,9 +105815,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10A6 +10A7 330 -10A4 +10A5 100 AcDbEntity 8 @@ -105797,9 +105827,9 @@ AcDbBlockEnd 0 BLOCK 5 -10AA +10AB 330 -10A9 +10AA 100 AcDbEntity 8 @@ -105825,7 +105855,7 @@ SWEPTSURFACE 5 6A7 330 -10A9 +10AA 100 AcDbEntity 8 @@ -105839,7 +105869,7 @@ AcDbModelerGeometry 290 1 2 -{189C46F4-B2E5-4A5B-8059-0D3B7EC96C52} +{74DB95FA-BB56-40B5-B9EC-983A4570034A} 100 AcDbSurface 71 @@ -106017,9 +106047,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10AB +10AC 330 -10A9 +10AA 100 AcDbEntity 8 @@ -106029,9 +106059,9 @@ AcDbBlockEnd 0 BLOCK 5 -10AF +10B0 330 -10AE +10AF 100 AcDbEntity 8 @@ -106057,7 +106087,7 @@ SWEPTSURFACE 5 6A8 330 -10AE +10AF 100 AcDbEntity 8 @@ -106071,7 +106101,7 @@ AcDbModelerGeometry 290 1 2 -{83631AA8-ACE9-4885-A7AA-A531EC7B2AFC} +{23FEA91A-DFB9-4446-8359-781F8CFC3FD7} 100 AcDbSurface 71 @@ -106249,9 +106279,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10B0 +10B1 330 -10AE +10AF 100 AcDbEntity 8 @@ -106261,9 +106291,9 @@ AcDbBlockEnd 0 BLOCK 5 -10B4 +10B5 330 -10B3 +10B4 100 AcDbEntity 8 @@ -106289,7 +106319,7 @@ SWEPTSURFACE 5 6A9 330 -10B3 +10B4 100 AcDbEntity 8 @@ -106303,7 +106333,7 @@ AcDbModelerGeometry 290 1 2 -{01A9F4D5-EFA2-4690-A40F-51411DB3B37D} +{E4760210-91F3-4AA4-B937-9A32A5C21306} 100 AcDbSurface 71 @@ -106481,9 +106511,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10B5 +10B6 330 -10B3 +10B4 100 AcDbEntity 8 @@ -106493,9 +106523,9 @@ AcDbBlockEnd 0 BLOCK 5 -10B9 +10BA 330 -10B8 +10B9 100 AcDbEntity 8 @@ -106521,7 +106551,7 @@ SWEPTSURFACE 5 6AA 330 -10B8 +10B9 100 AcDbEntity 8 @@ -106535,7 +106565,7 @@ AcDbModelerGeometry 290 1 2 -{27DD479E-BF20-4CDE-920F-B4D60126D004} +{6BE581BF-4A58-4E00-957F-BD5F54A62650} 100 AcDbSurface 71 @@ -106713,9 +106743,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10BA +10BB 330 -10B8 +10B9 100 AcDbEntity 8 @@ -106725,9 +106755,9 @@ AcDbBlockEnd 0 BLOCK 5 -10BE +10BF 330 -10BD +10BE 100 AcDbEntity 8 @@ -106753,7 +106783,7 @@ SWEPTSURFACE 5 6AB 330 -10BD +10BE 100 AcDbEntity 8 @@ -106767,7 +106797,7 @@ AcDbModelerGeometry 290 1 2 -{15411A74-18C7-4B71-9BDF-E30A04F4610A} +{78864F28-1E20-44C9-BF7F-B10DAE07CABD} 100 AcDbSurface 71 @@ -106945,9 +106975,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10BF +10C0 330 -10BD +10BE 100 AcDbEntity 8 @@ -106957,9 +106987,9 @@ AcDbBlockEnd 0 BLOCK 5 -10C3 +10C4 330 -10C2 +10C3 100 AcDbEntity 8 @@ -106985,7 +107015,7 @@ SWEPTSURFACE 5 6AC 330 -10C2 +10C3 100 AcDbEntity 8 @@ -106999,7 +107029,7 @@ AcDbModelerGeometry 290 1 2 -{80D76377-2E9A-4733-80CF-6F59233C4B62} +{43A19AAC-C2DA-45A8-B71F-7FF67B951879} 100 AcDbSurface 71 @@ -107177,9 +107207,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10C4 +10C5 330 -10C2 +10C3 100 AcDbEntity 8 @@ -107189,9 +107219,9 @@ AcDbBlockEnd 0 BLOCK 5 -10C8 +10C9 330 -10C7 +10C8 100 AcDbEntity 8 @@ -107217,7 +107247,7 @@ SWEPTSURFACE 5 6AD 330 -10C7 +10C8 100 AcDbEntity 8 @@ -107231,7 +107261,7 @@ AcDbModelerGeometry 290 1 2 -{A8AA29E8-B54B-423B-A953-CBB943BC61EE} +{CB9FC4B6-2B63-43BB-B2DD-E4B7A9BC60C3} 100 AcDbSurface 71 @@ -107409,9 +107439,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10C9 +10CA 330 -10C7 +10C8 100 AcDbEntity 8 @@ -107421,9 +107451,9 @@ AcDbBlockEnd 0 BLOCK 5 -10CD +10CE 330 -10CC +10CD 100 AcDbEntity 8 @@ -107449,7 +107479,7 @@ SWEPTSURFACE 5 6AE 330 -10CC +10CD 100 AcDbEntity 8 @@ -107463,7 +107493,7 @@ AcDbModelerGeometry 290 1 2 -{02B7B1E3-5EA8-47B3-947B-FCE091669C79} +{C9FB8C4E-B3A3-4B19-B96C-BE7C5FB7B5A3} 100 AcDbSurface 71 @@ -107641,9 +107671,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10CE +10CF 330 -10CC +10CD 100 AcDbEntity 8 @@ -107653,9 +107683,9 @@ AcDbBlockEnd 0 BLOCK 5 -10D2 +10D3 330 -10D1 +10D2 100 AcDbEntity 8 @@ -107681,7 +107711,7 @@ SWEPTSURFACE 5 6AF 330 -10D1 +10D2 100 AcDbEntity 8 @@ -107695,7 +107725,7 @@ AcDbModelerGeometry 290 1 2 -{B09FC874-69A7-4B07-A132-1EE7D44FAEBB} +{0587A30D-8D2C-46B6-809C-EA2BB49F19B3} 100 AcDbSurface 71 @@ -107873,9 +107903,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10D3 +10D4 330 -10D1 +10D2 100 AcDbEntity 8 @@ -107885,9 +107915,9 @@ AcDbBlockEnd 0 BLOCK 5 -10D7 +10D8 330 -10D6 +10D7 100 AcDbEntity 8 @@ -107913,7 +107943,7 @@ SWEPTSURFACE 5 6B0 330 -10D6 +10D7 100 AcDbEntity 8 @@ -107927,7 +107957,7 @@ AcDbModelerGeometry 290 1 2 -{59E7BB40-48B8-4D0E-91D2-1763CCFE70CB} +{882EAB9C-E536-4871-A8EC-8E7A7D3B8252} 100 AcDbSurface 71 @@ -108105,9 +108135,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10D8 +10D9 330 -10D6 +10D7 100 AcDbEntity 8 @@ -108117,9 +108147,9 @@ AcDbBlockEnd 0 BLOCK 5 -10DC +10DD 330 -10DB +10DC 100 AcDbEntity 8 @@ -108145,7 +108175,7 @@ SWEPTSURFACE 5 6B1 330 -10DB +10DC 100 AcDbEntity 8 @@ -108159,7 +108189,7 @@ AcDbModelerGeometry 290 1 2 -{289DCE60-C11D-438A-A8EC-EE941950293E} +{2862C329-5A26-4CF6-9446-AD58C8F7FB04} 100 AcDbSurface 71 @@ -108337,9 +108367,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10DD +10DE 330 -10DB +10DC 100 AcDbEntity 8 @@ -108349,9 +108379,9 @@ AcDbBlockEnd 0 BLOCK 5 -10E1 +10E2 330 -10E0 +10E1 100 AcDbEntity 8 @@ -108377,7 +108407,7 @@ SWEPTSURFACE 5 6B2 330 -10E0 +10E1 100 AcDbEntity 8 @@ -108391,7 +108421,7 @@ AcDbModelerGeometry 290 1 2 -{A1BA9F31-0899-470A-9F03-DAA50F98F01D} +{54374B2B-0B9B-4E12-8CAE-C1534A3BEF41} 100 AcDbSurface 71 @@ -108569,9 +108599,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10E2 +10E3 330 -10E0 +10E1 100 AcDbEntity 8 @@ -108581,9 +108611,9 @@ AcDbBlockEnd 0 BLOCK 5 -10E6 +10E7 330 -10E5 +10E6 100 AcDbEntity 8 @@ -108609,7 +108639,7 @@ SWEPTSURFACE 5 6B3 330 -10E5 +10E6 100 AcDbEntity 8 @@ -108623,7 +108653,7 @@ AcDbModelerGeometry 290 1 2 -{454352DD-EA30-49E7-8A5A-832CDFA6E081} +{552CAD34-4DC5-4ECF-BA99-A3A85140E0C7} 100 AcDbSurface 71 @@ -108801,9 +108831,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10E7 +10E8 330 -10E5 +10E6 100 AcDbEntity 8 @@ -108813,9 +108843,9 @@ AcDbBlockEnd 0 BLOCK 5 -10EB +10EC 330 -10EA +10EB 100 AcDbEntity 8 @@ -108841,7 +108871,7 @@ SWEPTSURFACE 5 6B4 330 -10EA +10EB 100 AcDbEntity 8 @@ -108855,7 +108885,7 @@ AcDbModelerGeometry 290 1 2 -{CAA3B4D6-C16F-4303-8E05-6A95927A2F26} +{C1EE8AB1-3AFD-40E5-B131-353A8A3375E1} 100 AcDbSurface 71 @@ -109033,9 +109063,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10EC +10ED 330 -10EA +10EB 100 AcDbEntity 8 @@ -109045,9 +109075,9 @@ AcDbBlockEnd 0 BLOCK 5 -10F0 +10F1 330 -10EF +10F0 100 AcDbEntity 8 @@ -109073,7 +109103,7 @@ SWEPTSURFACE 5 6B5 330 -10EF +10F0 100 AcDbEntity 8 @@ -109087,7 +109117,7 @@ AcDbModelerGeometry 290 1 2 -{AD2B04B1-E9FF-4D15-8DC6-99B52C69B8DC} +{32797B72-BAEB-4199-95E7-C5E89E23C081} 100 AcDbSurface 71 @@ -109265,9 +109295,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10F1 +10F2 330 -10EF +10F0 100 AcDbEntity 8 @@ -109277,9 +109307,9 @@ AcDbBlockEnd 0 BLOCK 5 -10F5 +10F6 330 -10F4 +10F5 100 AcDbEntity 8 @@ -109305,7 +109335,7 @@ SWEPTSURFACE 5 6B6 330 -10F4 +10F5 100 AcDbEntity 8 @@ -109319,7 +109349,7 @@ AcDbModelerGeometry 290 1 2 -{A2B7957B-91C8-41F4-BD95-FB7342A22A4F} +{F92D427F-C75B-43F2-9420-BC6539F87A26} 100 AcDbSurface 71 @@ -109497,9 +109527,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10F6 +10F7 330 -10F4 +10F5 100 AcDbEntity 8 @@ -109509,9 +109539,9 @@ AcDbBlockEnd 0 BLOCK 5 -10FA +10FB 330 -10F9 +10FA 100 AcDbEntity 8 @@ -109537,7 +109567,7 @@ SWEPTSURFACE 5 6B7 330 -10F9 +10FA 100 AcDbEntity 8 @@ -109551,7 +109581,7 @@ AcDbModelerGeometry 290 1 2 -{230886A2-7D22-46DD-BF9F-9FCEA4CFB06D} +{04BCE3C5-2A4C-46BB-8D19-002D22D7669F} 100 AcDbSurface 71 @@ -109729,9 +109759,9 @@ AcDbSweptSurface 0 ENDBLK 5 -10FB +10FC 330 -10F9 +10FA 100 AcDbEntity 8 @@ -109741,9 +109771,9 @@ AcDbBlockEnd 0 BLOCK 5 -10FF +1100 330 -10FE +10FF 100 AcDbEntity 8 @@ -109769,7 +109799,7 @@ SWEPTSURFACE 5 6B8 330 -10FE +10FF 100 AcDbEntity 8 @@ -109783,7 +109813,7 @@ AcDbModelerGeometry 290 1 2 -{39FB57A8-DB4C-4B75-A8B4-962155D55C08} +{B95161DE-31E6-4538-9856-9D61FF653513} 100 AcDbSurface 71 @@ -109961,9 +109991,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1100 +1101 330 -10FE +10FF 100 AcDbEntity 8 @@ -109973,9 +110003,9 @@ AcDbBlockEnd 0 BLOCK 5 -1104 +1105 330 -1103 +1104 100 AcDbEntity 8 @@ -110001,7 +110031,7 @@ SWEPTSURFACE 5 6B9 330 -1103 +1104 100 AcDbEntity 8 @@ -110015,7 +110045,7 @@ AcDbModelerGeometry 290 1 2 -{C1A2F789-1F94-4B1E-944B-F2CEFE2A4711} +{2DD8B626-4DB0-45C8-90E7-1B7EEA8A6F9A} 100 AcDbSurface 71 @@ -110193,9 +110223,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1105 +1106 330 -1103 +1104 100 AcDbEntity 8 @@ -110205,9 +110235,9 @@ AcDbBlockEnd 0 BLOCK 5 -1109 +110A 330 -1108 +1109 100 AcDbEntity 8 @@ -110233,7 +110263,7 @@ SWEPTSURFACE 5 6BA 330 -1108 +1109 100 AcDbEntity 8 @@ -110247,7 +110277,7 @@ AcDbModelerGeometry 290 1 2 -{40273433-AF13-4B06-9256-6ABDFEAED566} +{B28701C6-2346-4D71-9BDA-D4ABCD16EA07} 100 AcDbSurface 71 @@ -110425,9 +110455,9 @@ AcDbSweptSurface 0 ENDBLK 5 -110A +110B 330 -1108 +1109 100 AcDbEntity 8 @@ -110437,9 +110467,9 @@ AcDbBlockEnd 0 BLOCK 5 -110E +110F 330 -110D +110E 100 AcDbEntity 8 @@ -110465,7 +110495,7 @@ SWEPTSURFACE 5 6BB 330 -110D +110E 100 AcDbEntity 8 @@ -110479,7 +110509,7 @@ AcDbModelerGeometry 290 1 2 -{76C5512C-2F72-4B00-9DF9-4EA3A8520D36} +{63BA73ED-6EC8-4EBE-A85E-202B4CBDB081} 100 AcDbSurface 71 @@ -110657,9 +110687,9 @@ AcDbSweptSurface 0 ENDBLK 5 -110F +1110 330 -110D +110E 100 AcDbEntity 8 @@ -110669,9 +110699,9 @@ AcDbBlockEnd 0 BLOCK 5 -1113 +1114 330 -1112 +1113 100 AcDbEntity 8 @@ -110697,7 +110727,7 @@ SWEPTSURFACE 5 6BC 330 -1112 +1113 100 AcDbEntity 8 @@ -110711,7 +110741,7 @@ AcDbModelerGeometry 290 1 2 -{2C12EF1B-07FF-4611-B7E3-D5CE0B6D1ECA} +{634529F9-5337-403A-9309-CCF2829C62FF} 100 AcDbSurface 71 @@ -110889,9 +110919,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1114 +1115 330 -1112 +1113 100 AcDbEntity 8 @@ -110901,9 +110931,9 @@ AcDbBlockEnd 0 BLOCK 5 -1118 +1119 330 -1117 +1118 100 AcDbEntity 8 @@ -110929,7 +110959,7 @@ SWEPTSURFACE 5 6BD 330 -1117 +1118 100 AcDbEntity 8 @@ -110943,7 +110973,7 @@ AcDbModelerGeometry 290 1 2 -{41BF29E2-7320-43EB-B56D-90791126ACF8} +{98F56221-5F5B-422D-A733-48A755AD96BE} 100 AcDbSurface 71 @@ -111121,9 +111151,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1119 +111A 330 -1117 +1118 100 AcDbEntity 8 @@ -111133,9 +111163,9 @@ AcDbBlockEnd 0 BLOCK 5 -111D +111E 330 -111C +111D 100 AcDbEntity 8 @@ -111161,7 +111191,7 @@ SWEPTSURFACE 5 6BE 330 -111C +111D 100 AcDbEntity 8 @@ -111175,7 +111205,7 @@ AcDbModelerGeometry 290 1 2 -{7F23E149-10D1-4458-96AE-76FADE49A9D1} +{8BE30DD3-6300-4B3A-8E45-053BEAE9847C} 100 AcDbSurface 71 @@ -111353,9 +111383,9 @@ AcDbSweptSurface 0 ENDBLK 5 -111E +111F 330 -111C +111D 100 AcDbEntity 8 @@ -111365,9 +111395,9 @@ AcDbBlockEnd 0 BLOCK 5 -1122 +1123 330 -1121 +1122 100 AcDbEntity 8 @@ -111393,7 +111423,7 @@ SWEPTSURFACE 5 6BF 330 -1121 +1122 100 AcDbEntity 8 @@ -111407,7 +111437,7 @@ AcDbModelerGeometry 290 1 2 -{91950489-B8B2-4669-AF58-DC9C07516E91} +{DE936D89-FEBF-4227-95CC-3FAA3192C1DF} 100 AcDbSurface 71 @@ -111585,9 +111615,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1123 +1124 330 -1121 +1122 100 AcDbEntity 8 @@ -111597,9 +111627,9 @@ AcDbBlockEnd 0 BLOCK 5 -1127 +1128 330 -1126 +1127 100 AcDbEntity 8 @@ -111625,7 +111655,7 @@ SWEPTSURFACE 5 6C0 330 -1126 +1127 100 AcDbEntity 8 @@ -111639,7 +111669,7 @@ AcDbModelerGeometry 290 1 2 -{74824A7D-AACD-43DA-BE84-E19F2A9561B9} +{CE15A49F-E39F-4E43-AEB1-9646796132AE} 100 AcDbSurface 71 @@ -111817,9 +111847,9 @@ AcDbSweptSurface 0 ENDBLK 5 -1128 +1129 330 -1126 +1127 100 AcDbEntity 8 @@ -111829,9 +111859,9 @@ AcDbBlockEnd 0 BLOCK 5 -112C +112D 330 -112B +112C 100 AcDbEntity 8 @@ -111857,7 +111887,7 @@ SWEPTSURFACE 5 6C1 330 -112B +112C 100 AcDbEntity 8 @@ -111871,7 +111901,7 @@ AcDbModelerGeometry 290 1 2 -{FCB317B4-0793-4C8E-9CFB-2DCB89916EDF} +{2F4AECA6-54F2-41C6-8AAE-4DFEEFD9258C} 100 AcDbSurface 71 @@ -112049,9 +112079,9 @@ AcDbSweptSurface 0 ENDBLK 5 -112D +112E 330 -112B +112C 100 AcDbEntity 8 @@ -117303,7 +117333,7 @@ AcDbText 0 INSERT 5 -FBB +FBC 330 17 100 @@ -117323,7 +117353,7 @@ _DUMMY_SCANNER 0 TEXT 5 -FBD +FBE 330 17 100 @@ -118357,7 +118387,7 @@ CREATED_BY_EZDXF 3 WRITTEN_BY_EZDXF 350 -1132 +1133 0 DICTIONARYVAR 5 @@ -118369,11 +118399,11 @@ DictionaryVariables 280 0 1 -1.4.1 @ 2026-01-26T10:49:43.049818+00:00 +1.4.1 @ 2026-01-26T12:18:38.818641+00:00 0 DICTIONARYVAR 5 -1132 +1133 330 2D 100 @@ -118381,7 +118411,7 @@ DictionaryVariables 280 0 1 -1.4.1 @ 2026-01-26T10:49:56.646891+00:00 +1.4.1 @ 2026-01-26T12:18:49.495343+00:00 0 ENDSEC 0 diff --git a/lib/dxf2lib.py b/lib/dxf2lib.py index 7683d8d..0ab251a 100644 --- a/lib/dxf2lib.py +++ b/lib/dxf2lib.py @@ -26,7 +26,7 @@ def create_block_library(input_dir, output_file, config, logger=None): logger: Optionaler Logger für Logging-Ausgaben Note: - - Unterstützte Entity-Typen: LINE, LWPOLYLINE, POLYLINE, SPLINE, CIRCLE, ARC, INSERT, REGION, … + - Unterstützte Entity-Typen: LINE, LWPOLYLINE, POLYLINE, SPLINE, CIRCLE, ARC, INSERT, TEXT, MTEXT, REGION, … - Blöcke werden zentriert und in einem 20x20 Raster angeordnet - Erstellt eine Log-Datei mit Zeitstempel für fehlerhafte Dateien - Automatische Erstellung des Output-Verzeichnisses falls nötig @@ -64,6 +64,8 @@ def create_block_library(input_dir, output_file, config, logger=None): "ARC", "INSERT", "ATTDEF", + "TEXT", + "MTEXT", "3DFACE", "MESH", "POLYFACE", @@ -256,11 +258,11 @@ def copy_entity(logger, error_files, filename, e, center): try: cp = e.copy() # Geometrie verschieben! - cp.translate(-center.x, -center.y,0) + cp.translate(-center.x, -center.y, 0) # Ursprungs-Layer übernehmen if hasattr(e.dxf, "layer"): cp.dxf.layer = e.dxf.layer - if (hasattr(e.dxf, "color")): + if hasattr(e.dxf, "color"): cp.dxf.color = e.dxf.color return cp @@ -406,7 +408,7 @@ def calculate_block_bounding_box(block, doc, src_doc, filename,config): bbox.extend(entity_bbox) - return bbox, (bbox.extmax.x -bbox.extmin.x, bbox.extmax.y -bbox.extmin.y),bbox.center + return bbox, (bbox.extmax.x - bbox.extmin.x, bbox.extmax.y - bbox.extmin.y), bbox.center def _bbox_from_virtual_entities(entity, doc, src_doc, filename, config, transform_matrix=None): @@ -556,11 +558,58 @@ def get_entity_bounding_box(e, doc,src_doc,filename,config, transform_matrix=Non bbox.extend(sampled) elif e.dxftype() == 'ATTDEF': - # Vereinfachung: Nur Insert-Point berücksichtigen + insert_point = Vec3(e.dxf.insert) if transform_matrix: insert_point = transform_matrix.transform(insert_point) - + elif e.dxftype() == 'TEXT': + insert_point = Vec3(e.dxf.insert) + height = float(getattr(e.dxf, "height", 1.0)) + width_factor = float(getattr(e.dxf, "width", 1.0)) + rotation = math.radians(getattr(e.dxf, "rotation", 0.0)) + text_content = getattr(e.dxf, "text", "") or "" + est_width = max(len(text_content) * height * 0.6 * width_factor, height * 0.5) + corners = [ + insert_point, + insert_point + Vec3(est_width, 0, 0), + insert_point + Vec3(0, height, 0), + insert_point + Vec3(est_width, height, 0), + ] + if rotation != 0: + cos_r, sin_r = math.cos(rotation), math.sin(rotation) + origin = insert_point + rotated = [] + for c in corners: + dx, dy = c.x - origin.x, c.y - origin.y + rx = origin.x + dx * cos_r - dy * sin_r + ry = origin.y + dx * sin_r + dy * cos_r + rotated.append(Vec3(rx, ry, c.z)) + corners = rotated + for pt in corners: + if transform_matrix: + pt = transform_matrix.transform(pt) + bbox.extend([pt]) + + elif e.dxftype() == 'MTEXT': + insert_point = Vec3(e.dxf.insert) + char_height = float(getattr(e.dxf, "char_height", 1.0)) + width = float(getattr(e.dxf, "width", 0.0)) + if width <= 0: + width = 10.0 * char_height + text_content = getattr(e.dxf, "text", "") or "" + lines = len(text_content.split("\n")) or 1 + box_height = char_height * lines * 1.2 + corners = [ + insert_point, + insert_point + Vec3(width, 0, 0), + insert_point + Vec3(0, box_height, 0), + insert_point + Vec3(width, box_height, 0), + ] + for pt in corners: + if transform_matrix: + pt = transform_matrix.transform(pt) + bbox.extend([pt]) + elif e.dxftype() == 'REGION': # Region: Begrenzungsgeometrie über virtual_entities() ve_bbox = _bbox_from_virtual_entities(