diff --git a/Doku/reduce_filesize/filter_zip_no_stl.py b/Doku/reduce_filesize/filter_zip_no_stl.py new file mode 100644 index 0000000..49be176 --- /dev/null +++ b/Doku/reduce_filesize/filter_zip_no_stl.py @@ -0,0 +1,150 @@ +#!/usr/bin/env python3 +""" +Filtert ein ZIP-Archiv und entfernt alle .stl Dateien. +Ausgabe: originalname_heute.zip (oder ersetzt Original mit --replace) +""" + +import zipfile +import sys +import argparse +import shutil +import struct +import zlib +from pathlib import Path + + +def filter_zip_no_stl(source_zip_path: str, replace: bool = False) -> str: + """ + Öffnet ein ZIP und erstellt ein neues ohne .stl Dateien. + + Args: + source_zip_path: Pfad zur Quell-ZIP-Datei + replace: Wenn True, wird das Original ersetzt + + Returns: + Pfad zur erstellten/ersetzten ZIP-Datei + """ + source_path = Path(source_zip_path) + + if not source_path.exists(): + raise FileNotFoundError(f"Datei nicht gefunden: {source_zip_path}") + + if not source_path.suffix.lower() == '.zip': + raise ValueError(f"Keine ZIP-Datei: {source_zip_path}") + + # Temporäres Ziel-ZIP + temp_path = source_path.with_name(f"{source_path.stem}_heute.zip") + + copied_count = 0 + skipped_count = 0 + + print("Filtere ZIP und erstelle neues Archiv mit UTF-8 Encoding...") + + with zipfile.ZipFile(source_path, 'r') as src_zip: + with zipfile.ZipFile(temp_path, 'w', zipfile.ZIP_DEFLATED) as dst_zip: + # Iteriere über alle Dateien im Quell-ZIP + for info in src_zip.infolist(): + # Verzeichnisse überspringen + if info.is_dir(): + continue + + # .stl Dateien überspringen + if info.filename.lower().endswith('.stl'): + skipped_count += 1 + print(f" - {info.filename}") + continue + + # Kopiere Datei ins neue ZIP + try: + # Lese Dateiinhalt + with src_zip.open(info, 'r') as source: + file_data = source.read() + + # Schreibe ins neue ZIP (mit UTF-8 Encoding) + dst_zip.writestr(info.filename, file_data, compress_type=zipfile.ZIP_DEFLATED) + copied_count += 1 + + except Exception as e: + # Fallback: Low-Level Extraktion für problematische Dateien + try: + # Lese direkt aus der ZIP-Datei ohne Validierung + with open(source_path, 'rb') as f: + # Gehe zu Local File Header + f.seek(info.header_offset) + + # Lese Local File Header (30 Bytes) + fheader = f.read(30) + if len(fheader) != 30: + raise Exception("Kann Local File Header nicht lesen") + + # Parse Header (ZIP Local File Header format) + sig, ver, flags, comp_method, mod_time, mod_date, crc, comp_size, uncomp_size, fname_len, extra_len = struct.unpack('<4s5H3I2H', fheader) + if sig != b'PK\x03\x04': + raise Exception("Ungültiger Local File Header") + + # Lese raw filename bytes aus Header + raw_filename_bytes = f.read(fname_len) + + # Überspringe Extra Field + f.seek(info.header_offset + 30 + fname_len + extra_len) + + # Lese komprimierte Daten + compressed_data = f.read(comp_size) + + # Dekomprimiere + if comp_method == 8: # DEFLATE + file_data = zlib.decompress(compressed_data, -zlib.MAX_WBITS) + elif comp_method == 0: # STORED + file_data = compressed_data + else: + raise Exception(f"Unbekannte Kompression: {comp_method}") + + # Dekodiere Dateinamen mit latin-1 (ISO-8859-1) + # latin-1 unterstützt deutsche Umlaute korrekt (\xf6 = ö) + correct_filename = raw_filename_bytes.decode('latin-1', errors='replace') + + # Schreibe ins neue ZIP mit korrigiertem Namen + dst_zip.writestr(correct_filename, file_data, compress_type=zipfile.ZIP_DEFLATED) + copied_count += 1 + print(f" + {correct_filename} (re-encoded)") + + except Exception as e2: + print(f" ! Warnung: Konnte {info.filename} nicht kopieren: {e2}") + skipped_count += 1 + + print(f"\nErgebnis: {copied_count} Datei(en) kopiert, {skipped_count} STL-Datei(en) entfernt") + + if replace: + shutil.move(str(temp_path), str(source_path)) + print(f"Original ersetzt: {source_path}") + return str(source_path) + else: + print(f"Ziel-ZIP: {temp_path}") + return str(temp_path) + + +def main(): + parser = argparse.ArgumentParser( + description="Filtert ZIP-Archive und entfernt alle .stl Dateien." + ) + parser.add_argument( + "zipfile", + help="Pfad zur Quell-ZIP-Datei" + ) + parser.add_argument( + "--replace", + action="store_true", + help="Original-ZIP durch gefilterte Version ersetzen" + ) + + args = parser.parse_args() + + try: + filter_zip_no_stl(args.zipfile, args.replace) + except (FileNotFoundError, ValueError, zipfile.BadZipFile) as e: + print(f"Fehler: {e}", file=sys.stderr) + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/Doku/reduce_filesize/mkexe.bat b/Doku/reduce_filesize/mkexe.bat new file mode 100644 index 0000000..bd2024b --- /dev/null +++ b/Doku/reduce_filesize/mkexe.bat @@ -0,0 +1,10 @@ +echo === EXE erstellen === + +@echo off +call .venv\Scripts\activate.bat +pyinstaller --onefile filter_zip_no_stl.py + +echo. +echo === Fertig! === +move dist\filter_zip_no_stl.exe ..\..\Sessions\removeStls.exe +pause diff --git a/Doku/reduce_filesize/requirements.txt b/Doku/reduce_filesize/requirements.txt new file mode 100644 index 0000000..30adefe --- /dev/null +++ b/Doku/reduce_filesize/requirements.txt @@ -0,0 +1,2 @@ +# Für EXE-Erstellung +pyinstaller>=6.0 \ No newline at end of file diff --git a/Doku/reduce_filesize/setup.bat b/Doku/reduce_filesize/setup.bat new file mode 100644 index 0000000..b537426 --- /dev/null +++ b/Doku/reduce_filesize/setup.bat @@ -0,0 +1,32 @@ +@echo off +echo === Virtuelle Umgebung einrichten === + +REM Prüfen ob Python verfügbar ist +python --version >nul 2>&1 +if errorlevel 1 ( + echo Fehler: Python nicht gefunden! + echo Bitte Python installieren und zum PATH hinzufügen. + pause + exit /b 1 +) + +REM Virtuelle Umgebung erstellen +echo Erstelle .venv ... +python -m venv .venv + +REM Aktivieren und Dependencies installieren +echo Aktiviere .venv und installiere Abhängigkeiten ... +call .venv\Scripts\activate.bat +python -m pip install --upgrade pip +pip install -r requirements.txt + +echo. +echo === Fertig! === +echo. +echo Zum Aktivieren der Umgebung: +echo .venv\Scripts\activate +echo. +echo Zum Erstellen der EXE: +echo pyinstaller --onefile filter_zip_no_stl.py +echo. +pause diff --git a/Editor2DLibrary/SSG/shapes/obj/0_BG080090+834372028.stl b/Editor2DLibrary/SSG/shapes/obj/0_BG080090+834372028.stl new file mode 100644 index 0000000..4937020 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/0_BG080090+834372028.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/0_BG090090+834372002.stl b/Editor2DLibrary/SSG/shapes/obj/0_BG090090+834372002.stl new file mode 100644 index 0000000..62e7e19 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/0_BG090090+834372002.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/0_BG190090+834372008.stl b/Editor2DLibrary/SSG/shapes/obj/0_BG190090+834372008.stl new file mode 100644 index 0000000..1c1636a Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/0_BG190090+834372008.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/Gefaellestrecke_rechts_aus.stl b/Editor2DLibrary/SSG/shapes/obj/Gefaellestrecke_rechts_aus.stl new file mode 100644 index 0000000..62a0823 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/Gefaellestrecke_rechts_aus.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/Gefaellestrecke_rechts_ein.stl b/Editor2DLibrary/SSG/shapes/obj/Gefaellestrecke_rechts_ein.stl new file mode 100644 index 0000000..04ecfcb Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/Gefaellestrecke_rechts_ein.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/Kreiselstrecke.stl b/Editor2DLibrary/SSG/shapes/obj/Kreiselstrecke.stl new file mode 100644 index 0000000..715504e Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/Kreiselstrecke.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/Motor.stl b/Editor2DLibrary/SSG/shapes/obj/Motor.stl new file mode 100644 index 0000000..4c262c8 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/Motor.stl differ diff --git a/Editor2DLibrary/SSG/shapes/obj/s70.stl b/Editor2DLibrary/SSG/shapes/obj/s70.stl new file mode 100644 index 0000000..5781662 Binary files /dev/null and b/Editor2DLibrary/SSG/shapes/obj/s70.stl differ diff --git a/Editor2DLibrary/SSG/shapes/palettes/c_OmnifloFoerderer.xml b/Editor2DLibrary/SSG/shapes/palettes/c_OmnifloFoerderer.xml new file mode 100644 index 0000000..7d871fd --- /dev/null +++ b/Editor2DLibrary/SSG/shapes/palettes/c_OmnifloFoerderer.xml @@ -0,0 +1,2 @@ +
Kettenförderer
+
\ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/palettes/c_TEFElemente.xml b/Editor2DLibrary/SSG/shapes/palettes/c_TEFElemente.xml index 5784282..9ce9aac 100644 --- a/Editor2DLibrary/SSG/shapes/palettes/c_TEFElemente.xml +++ b/Editor2DLibrary/SSG/shapes/palettes/c_TEFElemente.xml @@ -2,5 +2,5 @@
Umlenkspannst. links für TEF rechts
Antriebst. links für TEF links
Antriebst. rechts für TEF rechts
-
TEF Gerade
+
TEFGERADE
\ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG071090+834372404+0_BG071090.txt b/Editor2DLibrary/SSG/shapes/props/0_BG071090+834372404+0_BG071090.txt index bb339a5..5c2b7c1 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG071090+834372404+0_BG071090.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG071090+834372404+0_BG071090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 270, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -140,7 +140,7 @@ "zMax": "", "zStep": "", "direction": 90, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG071090+834372404.txt b/Editor2DLibrary/SSG/shapes/props/0_BG071090+834372404.txt index 9fb3b1c..0762e72 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG071090+834372404.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG071090+834372404.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 270, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372110+0_BG080090.txt b/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372110+0_BG080090.txt index 675fde5..30e46ea 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372110+0_BG080090.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372110+0_BG080090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 270, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -140,7 +140,7 @@ "zMax": "", "zStep": "", "direction": 90, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372110.txt b/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372110.txt index acf3603..dd721d4 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372110.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372110.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 270, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372210+0_BG080090.txt b/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372210+0_BG080090.txt index d49b044..6e50690 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372210+0_BG080090.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372210+0_BG080090.txt @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 270, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -140,7 +140,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -159,7 +159,7 @@ "zMax": "", "zStep": "", "direction": 90, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372210.txt b/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372210.txt index 95cb979..e918397 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372210.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG080090+834372210.txt @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 270, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372101+0_BG090090.txt b/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372101+0_BG090090.txt index c6ffc86..c6f2761 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372101+0_BG090090.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372101+0_BG090090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 315, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -140,7 +140,7 @@ "zMax": "", "zStep": "", "direction": 45, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372101.txt b/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372101.txt index 2bcec47..b38b14e 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372101.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372101.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 315, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372201+0_BG090090.txt b/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372201+0_BG090090.txt index 51297ab..f51a1ef 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372201+0_BG090090.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372201+0_BG090090.txt @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 315, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -140,7 +140,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -159,7 +159,7 @@ "zMax": "", "zStep": "", "direction": 45, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372201.txt b/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372201.txt index 70f1b3f..676b8f8 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372201.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG090090+834372201.txt @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 315, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372104+0_BG190090.txt b/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372104+0_BG190090.txt index 45b080f..437666e 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372104+0_BG190090.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372104+0_BG190090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 315, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -140,7 +140,7 @@ "zMax": "", "zStep": "", "direction": 45, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372104.txt b/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372104.txt index 9960604..86ea0db 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372104.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372104.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 315, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372204+0_BG190090.txt b/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372204+0_BG190090.txt index 7613ab2..a9cc88b 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372204+0_BG190090.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372204+0_BG190090.txt @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 315, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -140,7 +140,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -159,7 +159,7 @@ "zMax": "", "zStep": "", "direction": 45, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372204.txt b/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372204.txt index b447be8..acb7521 100644 --- a/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372204.txt +++ b/Editor2DLibrary/SSG/shapes/props/0_BG190090+834372204.txt @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 315, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372002+0_BG090090.txt b/Editor2DLibrary/SSG/shapes/props/834372002+0_BG090090.txt index fb930ea..6dca01a 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372002+0_BG090090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372002+0_BG090090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 315, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372005+0_BG090090.txt b/Editor2DLibrary/SSG/shapes/props/834372005+0_BG090090.txt index 2a9ec29..649ab69 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372005+0_BG090090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372005+0_BG090090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 45, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372008+0_BG190090.txt b/Editor2DLibrary/SSG/shapes/props/834372008+0_BG190090.txt index 1ac0a0d..7775d55 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372008+0_BG190090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372008+0_BG190090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 315, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372011+0_BG190090.txt b/Editor2DLibrary/SSG/shapes/props/834372011+0_BG190090.txt index 6a7d686..003edc0 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372011+0_BG190090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372011+0_BG190090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 45, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372028+0_BG080090.txt b/Editor2DLibrary/SSG/shapes/props/834372028+0_BG080090.txt index 081d922..89975c0 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372028+0_BG080090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372028+0_BG080090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 270, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372031+0_BG080090.txt b/Editor2DLibrary/SSG/shapes/props/834372031+0_BG080090.txt index 59da248..a040730 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372031+0_BG080090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372031+0_BG080090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 90, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372101+0_BG090090.txt b/Editor2DLibrary/SSG/shapes/props/834372101+0_BG090090.txt index 969e75d..e106f6e 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372101+0_BG090090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372101+0_BG090090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 45, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372104+0_BG190090.txt b/Editor2DLibrary/SSG/shapes/props/834372104+0_BG190090.txt index 2999de7..d1370fb 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372104+0_BG190090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372104+0_BG190090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 45, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372110+0_BG080090.txt b/Editor2DLibrary/SSG/shapes/props/834372110+0_BG080090.txt index 5767c5b..69e8779 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372110+0_BG080090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372110+0_BG080090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 90, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372201+0_BG090090.txt b/Editor2DLibrary/SSG/shapes/props/834372201+0_BG090090.txt index 0de0572..63fcb69 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372201+0_BG090090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372201+0_BG090090.txt @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 45, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372204+0_BG190090.txt b/Editor2DLibrary/SSG/shapes/props/834372204+0_BG190090.txt index 242707e..4849003 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372204+0_BG190090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372204+0_BG190090.txt @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 45, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372210+0_BG080090.txt b/Editor2DLibrary/SSG/shapes/props/834372210+0_BG080090.txt index 2fd7dca..9c3ced5 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372210+0_BG080090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372210+0_BG080090.txt @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -121,7 +121,7 @@ "zMax": "", "zStep": "", "direction": 90, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/834372404+0_BG071090.txt b/Editor2DLibrary/SSG/shapes/props/834372404+0_BG071090.txt index c5f20b2..05c3c30 100644 --- a/Editor2DLibrary/SSG/shapes/props/834372404+0_BG071090.txt +++ b/Editor2DLibrary/SSG/shapes/props/834372404+0_BG071090.txt @@ -83,7 +83,7 @@ "zMax": "", "zStep": "", "direction": 180, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true }, @@ -102,7 +102,7 @@ "zMax": "", "zStep": "", "direction": 90, - "linkClass": "TEFOmniflo", + "linkClass": "OmniflowTEF", "label": "", "isDimension": true } diff --git a/Editor2DLibrary/SSG/shapes/props/s97.txt b/Editor2DLibrary/SSG/shapes/props/s97.txt new file mode 100644 index 0000000..4a5867c --- /dev/null +++ b/Editor2DLibrary/SSG/shapes/props/s97.txt @@ -0,0 +1,69 @@ +{ + "shapeMode": 0, + "name": "TEF Gerade", + "family": "TEF_Gerade", + "icon": "SSG/shapes/img/TEFGerade_32px.png", + "iconBig": "SSG/shapes/img/TEFGerade_64px.png", + "srcSVG": "SSG/shapes/svg/s97.xml", + "width": 158.7402, + "height": 3779.5276, + "depth": 415.748, + "behaviour": "(NOSTRETCH)(NOSTRETCHONVIEW)(NOROTATE)(NOROTATEONVIEW)(CONTAINER)(HIDEDIMENSIONS)(HIDEROTATION)(HIDEPIN)(ALWAYSFRONT)(ORIGIN=CENTER)", + "group3d": [ + { + "source": "s_ap110", + "id": "g0", + "width": 158.7402, + "height": 3779.5276, + "depth": 415.748, + "x": 0.0, + "y": 0.0, + "z": 207.874, + "rotation": "0;0;0", + "data": "", + "color": "#FFFF00", + "colorOpacity": 1.0 + } + ], + "connectionPoints": [ + { + "id": "cp1", + "x": 500.0, + "y": 0.0, + "z": 0.0, + "xMin": "", + "xMax": "", + "xStep": "", + "yMin": "", + "yMax": "", + "yStep": "", + "zMin": "", + "zMax": "", + "zStep": "", + "direction": 0.0, + "linkClass": "OmnifloTEF", + "label": "", + "isDimension": true + }, + { + "id": "cp2", + "x": 500.0, + "y": 1000.0, + "z": 0.0, + "xMin": "", + "xMax": "", + "xStep": "", + "yMin": "", + "yMax": "", + "yStep": "", + "zMin": "", + "zMax": "", + "zStep": "", + "direction": 180.0, + "linkClass": "OmnifloTEF", + "label": "", + "isDimension": true + } + ], + "eventClass": "OnInserted,OnDoubleclick,OnPasted,OnLinked,OnRemoved" +} \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/props/s_Gerade_TEF.txt b/Editor2DLibrary/SSG/shapes/props/s_Gerade_TEF.txt new file mode 100644 index 0000000..cfa113f --- /dev/null +++ b/Editor2DLibrary/SSG/shapes/props/s_Gerade_TEF.txt @@ -0,0 +1,14 @@ +{ + "shapeMode": 0, + "name": "TEFGERADE", + "family": "TEFGerade", + "icon": "SSG/shapes/img/AP_32px.png", + "srcSVG": "SSG/shapes/svg/s_Gerade_TEF.xml", + "src3D": "SSG/shapes/obj/s_Gerade_TEF.stl", + "width": 236.5984, + "height": 3779.5276, + "depth": 264.5669, + "behaviour": "(NOSTRETCH)(NOSTRETCHONVIEW)(NOROTATE)(NOROTATEONVIEW)(CONTAINER)(HIDEDIMENSIONS)(HIDEROTATION)(HIDEPIN)(ALWAYSFRONT)(ORIGIN=CENTER)", + "eventClass": "OnDoubleclick,OnInserted,OnPasted,OnLinked,OnRemoved", + "color3D": "#FF0000" +} \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/props/s_Kurve_30_L_G.txt b/Editor2DLibrary/SSG/shapes/props/s_Kurve_30_L_G.txt index d12aeae..6cbf658 100644 --- a/Editor2DLibrary/SSG/shapes/props/s_Kurve_30_L_G.txt +++ b/Editor2DLibrary/SSG/shapes/props/s_Kurve_30_L_G.txt @@ -25,7 +25,7 @@ "zMin": "", "zMax": "", "zStep": "", - "direction": 330, + "direction": 300.0, "linkClass": "Gefaellestrecke", "label": "H0", "isDimension": true @@ -44,7 +44,7 @@ "zMin": "", "zMax": "", "zStep": "", - "direction": 180, + "direction": 180.0, "linkClass": "Gefaellestrecke", "label": "H1", "isDimension": true diff --git a/Editor2DLibrary/SSG/shapes/props/s_Kurve_30_R_G.txt b/Editor2DLibrary/SSG/shapes/props/s_Kurve_30_R_G.txt index d42384d..b9220cc 100644 --- a/Editor2DLibrary/SSG/shapes/props/s_Kurve_30_R_G.txt +++ b/Editor2DLibrary/SSG/shapes/props/s_Kurve_30_R_G.txt @@ -25,7 +25,7 @@ "zMin": "", "zMax": "", "zStep": "", - "direction": 300, + "direction": 60.0, "linkClass": "Gefaellestrecke", "label": "H0", "isDimension": true @@ -44,7 +44,7 @@ "zMin": "", "zMax": "", "zStep": "", - "direction": 180, + "direction": 180.0, "linkClass": "Gefaellestrecke", "label": "H1", "isDimension": true diff --git a/Editor2DLibrary/SSG/shapes/props/s_Kurve_60_L_G.txt b/Editor2DLibrary/SSG/shapes/props/s_Kurve_60_L_G.txt index b3455ea..6bb72df 100644 --- a/Editor2DLibrary/SSG/shapes/props/s_Kurve_60_L_G.txt +++ b/Editor2DLibrary/SSG/shapes/props/s_Kurve_60_L_G.txt @@ -25,7 +25,7 @@ "zMin": "", "zMax": "", "zStep": "", - "direction": 270, + "direction": 330.0, "linkClass": "Gefaellestrecke", "label": "H0", "isDimension": true @@ -44,7 +44,7 @@ "zMin": "", "zMax": "", "zStep": "", - "direction": 180, + "direction": 180.0, "linkClass": "Gefaellestrecke", "label": "H1", "isDimension": true diff --git a/Editor2DLibrary/SSG/shapes/props/s_Kurve_90_L_G.txt b/Editor2DLibrary/SSG/shapes/props/s_Kurve_90_L_G.txt index 98262e0..38048ba 100644 --- a/Editor2DLibrary/SSG/shapes/props/s_Kurve_90_L_G.txt +++ b/Editor2DLibrary/SSG/shapes/props/s_Kurve_90_L_G.txt @@ -25,7 +25,7 @@ "zMin": "", "zMax": "", "zStep": "", - "direction": 60, + "direction": 270.0, "linkClass": "Gefaellestrecke", "label": "H0", "isDimension": true @@ -44,7 +44,7 @@ "zMin": "", "zMax": "", "zStep": "", - "direction": 180, + "direction": 180.0, "linkClass": "Gefaellestrecke", "label": "H1", "isDimension": true diff --git a/Editor2DLibrary/SSG/shapes/svg/834372400.xml b/Editor2DLibrary/SSG/shapes/svg/834372400.xml index f93336d..34f70ea 100644 --- a/Editor2DLibrary/SSG/shapes/svg/834372400.xml +++ b/Editor2DLibrary/SSG/shapes/svg/834372400.xml @@ -14,8 +14,8 @@ - - + + diff --git a/Editor2DLibrary/SSG/shapes/svg/834372401.xml b/Editor2DLibrary/SSG/shapes/svg/834372401.xml index 8901639..fd17c27 100644 --- a/Editor2DLibrary/SSG/shapes/svg/834372401.xml +++ b/Editor2DLibrary/SSG/shapes/svg/834372401.xml @@ -14,8 +14,8 @@ - - + + diff --git a/Editor2DLibrary/SSG/shapes/svg/s_Gerade_TEF.xml b/Editor2DLibrary/SSG/shapes/svg/s_Gerade_TEF.xml new file mode 100644 index 0000000..cc7f729 --- /dev/null +++ b/Editor2DLibrary/SSG/shapes/svg/s_Gerade_TEF.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/s_Kette.xml b/Editor2DLibrary/SSG/shapes/svg/s_Kette.xml new file mode 100644 index 0000000..cc7f729 --- /dev/null +++ b/Editor2DLibrary/SSG/shapes/svg/s_Kette.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Editor2DLibrary/SSG/shapes/svg/s_KettenFoerderer.xml b/Editor2DLibrary/SSG/shapes/svg/s_KettenFoerderer.xml new file mode 100644 index 0000000..cc7f729 --- /dev/null +++ b/Editor2DLibrary/SSG/shapes/svg/s_KettenFoerderer.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/MAIN_SSG.rdx b/MAIN_SSG.rdx index 706abb1..7ead7cb 100644 --- a/MAIN_SSG.rdx +++ b/MAIN_SSG.rdx @@ -193,10 +193,12 @@ - - + + + + @@ -1032,7 +1034,7 @@ - + @@ -1053,15 +1055,19 @@ + + - - + + + + @@ -5310,6 +5316,7 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) + @@ -5478,6 +5485,7 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) + @@ -5899,6 +5907,7 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) + @@ -6068,6 +6077,7 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) + @@ -7079,6 +7089,7 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) + @@ -7421,6 +7432,7 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) + @@ -7592,6 +7604,7 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) + @@ -7804,6 +7817,7 @@ KreiselData.AbstandMS+(KreiselData.Durchmesser/2) + @@ -9782,6 +9796,7 @@ SSGConnectionPoint.x_M + @@ -9951,6 +9966,24 @@ SSGConnectionPoint.x_M + + + + + + + + + + + + + + + + + + @@ -10025,6 +10058,24 @@ SSGConnectionPoint.x_M + + + + + + + + + + + + + + + + + + @@ -10608,12 +10659,27 @@ SSGConnectionPoint.x_M - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -10713,6 +10779,129 @@ SSGConnectionPoint.x_M + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Horizontal"]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11203,14 +11392,18 @@ SSGConnectionPoint.x_M - - - - + + + + + + + + @@ -17058,11 +17251,11 @@ SSGConnectionPoint.x_M - + - + @@ -17107,11 +17300,11 @@ SSGConnectionPoint.x_M - + - + @@ -18065,6 +18258,7 @@ SSGConnectionPoint.x_M + @@ -18619,7 +18813,12 @@ SSGConnectionPoint.x_M + + + + + @@ -20288,7 +20487,155 @@ SSGConnectionPoint.x_M - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20358,71 +20705,8 @@ SSGConnectionPoint.x_M - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -20742,6 +21026,7 @@ SSGConnectionPoint.x_M + @@ -20805,6 +21090,7 @@ SSGConnectionPoint.x_M + @@ -30700,14 +30986,8 @@ ShapeList["id="+Param.Input[1].shapeID].name - - - - - - - + @@ -31221,6 +31501,7 @@ ShapeList["id="+Param.Input[1].shapeID].name + @@ -32046,6 +32327,7 @@ ShapeList["id="+Param.Input[1].shapeID].name + @@ -32148,18 +32430,27 @@ ShapeList["id="+Param.Input[1].shapeID].name - + + + + + + + - + + + + @@ -32308,9 +32599,70 @@ ShapeList["id="+Param.Input[1].shapeID].name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shape_Prototype.VarioFoerdererDefinition.H_Ende]]> @@ -45885,6 +46237,51 @@ me.x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -46451,16 +46848,14 @@ me.x - - - - - - + + + + - + @@ -46854,7 +47249,7 @@ me.x - + @@ -46865,7 +47260,7 @@ me.x - + @@ -47344,6 +47739,8 @@ me.x + + @@ -47359,18 +47756,24 @@ me.x - + + + + + + + + + + + + + - + - - - - - - - - + + @@ -47633,6 +48036,65 @@ me.x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -47660,6 +48122,7 @@ me.x + @@ -47701,25 +48164,26 @@ me.x - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + ""]]> @@ -48026,9 +48490,15 @@ me.x + + + + + + @@ -48047,12 +48517,21 @@ me.x - - - + + + + + + + + + + + + @@ -57885,7 +58364,7 @@ me.x - + @@ -57939,7 +58418,7 @@ me.x - + @@ -60583,6 +61062,7 @@ me.x + @@ -60638,6 +61118,7 @@ me.x + @@ -62194,7 +62675,7 @@ me.x - @@ -62434,6 +62915,7 @@ me.x + @@ -62493,6 +62975,7 @@ me.x + @@ -62600,6 +63083,7 @@ me.x + @@ -62651,6 +63135,231 @@ me.x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -62706,6 +63415,7 @@ me.x + @@ -62996,6 +63706,7 @@ me.x + @@ -63055,6 +63766,7 @@ me.x + @@ -63228,6 +63940,7 @@ me.x + @@ -66270,6 +66983,7 @@ me.x + @@ -66426,7 +67140,21 @@ me.x - + + + + + + + + + + + + + + + @@ -66611,7 +67339,7 @@ me.x - + @@ -66922,6 +67650,58 @@ me.x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -67763,4 +68543,4 @@ me.x - \ No newline at end of file + diff --git a/Sessions/removeStls.exe b/Sessions/removeStls.exe new file mode 100644 index 0000000..c5b9cad Binary files /dev/null and b/Sessions/removeStls.exe differ