merge
This commit is contained in:
@@ -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()
|
||||
@@ -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
|
||||
@@ -0,0 +1,2 @@
|
||||
# Für EXE-Erstellung
|
||||
pyinstaller>=6.0
|
||||
@@ -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
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
<palette><div class="paletteItem"><div><img id="s_Kette" class="shape" title="" family="KettenFoerderer" shapeMode="0" src="SSG/shapes/img/Kettenfoerderer_32px.png" /></div><div>Kettenförderer</div></div>
|
||||
</palette>
|
||||
@@ -2,5 +2,5 @@
|
||||
<div class="paletteItem"><div><img id="Umlenk_links_TEF_rechts" class="shape" title="" family="TEFUmlenk" shapeMode="0" src="SSG/shapes/img/Umlenkspannst.links_TEF_rechts_32px.png" /></div><div>Umlenkspannst. links für TEF rechts</div></div>
|
||||
<div class="paletteItem"><div><img id="0_B10010" class="shape" title="" family="TEFUmlenk" shapeMode="0" src="SSG/shapes/img/Antriebst.links_TEF_links_32px.png" /></div><div>Antriebst. links für TEF links</div></div>
|
||||
<div class="paletteItem"><div><img id="0_B10020" class="shape" title="" family="TEFUmlenk" shapeMode="0" src="SSG/shapes/img/Antriebst.rechts_TEF_rechts_32px.png" /></div><div>Antriebst. rechts für TEF rechts</div></div>
|
||||
<div class="paletteItem"><div><img id="s_Gerade_TEF" class="shape" title="" family="TEFGerade" shapeMode="0" src="SSG/shapes/img/AP_32px.png" /></div><div>TEF Gerade</div></div>
|
||||
<div class="paletteItem"><div><img id="s_Gerade_TEF" class="shape" title="" family="TEFGerade" shapeMode="0" src="SSG/shapes/img/AP_32px.png" /></div><div>TEFGERADE</div></div>
|
||||
</palette>
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
<path d="M 481.177 384.782 L 512 458.866" stroke-width="1px"/>
|
||||
<path d="M 350.973 297.845 L 425.067 328.672" stroke-width="1px"/>
|
||||
<path d="M 325.424 292.249 L 325.424 303.44" stroke-width="1px"/>
|
||||
<path d="M 694.465 283.578 L 694.465 297.845" stroke-width="1px"/>
|
||||
<path d="M 329.535 283.578 L 329.535 297.845" stroke-width="1px"/>
|
||||
<path d="M 694.465 283.578 L 694.465 297.845" style="stroke:none;fill:none;"/>
|
||||
<path d="M 329.535 283.578 L 329.535 297.845" style="stroke:none;fill:none;"/>
|
||||
</g>
|
||||
</svg>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -14,8 +14,8 @@
|
||||
<path d="M 481.177 384.782 L 512 458.866" stroke-width="1px"/>
|
||||
<path d="M 350.973 297.845 L 425.067 328.672" stroke-width="1px"/>
|
||||
<path d="M 325.424 292.249 L 325.424 303.44" stroke-width="1px"/>
|
||||
<path d="M 694.465 283.578 L 694.465 297.845" stroke-width="1px"/>
|
||||
<path d="M 329.535 283.578 L 329.535 297.845" stroke-width="1px"/>
|
||||
<path d="M 694.465 283.578 L 694.465 297.845" style="stroke:none;fill:none;"/>
|
||||
<path d="M 329.535 283.578 L 329.535 297.845" style="stroke:none;fill:none;"/>
|
||||
</g>
|
||||
</svg>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="rotate(0)">
|
||||
<svg viewBox="0 0 264.58 264.58" preserveAspectRatio="none" position="absolute" overflow="visible">
|
||||
<path d="m132.29-2.5e-6v264.58" fill="none" stroke="#ffe31b" stroke-opacity="1" stroke-width="1px" />
|
||||
</svg>
|
||||
</g>
|
||||
</svg>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="rotate(0)">
|
||||
<svg viewBox="0 0 264.58 264.58" preserveAspectRatio="none" position="absolute" overflow="visible">
|
||||
<path d="m132.29-2.5e-6v264.58" fill="none" stroke="#ffe31b" stroke-opacity="1" stroke-width="1px" />
|
||||
</svg>
|
||||
</g>
|
||||
</svg>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="rotate(0)">
|
||||
<svg viewBox="0 0 264.58 264.58" preserveAspectRatio="none" position="absolute" overflow="visible">
|
||||
<path d="m132.29-2.5e-6v264.58" fill="none" stroke="#ffe31b" stroke-opacity="1" stroke-width="1px" />
|
||||
</svg>
|
||||
</g>
|
||||
</svg>
|
||||
+920
-140
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Reference in New Issue
Block a user