Compare commits

..

83 Commits

Author SHA1 Message Date
m.stangl aea8c5e029 Add CLAUDE.md for Claude Code guidance
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 23:22:47 +02:00
m.stangl eb04b9d73a Merge branch 'main' of https://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-05-06 19:16:53 +02:00
m.stangl 8e8ce9e676 Test der Grenzen impl. Doku erweitert 2026-05-06 19:16:13 +02:00
y.wang 9fa569e449 Die CP-Direction für Kurve 30 und 60 korrigiert. 2026-04-23 14:04:52 +02:00
y.wang b959208ddc Anpassung für Calculate Varioförderer 2026-04-10 11:29:48 +02:00
y.wang aeb34cd85a Merge branch 'main' of https://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-04-09 16:21:40 +02:00
y.wang a3715cd036 Die Funktion für CSV Export wurde angepasst. Der Varioförderer mit Gefällestrecke kann als Streckengruppe richtig exportiert Werden. 2026-04-09 16:21:37 +02:00
m.stangl 099630ca86 Schalter für minimiertes Laufen von SE dazu 2026-04-08 12:33:31 +02:00
m.stangl 0defdc24cc Pfadfeststellung ist nur noch in manage_interpreter.bat. Aufrufende Skripte etwas umgebaut 2026-04-08 12:17:16 +02:00
m.stangl fb25aca5ce Readme Doku aktualisiert. War veraltet. pip Abhängigkeiten in lib/requirements.txt ergänzt. Python Install Skript für venv dazu 2026-04-08 11:50:44 +02:00
m.stangl 901844fcb8 Alle Teile aus den Assemblies der Auf und Abwärtsbögen ausgeblendet, damit die Boundingboxen korrekt bestimmt werden 2026-04-08 11:11:48 +02:00
m.stangl a74f7e5e3a Verbinder für 12 Grad Elemente dazu 2026-04-07 14:04:10 +02:00
m.stangl af957c6ccd neue EInzelteile zur Verbindung und Abstandhalter hinzu 2026-04-07 14:00:43 +02:00
y.wang 6898a37570 die SVG Datei für Gefällebogen rechts korrigiert. 2026-04-02 15:27:22 +02:00
y.wang b72c792850 Merge branch 'main' of https://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-27 11:12:41 +01:00
y.wang b9a71ae07c Bug bei Funktion CalculateGefällestrecke behoben 2026-03-27 11:12:36 +01:00
m.stangl 8e36935c4e Gleichung korrigiert 2026-03-24 17:13:48 +01:00
m.stangl 8ad8297bce Gleichungen und Bilder zum Variofoerderer dazu 2026-03-24 16:56:56 +01:00
m.stangl 767883d406 categories und settings auch dazu. Geändert wegen Varioförderer 2026-03-17 14:21:34 +01:00
m.stangl b7bbee5429 Bogen Vario auf und ab dazu 2026-03-17 14:18:49 +01:00
m.stangl 48c0450fe8 Merge branch 'main' of https://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-16 17:44:27 +01:00
m.stangl cd1af92967 Abwärtsbogen der Varioförderer rein 2026-03-16 16:57:52 +01:00
y.wang 34135bcd28 Die Länge der TEF-Gerade wurde gerundet exportiert. 2026-03-16 14:57:44 +01:00
m.stangl cd318d4c0d Merge branch 'main' of https://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-16 14:56:47 +01:00
m.stangl 7287dad368 STL der Varioförderer Bögen aufwärts dazu 2026-03-16 14:03:10 +01:00
m.stangl b39442165e Abwärtsbägen dazu. Aufwärts mit Paarungen korrigiert 2026-03-13 18:41:10 +01:00
y.wang ff924b1e51 Ein Export von ILS Automation erfolgt nur, wenn ILS-Teile vorhanden sind. Ein Export von Omniflo Sum erfolgt nur, wenn Omniflo-Teile vorhanden sind 2026-03-10 11:37:22 +01:00
m.stangl 5b1eb66860 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-10 11:27:11 +01:00
y.wang de2e49cc96 Der Fehler beim Export des Varioförders mit Gefällestrecke wurde korrigiert. Ein einzelner Varioförderer mit Gefällestrecke wird nun als Streckengruppe exportiert. 2026-03-10 10:34:25 +01:00
m.stangl 478469780d Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-09 10:51:28 +01:00
m.stangl 70d7149683 Configs gelöscht. Aufwärtsbogen gebaut. Ein paar TEF Begleiter fehlen noch 2026-03-06 20:01:41 +01:00
y.wang 9d487dcba1 Das Export bei Variofoerderer mit Gefällestrecke wurde korrigiert. das Varario wurde nicht als ein einzelnes Objekt sonder als eine Streckengruppe exportiert. 2026-03-06 14:06:47 +01:00
y.wang 2af0c72cac Alle Verbindungmöglichkeiten mit TEF Polylinie sind eingepflegt. 2026-03-05 15:07:33 +01:00
y.wang 76d8829ef5 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-03-05 11:37:10 +01:00
y.wang bd951d2dd2 Die Linkclass für TEFWeichen sind korrigiert. 2026-03-05 11:37:04 +01:00
m.stangl 650cfadc71 Die Vario Bögen auf und ab als leere Assemblies hinzugefügt. Jetzt können die Componenten zusammengebaut werden 2026-03-04 16:59:17 +01:00
m.stangl 4c741a0783 Einzelteile für Variobogen hinzugefügt 2026-03-04 16:30:47 +01:00
y.wang 2ad5433503 Funktion getItemsConnectedNow wurde gebaut, Sollen OFBogen und OFGrade seine Höhe ändert, findet diese Funktion das aktuell mit OFBogen oder OF Grade verbundene Kettenförderer und passt dessen Höhenunterschied und Länge neu an. 2026-02-27 10:01:18 +01:00
y.wang 9f339a5495 merge aus der Fassung von mir, die aus der Historie gefixt wurde 2026-02-26 09:25:54 +01:00
m.stangl dad82b64f4 Sivasnummer für TEF Gerade wird im 2D Export mit raus geschrieben 2026-02-25 12:25:29 +01:00
m.stangl d5c58a65db 3er Bogen auf und Ab inklusive Umschliessung eingecheckt 2026-02-24 17:38:58 +01:00
m.stangl 0401d26d58 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-02-24 17:00:59 +01:00
m.stangl 58a70e1358 Bogen für 3 Grad modelliert, auf und ab 2026-02-24 16:59:19 +01:00
y.wang 51828ff7e6 Merge 2026-02-24 13:02:32 +01:00
y.wang de8c5112e0 Die Berechung des Kettenförderers wurde korrigiert. 2026-02-24 11:46:09 +01:00
s.hensch 1e16e4ab43 [Fix] Sivas Export für Automation korrigiert. Es werden nun die Motoren aller Varioförderer mitgezählt. 2026-02-24 11:15:29 +01:00
m.stangl ce007c080a Sivasnummer für TEF Gerade wird im 2D Export mit raus geschrieben 2026-02-23 11:52:12 +01:00
y.wang 747d08dd27 unnötige Datei sind bereinigt. 2026-02-17 11:19:14 +01:00
y.wang 3bf78f5d33 Merge branch 'main' of http://gitea.schoenenberger.de/mistangl/SSG-Ruledesigner-Konfigurator 2026-02-16 13:59:24 +01:00
y.wang bcb80a7ce2 Die Maße für TEF+Weichen, Weichen , TEf+Bogen sind korrigiert. 2026-02-16 13:59:10 +01:00
m.stangl 2315f9fc0b merge of main 2026-02-12 14:56:47 +01:00
m.stangl b7402fc043 Maße von TEF Motorstation links waren falsch. Aus rechts entnommen. Fix Create Prototype für TEF Gerade erzeugt jetzt eine Gerade der richtigen Länge 2026-02-12 14:55:05 +01:00
y.wang 60ca7ee656 Die Namen der init Json datei wurden angepasst. 2026-02-12 11:19:20 +01:00
m.stangl 8024aebf85 --add aus SaveSession entfernt und getestet 2026-02-12 10:37:28 +01:00
y.wang 732cb5d042 Motorseite für Variofoerder beim Export wurde angepasst 2026-02-06 11:11:58 +01:00
y.wang 68d4a074f2 Anpassung für Kettenförderer 2026-02-05 16:09:03 +01:00
y.wang 297dcd1a30 merge 2026-01-28 14:40:02 +01:00
y.wang f5dfec9276 Die Funktionen für Calculate KettenFoerderer wurden eingebaut und angepasst 2026-01-28 14:38:46 +01:00
m.stangl d7341f1140 Laden hatte auch ein Leerzeichenproblem 2026-01-27 14:32:30 +01:00
m.stangl 86519f20b3 Leerzeichen hinter SaveSession rausgeworfen. 2026-01-27 14:25:30 +01:00
m.stangl f66a63c4af merge 2026-01-27 14:24:00 +01:00
m.stangl e8d053ed48 Leerzeichen hinter SaveSession rausgeworfen. 2026-01-27 14:23:01 +01:00
P.wolok 91b5e0e5c9 Rechtschreibfehler behoben Eckradl zu Eckrad 2026-01-27 11:56:34 +01:00
stzeller 2d239606e9 Eine Fassung mit der in Param ergänzten Rückgabeliste der ehemals verbundenen Ids 2026-01-27 10:17:28 +01:00
Stefan Zeller 0ef3ae58ec Die Linked Shapes Liste wird jetzt angezeigt und ist durch Evaluate auch zu erkennen. 2026-01-27 10:06:16 +01:00
y.wang 7eedef7fcc der Exportfehler bei kopierten Gruppen korrigiert. 2026-01-26 09:06:00 +01:00
y.wang 8d9d70f2fc Merge 2026-01-21 13:47:38 +01:00
y.wang ed5b339a45 Einige Fehler beim Export korrigiert. 2026-01-21 13:46:47 +01:00
m.stangl ec89d5e380 Fix: Eckrad 2026-01-20 15:43:34 +01:00
m.stangl 76a7b32e1f Fix: Eckrad 2026-01-20 15:43:06 +01:00
m.stangl 346f416930 CSV Export ergänzt von BTMT-Be- und Entladung. UZS oder GUZS des Eckrades ebenfalls ins Csv File. 2026-01-20 15:14:21 +01:00
y.wang 97b78cb909 Die Funktion Calculate KettenFoerderer wurde gebaut 2026-01-20 10:49:06 +01:00
y.wang c1b66e0157 Der Interface für KF wurde angepasst. 2026-01-16 14:10:20 +01:00
y.wang c705407a33 Die FamilyKlasse für KF wurde korrigiert. 2026-01-16 13:28:36 +01:00
y.wang cb0c400963 Die fehlende Datei für KF sind hinzugefügt. 2026-01-16 13:13:16 +01:00
y.wang feb059ca8b Kettenförderer in 2D Wizard ist eingepflegt. 2026-01-16 12:41:28 +01:00
Stefan Zeller 23e9259873 Zip enthält keine .stl Dateien mehr. 2026-01-15 17:56:37 +01:00
y.wang 5f0cbf3c2e Merge 2026-01-15 15:27:51 +01:00
y.wang bbef3d1d1b den Fehler bei Verbindung GF-Kurven korrigiert. 2026-01-15 15:26:52 +01:00
Stefan Zeller 2cae74a943 Zip does not include .stl Files. The workaround with python script is not needed anymore. 2026-01-15 13:55:11 +01:00
s.hensch 6097190079 STL der TEF Gerade wird nun korrekt geladen 2026-01-15 12:10:43 +01:00
s.hensch 6167b57a7d merge 2026-01-15 11:59:22 +01:00
s.hensch c7968ad6b3 Omniflo TEF Gerade mit 3D STL Darstellung eingefügt; Einfügen und Verbinden der CPs funktioniert nun. 2026-01-15 11:41:30 +01:00
388 changed files with 46821 additions and 16688 deletions
+14 -6
View File
@@ -1,10 +1,18 @@
@echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
setlocal
SET "MANAGE=%~dp0manage_interpreter.bat"
call setenv.bat
CALL "%MANAGE%" activate
if errorlevel 1 (
echo ERROR: Failed to activate Python environment
exit /b 1
)
REM Beispielaufruf mit Parametern:
REM --in: Ordner mit .par-Dateien (optional. Standard: Input)
REM --out: Zielverzeichnis (optional. Standard: Work)
pushd "%PROJECT%"
python %PROJECT_LIB%\create_assemblies.py %*
"%VIRTUAL_ENV%\Scripts\python.exe" -m lib.create_assemblies %*
set PYTHON_EXIT=%ERRORLEVEL%
popd
CALL "%MANAGE%" deactivate
exit /b %PYTHON_EXIT%
+15 -3
View File
@@ -1,6 +1,18 @@
@echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
setlocal
SET "MANAGE=%~dp0manage_interpreter.bat"
call setenv.bat
CALL "%MANAGE%" activate
if errorlevel 1 (
echo ERROR: Failed to activate Python environment
exit /b 1
)
python "%PROJECT_LIB%\diff_dimensions.py" %*
pushd "%PROJECT%"
"%VIRTUAL_ENV%\Scripts\python.exe" -m lib.diff_dimensions %*
set PYTHON_EXIT=%ERRORLEVEL%
popd
CALL "%MANAGE%" deactivate
exit /b %PYTHON_EXIT%
+1 -1
View File
@@ -23,4 +23,4 @@ set /p TOLERANCE=Gib die Toleranz ein (Standard: %DEFAULT_TOLERANCE%):
if "%TOLERANCE%"=="" set "TOLERANCE=%DEFAULT_TOLERANCE%"
REM Aufruf des Skripts mit den eingegebenen oder Standardwerten
call diff_dimensions.bat --type %TYPE% --json_2d %JSON2D% --json_dimensions %JSONDIM% --tolerance %TOLERANCE%
call "%~dp0diff_dimensions.bat" --type %TYPE% --json_2d %JSON2D% --json_dimensions %JSONDIM% --tolerance %TOLERANCE%
+1 -1
View File
@@ -1,4 +1,4 @@
@echo off
call setenv.bat
call "%~dp0setenv.bat"
start
+14 -6
View File
@@ -1,10 +1,18 @@
@echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
setlocal
SET "MANAGE=%~dp0manage_interpreter.bat"
call setenv.bat
CALL "%MANAGE%" activate
if errorlevel 1 (
echo ERROR: Failed to activate Python environment
exit /b 1
)
REM Beispielaufruf mit Parametern:
REM --in: Ordner mit .asm-Dateien (optional. Standard: Work)
REM --out: Zielverzeichnis (optional. Standard: Work\stl_export)
pushd "%PROJECT%"
python %PROJECT_LIB%\read_variables.py %*
"%VIRTUAL_ENV%\Scripts\python.exe" -m lib.read_variables %*
set PYTHON_EXIT=%ERRORLEVEL%
popd
CALL "%MANAGE%" deactivate
exit /b %PYTHON_EXIT%
+15
View File
@@ -0,0 +1,15 @@
call setenv.bat
if not exist %PROJECT%\.venv (
ECHO Initialisiere Python virtual environment...
py -m venv %PROJECT%\.venv --upgrade-deps
ECHO Erfolgreich.
call %PROJECT%\.venv\Scripts\activate.bat
ECHO Installiere erforderliche Python Packages...
pip install -r %PROJECT_LIB%/requirements.txt -q
ECHO Erfolgreich
deactivate
) ELSE (
ECHO Erforderliche Python Packages bereits installiert!
)
+35
View File
@@ -0,0 +1,35 @@
@echo off
CALL "%~dp0setenv.bat"
IF /I "%1"=="activate" GOTO activate
IF /I "%1"=="deactivate" GOTO deactivate
IF /I "%1"=="activate_interpreter" GOTO activate
IF /I "%1"=="deactivate_interpreter" GOTO deactivate
GOTO :eof
:activate
REM Interpreter wählen
IF DEFINED NETWORK_PYTHON (
SET PYTHON_EXE=%NETWORK_PYTHON%\python.exe
) ELSE (
SET PYTHON_EXE=python
)
REM venv sicherstellen
IF NOT EXIST "%PROJECT%\.venv" (
"%PYTHON_EXE%" -m venv "%PROJECT%\.venv"
)
REM venv aktivieren
CALL "%PROJECT%\.venv\Scripts\activate.bat"
REM Interpreter festnageln
SET VIRTUAL_ENV_PYTHON=%PYTHON_EXE%
GOTO :eof
:deactivate
CALL "%PROJECT%\.venv\Scripts\deactivate.bat"
SET VIRTUAL_ENV_PYTHON=
GOTO :eof
+14 -6
View File
@@ -1,10 +1,18 @@
@echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
setlocal
SET "MANAGE=%~dp0manage_interpreter.bat"
call setenv.bat
CALL "%MANAGE%" activate
if errorlevel 1 (
echo ERROR: Failed to activate Python environment
exit /b 1
)
REM Beispielaufruf mit Parametern:
REM --in: Ordner mit .asm-Dateien (optional. Standard: Work)
REM --out: Zielverzeichnis (optional. Standard: Work\stl_export)
pushd "%PROJECT%"
python %PROJECT_LIB%\save_stl.py %*
"%VIRTUAL_ENV%\Scripts\python.exe" -m lib.save_stl %*
set PYTHON_EXIT=%ERRORLEVEL%
popd
CALL "%MANAGE%" deactivate
exit /b %PYTHON_EXIT%
+8 -11
View File
@@ -1,17 +1,14 @@
@echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
pushd %~dp0\..
REM for /f "delims=" %%i in ('git rev-parse --show-toplevel') do set SSG_RD_DIR=%%i
set PROJECT=%cd%
set PROJECT_DIR=%cd%
set PROJECT_BIN=%PROJECT_DIR%\bin
set PROJECT_LIB=%PROJECT_DIR%\lib
set PROJECT_WORK=%PROJECT_DIR%\work
set PROJECT_DATA=%PROJECT_DIR%\data
set PROJECT_INPUT=%PROJECT_DIR%\input
set PROJECT_BIN=%PROJECT%\bin
set PROJECT_LIB=%PROJECT%\lib
set PROJECT_WORK=%PROJECT%\work
set PROJECT_DATA=%PROJECT%\data
set PROJECT_INPUT=%PROJECT%\input
set PROJECT_TEMPLATE=\\ssg.local\freigaben\RuleDesigner\Templates\CreateAssemblies
if not exist %PROJECT_WORK% mkdir %PROJECT_WORK%
@@ -23,4 +20,4 @@ set PROJECT_JSON_TEFBOGEN=%SSG_RD_DIR%\SVGs\Omniflo\python\TEFBogen\json
set PROJECT_JSON_TEFWEICHE=%SSG_RD_DIR%\SVGs\Omniflo\python\TEFWeiche\json
popd
goto :eof
goto :eof
+153 -30
View File
@@ -1,39 +1,60 @@
# Dokumentation: create_assemblies, save_stl & read_variables
# Dokumentation: CAD-Automatisierungsskripte
## Übersicht
| Skript | Batch-Datei | Zweck |
| ------ | ----------- | ----- |
| `lib/create_assemblies.py` | `bin/create_assemblies.bat` | Erzeugt .asm-Baugruppen aus .par-Dateien |
| `lib/save_stl.py` | `bin/save_stl.bat` | Exportiert .asm-Baugruppen als STL-Dateien |
| `lib/read_variables.py` | `bin/get_dimensions.bat` | Liest Maße aus .par-Dateien und speichert als JSON |
| `lib/diff_dimensions.py` | `bin/diff_dimensions.bat` | Vergleicht 3D-Maße (JSON) mit 2D-Zeichnungsmaßen |
| *(kein Python)* | `bin/get_all_differences.bat` | Interaktiver Wrapper für diff_dimensions |
| *(kein Python)* | `bin/get_cmd.bat` | Öffnet Kommandozeile mit gesetzten Umgebungsvariablen |
| *(kein Python)* | `bin/setenv.bat` | Setzt alle Umgebungsvariablen für das Projekt |
---
## 1. create_assemblies
### Zweck
Das Skript erstellt für jede .par-Datei im Eingabeordner eine neue .asm-Baugruppe, indem es eine Platzhalter-Baugruppe (dummy.asm) kopiert und darin die Platzhalter-Komponente (dummy.par) durch die jeweilige .par-Datei ersetzt.
### Aufrufmöglichkeiten
#### Über die Batch-Datei (empfohlen unter Windows):
**Über die Batch-Datei (empfohlen unter Windows):**
```bat
bin\create_assemblies.bat --in <Eingabeordner> --out <Ausgabeordner>
```
- Die Batch-Datei setzt Umgebungsvariablen und ruft das Python-Skript mit den übergebenen Parametern auf.
#### Direkt über die Kommandozeile:
Die Batch-Datei setzt Umgebungsvariablen und ruft das Python-Skript mit den übergebenen Parametern auf.
**Direkt über die Kommandozeile:**
```sh
python lib/create_assemblies.py --in <Eingabeordner> --out <Ausgabeordner>
```
#### Parameter:
**Parameter:**
- `--in`: Pfad zum Ordner mit .par-Dateien (optional, Standard: Umgebungsvariable PROJECT_INPUT oder ./input)
- `--out`: Zielordner für die erzeugten .asm-Dateien (optional, Standard: ./work)
### Input/Output
- **Input:**
- **Input:**
- .par-Dateien im angegebenen Eingabeordner
- dummy.asm und dummy.par im data/-Verzeichnis (werden als Vorlage und Platzhalter verwendet)
- **Output:**
- dummy.asm und dummy.par im Netzwerkpfad PROJECT_TEMPLATE (werden als Vorlage und Platzhalter verwendet)
- **Output:**
- Für jede .par-Datei wird eine .asm-Datei im Ausgabeverzeichnis erzeugt.
- Temporäre Dateien (_temp.asm, .cfg) werden nach Verarbeitung gelöscht.
### Hinweise
- Solid Edge muss installiert sein, da das Skript über COM darauf zugreift.
- Die Platzhalter-Komponente in dummy.asm muss exakt dummy.par heißen.
- Die Vorlage (dummy.asm) wird aus dem Netzwerkpfad `PROJECT_TEMPLATE` geladen (Standard: `\\ssg.local\freigaben\RuleDesigner\Templates\CreateAssemblies`).
- Fehlerhafte oder fehlende Platzhalter werden übersprungen und führen nicht zum Abbruch des gesamten Prozesses.
---
@@ -41,34 +62,40 @@ python lib/create_assemblies.py --in <Eingabeordner> --out <Ausgabeordner>
## 2. save_stl
### Zweck
Das Skript exportiert alle .asm-Baugruppen in einem Ordner als STL-Dateien. Es dient dazu, die zuvor erzeugten Baugruppen für die Weiterverarbeitung (z.B. 3D-Druck) bereitzustellen.
Das Skript exportiert alle .asm-Baugruppen in einem Ordner als STL-Dateien. Es dient dazu, die zuvor erzeugten Baugruppen für die Weiterverarbeitung (z.B. 3D-Druck oder Visualisierung) bereitzustellen.
### Aufrufmöglichkeiten
#### Über die Batch-Datei (empfohlen unter Windows):
**Über die Batch-Datei (empfohlen unter Windows):**
```bat
bin\save_stl.bat --in <Eingabeordner> --out <Ausgabeordner>
```
- Die Batch-Datei setzt Umgebungsvariablen und ruft das Python-Skript mit den übergebenen Parametern auf.
#### Direkt über die Kommandozeile:
Die Batch-Datei setzt Umgebungsvariablen und ruft das Python-Skript mit den übergebenen Parametern auf.
**Direkt über die Kommandozeile:**
```sh
python lib/save_stl.py --in <Eingabeordner> --out <Ausgabeordner>
```
#### Parameter:
**Parameter:**
- `--in`: Pfad zum Ordner mit .asm-Dateien (optional, Standard: Umgebungsvariable PROJECT_WORK oder ./work)
- `--out`: Zielordner für die STL-Dateien (optional, Standard: ./work/STL_Export)
### Input/Output
- **Input:**
- **Input:**
- .asm-Dateien im angegebenen Eingabeordner (z.B. aus create_assemblies)
- **Output:**
- **Output:**
- Für jede .asm-Datei wird eine .stl-Datei im Ausgabeverzeichnis erzeugt.
- Temporäre .cfg- und .log-Dateien werden nach dem Export gelöscht.
### Hinweise
- Solid Edge muss installiert sein, da das Skript über COM darauf zugreift.
- Das Skript ist robust gegenüber Fehlern beim Export einzelner Dateien (Fehler werden gemeldet, der Prozess läuft weiter).
- Nach dem Export werden überflüssige .cfg- und .log-Dateien im Eingabe- und Ausgabeverzeichnis entfernt.
@@ -78,36 +105,46 @@ python lib/save_stl.py --in <Eingabeordner> --out <Ausgabeordner>
## 3. read_variables
### Zweck
Das Skript liest aus allen .par-Dateien in einem Verzeichnis die benutzerdefinierten Variablen 'Mittiges_Koordinatensystem_X_Translation' und 'Mittiges_Koordinatensystem_Y_Translation' aus und speichert die Werte als Breite und Höhe in einer JSON-Datei.
Das Skript liest aus allen .par-Dateien in einem Verzeichnis die benutzerdefinierten Variablen `Mittiges_Koordinatensystem_X_Translation` und `Mittiges_Koordinatensystem_Y_Translation` aus und speichert die Werte als Breite und Höhe in einer JSON-Datei.
### Aufrufmöglichkeiten
#### Über die Kommandozeile oder Batch-Datei:
**Über die Batch-Datei (empfohlen unter Windows):**
```bat
bin\get_dimensions.bat --in <Eingabeordner> --out <Ausgabeordner>
```
**Direkt über die Kommandozeile:**
```sh
python lib/read_variables.py --in <Eingabeordner> --out <Ausgabeordner>
```
#### Parameter:
**Parameter:**
- `--in`: Pfad zum Ordner mit .par-Dateien (optional, Standard: Umgebungsvariable PROJECT_INPUT oder ./input)
- `--out`: Zielordner für die JSON-Ausgabe (optional, Standard: Umgebungsvariable PROJECT_WORK oder ./work)
### Input/Output
- **Input:**
- **Input:**
- .par-Dateien im angegebenen Eingabeordner
- **Output:**
- **Output:**
- Eine JSON-Datei im Ausgabeverzeichnis, benannt nach dem Eingabeordner (z.B. input.json), mit folgendem Aufbau:
```json
{
"Dateiname_ohne_Endung": {
"breite": <Wert>,
"hoehe": <Wert>
},
...
}
}
```
### Hinweise
- Solid Edge muss installiert sein, da das Skript über COM darauf zugreift.
- Die Variablen werden mit 2000 multipliziert und auf drei Nachkommastellen gerundet.
- Falls eine .par-Datei die benötigten Variablen nicht enthält, wird sie übersprungen.
@@ -115,14 +152,100 @@ python lib/read_variables.py --in <Eingabeordner> --out <Ausgabeordner>
---
- **Umgebungsvariablen:**
Die Batch-Dateien rufen vorab setenv.bat auf, um Umgebungsvariablen wie PROJECT_LIB, PROJECT_WORK, PROJECT_INPUT, PROJECT_DATA zu setzen. Diese sollten korrekt konfiguriert sein.
- **Voraussetzungen:**
- Python (mit win32com)
- Solid Edge (für COM-Zugriff)
- **Fehlerbehandlung:**
Fehlerhafte oder fehlende Dateien werden übersprungen, der Prozess läuft weiter.
## 4. diff_dimensions
### Zweck
Das Skript vergleicht 3D-Bauteilmaße (aus einer JSON-Datei erzeugt von `read_variables`) mit 2D-Zeichnungsmaßen (aus einer JSON-Datei des SVG-Editors). Einträge, bei denen Breite oder Höhe außerhalb der Toleranz abweichen, werden in einer Ausgabe-JSON gespeichert. So lassen sich Inkonsistenzen zwischen 3D-Modell und 2D-Zeichnung schnell identifizieren.
### Aufrufmöglichkeiten
**Über die Batch-Datei:**
```bat
bin\diff_dimensions.bat --type <Typ> --json_dimensions <3D-JSON> --json_2d <2D-JSON> [--tolerance <Wert>] [--result <Ausgabedatei>]
```
**Interaktiv (mit Abfragen):**
```bat
bin\get_all_differences.bat
```
Fragt Typ, Dateinamen und Toleranz interaktiv ab und ruft dann `diff_dimensions.bat` auf.
**Direkt über die Kommandozeile:**
```sh
python lib/diff_dimensions.py --type <Typ> --json_dimensions <3D-JSON> --json_2d <2D-JSON>
```
**Parameter:**
- `--type`: Art des Bauteils: `BOGEN`, `WEICHE`, `TEFBOGEN` oder `TEFWEICHE` (bestimmt das Eingabeverzeichnis für die 2D-JSON)
- `--json_dimensions`: Dateiname der 3D-Maße-JSON (aus `read_variables`, liegt in PROJECT_WORK)
- `--json_2d`: Dateiname der 2D-Maße-JSON (liegt im typabhängigen Verzeichnis)
- `--tolerance`: Toleranz in Millimetern (optional, Standard: `0.05`)
- `--result`: Dateiname der Ausgabedatei (optional, Standard: `Differenzen_2D_3D.json`)
- `--output_dir`: Ausgabeverzeichnis (optional, Standard: Umgebungsvariable PROJECT_WORK)
### Input/Output
- **Input:**
- `--json_dimensions`: JSON-Datei mit 3D-Maßen (Schlüssel: SIVAS-Nummer, Felder: `breite`, `hoehe`)
- `--json_2d`: JSON-Datei mit 2D-Maßen (Liste mit Feldern `Sivasnr`, `Objekte_width_mm`, `Objekte_height_mm`)
- **Output:**
- JSON-Datei mit allen Einträgen, deren Maße außerhalb der Toleranz liegen, inkl. Differenzwerten (`w_diff`, `h_diff`). Bei übereinstimmenden Maßen wird keine Ausgabedatei erzeugt.
### Beispielaufruf
```bat
bin\diff_dimensions.bat --type BOGEN --json_dimensions Bogen_3D.json --json_2d Bogen_2D.json --tolerance 0.1 --result diff_bogen.json
```
### Hinweise
- Erfordert kein Solid Edge — reine JSON-Verarbeitung.
- Die Umgebungsvariablen `PROJECT_JSON_BOGEN`, `PROJECT_JSON_WEICHE`, `PROJECT_JSON_TEFBOGEN`, `PROJECT_JSON_TEFWEICHE` müssen für den `--type`-Parameter korrekt gesetzt sein (via setenv.bat).
---
Wenn du eine Beispielkonfiguration oder weitere Details (z.B. zu setenv.bat oder den Umgebungsvariablen) benötigst, sag gerne Bescheid!
## 5. Batch-Hilfsskripte
### setenv.bat
Setzt alle Projektumgebungsvariablen. Wird von allen anderen Batch-Dateien automatisch aufgerufen.
| Variable | Standardwert | Bedeutung |
| -------- | ------------ | --------- |
| `PROJECT_DIR` | Verzeichnis des Code-Ordners | Wurzelverzeichnis des Projekts |
| `PROJECT_BIN` | `%PROJECT_DIR%\bin` | Verzeichnis der Batch-Dateien |
| `PROJECT_LIB` | `%PROJECT_DIR%\lib` | Verzeichnis der Python-Skripte |
| `PROJECT_WORK` | `%PROJECT_DIR%\work` | Arbeitsverzeichnis (Zwischenergebnisse) |
| `PROJECT_DATA` | `%PROJECT_DIR%\data` | Datenverzeichnis |
| `PROJECT_INPUT` | `%PROJECT_DIR%\input` | Eingabeverzeichnis (.par-Dateien) |
| `PROJECT_TEMPLATE` | `\\ssg.local\freigaben\RuleDesigner\Templates\CreateAssemblies` | Netzwerkpfad zur dummy.asm-Vorlage |
| `PROJECT_JSON_BOGEN` | `%SSG_RD_DIR%\SVGs\Omniflo\python\OFBogen\json` | 2D-JSON-Verzeichnis für Bögen |
| `PROJECT_JSON_WEICHE` | `%SSG_RD_DIR%\SVGs\Omniflo\python\OFWeiche\json` | 2D-JSON-Verzeichnis für Weichen |
| `PROJECT_JSON_TEFBOGEN` | `%SSG_RD_DIR%\SVGs\Omniflo\python\TEFBogen\json` | 2D-JSON-Verzeichnis für TEF-Bögen |
| `PROJECT_JSON_TEFWEICHE` | `%SSG_RD_DIR%\SVGs\Omniflo\python\TEFWeiche\json` | 2D-JSON-Verzeichnis für TEF-Weichen |
### get_cmd.bat
Ruft `setenv.bat` auf und öffnet anschließend eine Kommandozeile mit gesetzten Umgebungsvariablen. Nützlich, um Skripte manuell mit korrekter Umgebung zu testen.
### get_all_differences.bat
Interaktiver Wrapper für `diff_dimensions.bat`. Fragt Typ, JSON-Dateinamen und Toleranz per Eingabeaufforderung ab (mit vordefinierten Standardwerten) und startet dann den Vergleich.
---
## Voraussetzungen
- **Python** mit den Paketen `win32com` (pywin32) und `pythoncom`
- **Solid Edge** (für COM-Zugriff bei `create_assemblies`, `save_stl`, `read_variables`)
- **Netzwerkzugriff** auf `\\ssg.local\freigaben\RuleDesigner\Templates\CreateAssemblies` (für `create_assemblies`)
## Fehlerbehandlung
Fehlerhafte oder fehlende Dateien werden bei allen Skripten übersprungen — der Prozess läuft jeweils weiter und gibt eine Fehlermeldung aus.
+1
View File
@@ -0,0 +1 @@
pywin32
+11 -3
View File
@@ -4,13 +4,14 @@ import argparse
import win32com.client
import pythoncom
def export_assemblies_to_stl(input_dir, output_dir):
def export_assemblies_to_stl(input_dir, output_dir, filter_name=None, minimized=False):
pythoncom.CoInitialize()
try:
# Solid Edge starten oder verbinden
se_app = win32com.client.Dispatch("SolidEdge.Application")
se_app.Visible = True
se_app.WindowState = 2 if minimized else 1
documents = se_app.Documents
@@ -18,6 +19,8 @@ def export_assemblies_to_stl(input_dir, output_dir):
for filename in os.listdir(input_dir):
if filename.lower().endswith(".asm"):
if filter_name and filter_name.lower() not in filename.lower():
continue
asm_path = os.path.join(input_dir, filename)
stl_filename = os.path.splitext(filename)[0] + ".stl"
stl_path = os.path.join(output_dir, stl_filename)
@@ -29,7 +32,7 @@ def export_assemblies_to_stl(input_dir, output_dir):
doc = documents.Open(asm_path)
# STL exportieren in den Unterordner
doc.SaveAs(stl_path)
print(f" Exported to: {stl_path}")
print(f"-> Exported to: {stl_path}")
except Exception as e:
print(f"Error processing {filename}: {e}")
finally:
@@ -69,6 +72,8 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Exportiert alle .asm-Dateien in einem Ordner nach STL.")
parser.add_argument("--in", dest="input_dir", required=False, help="Ordner mit .asm-Dateien (Standard: WORK oder ../work)")
parser.add_argument("--out", dest="output_dir", required=False, help="Zielordner für STL-Dateien (Standard: work/STL_Export)")
parser.add_argument("--filter", dest="filter_name", required=False, help="Nur Dateien verarbeiten, deren Name diesen String enthält")
parser.add_argument("--se-minimized", dest="minimized", action="store_true", default=False, help="Solid Edge minimiert starten")
if len(sys.argv) == 2 and sys.argv[1] in ("-h", "--help"):
parser.print_help()
@@ -97,4 +102,7 @@ if __name__ == "__main__":
print(f"Input folder not found: {input_dir}")
sys.exit(1)
export_assemblies_to_stl(input_dir, output_dir)
if args.filter_name:
print(f"Filtering files containing: '{args.filter_name}'\n")
export_assemblies_to_stl(input_dir, output_dir, args.filter_name, args.minimized)
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
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.
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.
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.
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.
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.
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.
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.
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+37
View File
@@ -0,0 +1,37 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Projektübersicht
**SSG-Ruledesigner-Konfigurator** ist die Library der Schönenberger GmbH für den
RuleDesigner Fusion (RD Fusion) — ein PDM-System zur Verwaltung von CAD-Daten. Der
**RuleDesigner Configurator** ist eine *low-code*-Programmierumgebung, über die das PDM
an externe Systeme (Datenbanken, CAD wie Solid Edge, Export nach CSV/JSON) angebunden
wird. Dieses Repo bündelt Konfigurationen, Layouts, Bibliotheken und Schulungs-Doku für
den abteilungsübergreifenden Einsatz bei Schönenberger.
## Projektstruktur
```text
SSG-Ruledesigner-Konfigurator/
├── MAIN_SSG.rdx # Haupt-Konfiguration (RuleDesigner)
├── Sub_DWG2SWG.rdx # Teil-Konfiguration DWG→SWG
├── Editor2DLibrary/ # 2D-Editor-Bibliothek
├── CAD/ # CAD-Daten
├── CSV/ # CSV-Daten/Exporte
├── SVGs/ # SVG-Grafiken
├── Pictures/ # Bilder
├── HallenLayouts/ # Hallen-Layouts
├── Sessions/ # Session-Daten
├── Doku/ # Dokumentation
├── wiki/ # Wiki (Roadmap, Home, Schulungs-Doku)
├── _setenv.bat # Umgebung setzen
└── cleanLocalShapes.bat # Lokale Shapes bereinigen
```
## Hinweise
- Die `.rdx`-Dateien sind RuleDesigner-Configurator-Projekte (low code).
- Ausführliche Doku und Roadmap liegen im `wiki/` (siehe `Readme.md` für Links).
- Ziel: Programmierarbeiten künftig durch hauseigene Mitarbeiter (nach Schulung).
+452
View File
@@ -0,0 +1,452 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="297mm"
height="210mm"
viewBox="0 0 297 210"
version="1.1"
id="svg1"
inkscape:version="1.4.2 (ebf0e94, 2025-05-08)"
sodipodi:docname="Varioförderer_abwärts.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="0.52221046"
inkscape:cx="1171.9413"
inkscape:cy="251.81418"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g13" />
<defs
id="defs1" />
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<g
transform="matrix(0.23034607,0,0,0.23034607,0.53613215,11.200168)"
id="g13">
<g
transform="matrix(0.93111819,0,0,0.96168343,42.607341,-3.2012156)"
id="g41">
<rect
x="0"
y="0"
width="123"
height="96"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
transform="matrix(-1,0,0,1,294,178)"
id="rect1" />
<path
d="m 171,178 122.88,96"
stroke="#e59edd"
stroke-width="4"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path1" />
<path
d="M 295,272 703.758,520.544"
stroke="#7030a0"
stroke-width="4"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path2" />
<path
d="M 972.8,635.36 704,519"
stroke="#00b0f0"
stroke-width="4"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path3" />
<path
d="M 1116.08,668.6 974,635"
stroke="#c1e5f5"
stroke-width="4"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path4" />
<text
fill="#7030a0"
font-family="Symbol, Symbol_MSFontService, sans-serif"
font-weight="400"
font-size="43px"
transform="translate(429.665,319)"
id="text4"></text>
<text
fill="#7030a0"
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="24px"
transform="translate(456.665,319)"
id="text5">F</text>
<text
fill="#00b0f0"
font-family="Symbol, Symbol_MSFontService, sans-serif"
font-weight="400"
font-size="43px"
transform="translate(803.268,617)"
id="text6"></text>
<text
fill="#00b0f0"
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="24px"
transform="translate(830.268,617)"
id="text7">S</text>
<path
d="M 0,0 C 28.842,37.2866 34.2679,71.9892 32.7764,106"
stroke="#7030a0"
stroke-width="3"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(1,0,0,-1,480.5,380.5)"
id="path7" />
<path
d="M 0,0 C 26.5571,21.2117 32.3714,48.3031 33,77"
stroke="#00b0f0"
stroke-width="3"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,797.5,558.5)"
id="path8" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(131.297,162)"
id="text8">Ho</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(1116.31,708)"
id="text9">H</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(1135.14,708)"
id="text10">1</text>
<path
d="m 295.979,218 h 406.759 v 2 H 295.979 Z m 7.497,6.53 -9.481,-5.53 9.481,-5.53 c 0.477,-0.279 1.089,-0.118 1.368,0.359 0.278,0.478 0.117,1.09 -0.36,1.368 l -8,4.667 v -1.728 l 8,4.667 c 0.477,0.278 0.638,0.89 0.36,1.368 -0.279,0.477 -0.891,0.638 -1.368,0.359 z m 391.765,-11.06 9.481,5.53 -9.481,5.531 c -0.477,0.278 -1.089,0.117 -1.367,-0.36 -0.278,-0.477 -0.117,-1.09 0.36,-1.368 l 8,-4.667 v 1.728 l -8,-4.667 c -0.477,-0.278 -0.638,-0.89 -0.36,-1.367 0.278,-0.477 0.89,-0.639 1.367,-0.36 z"
id="path10" />
<path
d="m 704,452 v 59.488"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path11" />
<path
d="m 973,467 v 36.381"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path12" />
<path
d="m 705.979,479 h 264.842 v 2 H 705.979 Z m 7.497,6.53 -9.481,-5.53 9.481,-5.53 c 0.477,-0.279 1.089,-0.118 1.368,0.359 0.278,0.478 0.117,1.09 -0.36,1.368 l -8,4.667 v -1.728 l 8,4.667 c 0.477,0.278 0.638,0.89 0.36,1.368 -0.279,0.477 -0.891,0.638 -1.368,0.359 z m 249.848,-11.06 9.481,5.53 -9.481,5.531 c -0.477,0.278 -1.089,0.117 -1.368,-0.36 -0.278,-0.477 -0.117,-1.09 0.36,-1.368 l 8,-4.667 v 1.728 l -8,-4.667 c -0.477,-0.278 -0.638,-0.89 -0.36,-1.367 0.279,-0.477 0.891,-0.639 1.368,-0.36 z"
id="path13" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(489.106,209)"
id="text13">L</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(502.44,209)"
id="text14">F</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(825.829,455)"
id="text15">L</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(839.163,455)"
id="text16">S</text>
<path
d="m 1107,669 c 0,-4.971 4.03,-9 9,-9 4.97,0 9,4.029 9,9 0,4.971 -4.03,9 -9,9 -4.97,0 -9,-4.029 -9,-9 z"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path16" />
<path
d="m 162,178 c 0,-4.971 4.029,-9 9,-9 4.971,0 9,4.029 9,9 0,4.971 -4.029,9 -9,9 -4.971,0 -9,-4.029 -9,-9 z"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path17" />
<path
d="M 1,1.98013 1.0001,112.925 H -0.999897 L -0.999998,1.98013 Z M -5.53044,9.47613 -3.97253e-8,-0.0046346 5.53045,9.47612 C 5.80873,9.95317 5.6476,10.5655 5.17055,10.8438 4.6935,11.1221 4.08118,10.9609 3.8029,10.4839 L -0.863777,2.48387 H 0.863781 L -3.80288,10.4839 c -0.27828,0.477 -0.8906,0.6382 -1.36765,0.3599 C -5.64758,10.5655 -5.80872,9.95318 -5.53044,9.47613 Z M 5.53054,105.429 1.0489e-4,114.91 -5.53035,105.429 c -0.27828,-0.477 -0.11714,-1.089 0.35991,-1.367 0.47705,-0.279 1.08937,-0.117 1.36765,0.36 l 4.666672,8 h -1.727558 l 4.666656,-8 c 0.27828,-0.477 0.8906,-0.639 1.36765,-0.36 0.47706,0.278 0.63819,0.89 0.35991,1.367 z"
transform="matrix(1,0,0,-1,1183,635.906)"
id="path18" />
<path
d="m 1.00001,1.98 9e-5,29.6399 H -0.999901 L -0.999994,1.98 Z M -5.53042,9.47615 2.40488e-8,-0.0046346 5.53048,9.47611 C 5.80876,9.95316 5.64762,10.5655 5.17057,10.8438 4.69352,11.122 4.0812,10.9609 3.80292,10.4839 L -0.863771,2.48387 H 0.863787 L -3.80286,10.4839 c -0.27827,0.477 -0.89059,0.6382 -1.36764,0.3599 C -5.64756,10.5655 -5.80869,9.9532 -5.53042,9.47615 Z M 5.53052,24.1237 1.04963e-4,33.6045 -5.53037,24.1238 c -0.27828,-0.4771 -0.11715,-1.0894 0.3599,-1.3677 0.47705,-0.2782 1.08937,-0.1171 1.36765,0.3599 l 4.666696,8 h -1.727558 l 4.666642,-8 c 0.27828,-0.477 0.8906,-0.6382 1.36765,-0.3599 0.47705,0.2783 0.63819,0.8906 0.35991,1.3676 z"
transform="matrix(1,0,0,-1,1183,668.6)"
id="path19" />
<path
d="M 0,0 199.69,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,1190.69,519)"
id="path20" />
<path
d="M 0,0 65.4454,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,1190.45,635)"
id="path21" />
<path
d="M 0,0 65.4454,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,1197.45,669)"
id="path22" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(1203.12,582)"
id="text22">H</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(1221.95,582)"
id="text23">S</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(1201.32,662)"
id="text24">H</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(1220.15,662)"
id="text25">AS</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(1025.92,465)"
id="text26">L</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(1039.25,465)"
id="text27">AS</text>
<path
d="m 975.98,481 h 136.22 v 2 H 975.98 Z m 7.496,6.53 -9.481,-5.53 9.481,-5.53 c 0.477,-0.279 1.089,-0.118 1.368,0.359 0.278,0.478 0.117,1.09 -0.36,1.368 l -8,4.667 v -1.728 l 8,4.667 c 0.477,0.278 0.638,0.89 0.36,1.368 -0.279,0.477 -0.891,0.638 -1.368,0.359 z m 121.224,-11.06 9.48,5.53 -9.48,5.531 c -0.48,0.278 -1.09,0.117 -1.37,-0.36 -0.28,-0.477 -0.11,-1.09 0.36,-1.368 l 8,-4.667 v 1.728 l -8,-4.667 c -0.47,-0.278 -0.64,-0.89 -0.36,-1.367 0.28,-0.477 0.89,-0.639 1.37,-0.36 z"
id="path27" />
<path
d="M 1114,477 V 615.439"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path28" />
<path
d="m 123.188,271.022 -0.184,-92.04 2,-0.004 0.184,92.04 z m 6.516,-7.509 -5.512,9.492 -5.549,-9.47 c -0.279,-0.477 -0.119,-1.089 0.357,-1.368 0.477,-0.28 1.089,-0.12 1.368,0.357 l 4.683,7.99 -1.727,0.004 4.65,-8.009 c 0.278,-0.478 0.89,-0.64 1.367,-0.363 0.478,0.277 0.64,0.889 0.363,1.367 z m -11.215,-77.026 5.511,-9.492 5.549,9.47 c 0.28,0.477 0.12,1.089 -0.357,1.368 -0.476,0.28 -1.089,0.12 -1.368,-0.357 l -4.683,-7.99 1.728,-0.004 -4.651,8.009 c -0.277,0.478 -0.889,0.64 -1.367,0.363 -0.477,-0.277 -0.64,-0.889 -0.362,-1.367 z"
id="path29" />
<path
d="M 0,0 38.6295,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,153.63,273)"
id="path30" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(74.7453,401)"
id="text30">H</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(93.5786,401)"
id="text31">F</text>
<path
d="M 0,0 45.3722,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,153.372,178)"
id="path31" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(68.8266,230)"
id="text32">H</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(87.6599,230)"
id="text33">ES</text>
<path
d="M 1,1.9794 1.0001,243.656 H -0.999896 L -0.999999,1.9794 Z M -5.53044,9.47613 2.45822e-8,-0.0046346 5.53045,9.47613 C 5.80873,9.95318 5.64759,10.5655 5.17054,10.8438 4.69349,11.1221 4.08117,10.9609 3.80289,10.4839 L -0.863778,2.48387 H 0.86378 l -4.66666,8.00003 c -0.27828,0.477 -0.8906,0.6382 -1.36765,0.3599 C -5.64759,10.5655 -5.80872,9.95318 -5.53044,9.47613 Z M 5.53055,236.159 1.04757e-4,245.64 -5.53034,236.159 c -0.27829,-0.477 -0.11715,-1.089 0.3599,-1.368 0.47705,-0.278 1.08937,-0.117 1.36765,0.36 l 4.666673,8 h -1.727558 l 4.666665,-8 c 0.27828,-0.477 0.8906,-0.638 1.36765,-0.36 0.47705,0.279 0.63819,0.891 0.35991,1.368 z"
transform="matrix(1,0,0,-1,124,518.635)"
id="path33" />
<path
d="M 0,0 156.35,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,271.349,519)"
id="path34" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(213.958,347)"
id="text34">L</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(227.292,347)"
id="text35">ES</text>
<path
d="m 172.98,359 h 120.304 v 2 H 172.98 Z m 7.496,6.53 -9.481,-5.53 9.481,-5.53 c 0.477,-0.279 1.09,-0.118 1.368,0.359 0.278,0.478 0.117,1.09 -0.36,1.368 l -8,4.667 v -1.728 l 8,4.667 c 0.477,0.278 0.638,0.89 0.36,1.368 -0.279,0.477 -0.891,0.638 -1.368,0.359 z m 105.312,-11.06 9.481,5.53 -9.481,5.531 c -0.477,0.278 -1.089,0.117 -1.367,-0.36 -0.279,-0.477 -0.117,-1.09 0.36,-1.368 l 8,-4.667 v 1.728 l -8,-4.667 c -0.477,-0.278 -0.639,-0.89 -0.36,-1.367 0.278,-0.477 0.89,-0.639 1.367,-0.36 z"
id="path35" />
<path
d="m 173,293 v 80.092"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path36" />
<rect
x="294"
y="272"
width="410"
height="249"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
id="rect36" />
<rect
x="704"
y="519"
width="269"
height="116"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
id="rect37" />
<rect
x="0"
y="0"
width="144"
height="34"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
transform="matrix(-1,0,0,1,1117,635)"
id="rect38" />
<path
d="m 704,210 v 50"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path38" />
<path
d="m 173,119 v 30.704"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path39" />
<path
d="m 172.971,126 h 940.919 v 2 H 172.971 Z m 7.505,6.53 -9.481,-5.53 9.481,-5.53 c 0.477,-0.279 1.089,-0.118 1.368,0.359 0.278,0.478 0.117,1.09 -0.36,1.368 l -8,4.667 v -1.728 l 8,4.667 c 0.477,0.278 0.638,0.89 0.36,1.368 -0.279,0.477 -0.891,0.638 -1.368,0.359 z m 925.914,-11.06 9.48,5.53 -9.48,5.531 c -0.48,0.278 -1.09,0.117 -1.37,-0.36 -0.28,-0.477 -0.12,-1.09 0.36,-1.368 l 8,-4.667 v 1.728 l -8,-4.667 c -0.48,-0.278 -0.64,-0.89 -0.36,-1.367 0.28,-0.477 0.89,-0.639 1.37,-0.36 z"
id="path40" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(605.305,154)"
id="text40">L</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(618.638,154)"
id="text41">1</text>
<path
d="M 1114,109 V 456.164"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path41" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

+452
View File
@@ -0,0 +1,452 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="297mm"
height="210mm"
viewBox="0 0 297 210"
version="1.1"
id="svg1"
inkscape:version="1.4.2 (ebf0e94, 2025-05-08)"
sodipodi:docname="Varioförderer_aufwärts.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="0.73851712"
inkscape:cx="501.00396"
inkscape:cy="561.25984"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1" />
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<g
transform="matrix(0.23034607,0,0,0.23034607,0.93511915,3.6997708)"
id="g30">
<path
d="m 294.979,214 h 406.759 v 2 H 294.979 Z m 7.497,6.53 -9.481,-5.53 9.481,-5.53 c 0.477,-0.279 1.089,-0.118 1.368,0.359 0.278,0.478 0.117,1.09 -0.36,1.368 l -8,4.667 v -1.728 l 8,4.667 c 0.477,0.278 0.638,0.89 0.36,1.368 -0.279,0.477 -0.891,0.638 -1.368,0.359 z m 391.765,-11.06 9.481,5.53 -9.481,5.531 c -0.477,0.278 -1.089,0.117 -1.367,-0.36 -0.278,-0.477 -0.117,-1.09 0.36,-1.368 l 8,-4.667 v 1.728 l -8,-4.667 c -0.477,-0.278 -0.638,-0.89 -0.36,-1.367 0.278,-0.477 0.89,-0.639 1.367,-0.36 z"
id="path1" />
<path
d="m 704,205 v 59.488"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path2" />
<path
d="m 295,204 v 59.488"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path3" />
<path
d="m 973,205 v 59.488"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path4" />
<path
d="m 705.979,214 h 264.842 v 2 H 705.979 Z m 7.497,6.53 -9.481,-5.53 9.481,-5.53 c 0.477,-0.279 1.089,-0.118 1.368,0.359 0.278,0.478 0.117,1.09 -0.36,1.368 l -8,4.667 v -1.728 l 8,4.667 c 0.477,0.278 0.638,0.89 0.36,1.368 -0.279,0.477 -0.891,0.638 -1.368,0.359 z m 249.848,-11.06 9.481,5.53 -9.481,5.531 c -0.477,0.278 -1.089,0.117 -1.368,-0.36 -0.278,-0.477 -0.117,-1.09 0.36,-1.368 l 8,-4.667 v 1.728 l -8,-4.667 c -0.477,-0.278 -0.638,-0.89 -0.36,-1.367 0.279,-0.477 0.891,-0.639 1.368,-0.36 z"
id="path5" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(487.134,199)"
id="text5">L</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(500.468,199)"
id="text6">F</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(825.829,199)"
id="text7">L</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(839.163,199)"
id="text8">S</text>
<path
d="M 1,1.98013 1.0001,112.925 H -0.999897 L -0.999998,1.98013 Z M -5.53044,9.47613 -3.97253e-8,-0.0046346 5.53045,9.47612 C 5.80873,9.95317 5.6476,10.5655 5.17055,10.8438 4.6935,11.1221 4.08118,10.9609 3.8029,10.4839 L -0.863777,2.48387 H 0.863781 L -3.80288,10.4839 c -0.27828,0.477 -0.8906,0.6382 -1.36765,0.3599 C -5.64758,10.5655 -5.80872,9.95318 -5.53044,9.47613 Z M 5.53054,105.429 1.0489e-4,114.91 -5.53035,105.429 c -0.27828,-0.477 -0.11714,-1.089 0.35991,-1.367 0.47705,-0.279 1.08937,-0.117 1.36765,0.36 l 4.666672,8 h -1.727558 l 4.666656,-8 c 0.27828,-0.477 0.8906,-0.639 1.36765,-0.36 0.47706,0.278 0.63819,0.89 0.35991,1.367 z"
transform="matrix(1,0,0,-1,1183,387.906)"
id="path8" />
<path
d="m 1.00001,1.98 9e-5,29.6399 H -0.999901 L -0.999994,1.98 Z M -5.53042,9.47615 2.40488e-8,-0.0046346 5.53048,9.47611 C 5.80876,9.95316 5.64762,10.5655 5.17057,10.8438 4.69352,11.122 4.0812,10.9609 3.80292,10.4839 L -0.863771,2.48387 H 0.863787 L -3.80286,10.4839 c -0.27827,0.477 -0.89059,0.6382 -1.36764,0.3599 C -5.64756,10.5655 -5.80869,9.9532 -5.53042,9.47615 Z M 5.53052,24.1237 1.04963e-4,33.6045 -5.53037,24.1238 c -0.27828,-0.4771 -0.11715,-1.0894 0.3599,-1.3677 0.47705,-0.2782 1.08937,-0.1171 1.36765,0.3599 l 4.666696,8 h -1.727558 l 4.666642,-8 c 0.27828,-0.477 0.8906,-0.6382 1.36765,-0.3599 0.47705,0.2783 0.63819,0.8906 0.35991,1.3676 z"
transform="matrix(1,0,0,-1,1183,421.6)"
id="path9" />
<path
d="M 0,0 76.4572,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,1190.46,272)"
id="path10" />
<path
d="M 0,0 65.4454,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,1190.45,388)"
id="path11" />
<path
d="M 0,0 65.4454,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,1197.45,422)"
id="path12" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(1203.12,335)"
id="text12">H</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(1221.95,335)"
id="text13">S</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(1201.32,415)"
id="text14">H</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(1220.15,415)"
id="text15">ES</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(1025.92,202)"
id="text16">L</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(1039.25,202)"
id="text17">ES</text>
<path
d="m 975.98,214 h 136.22 v 2 H 975.98 Z m 7.496,6.53 -9.481,-5.53 9.481,-5.53 c 0.477,-0.279 1.089,-0.118 1.368,0.359 0.278,0.478 0.117,1.09 -0.36,1.368 l -8,4.667 v -1.728 l 8,4.667 c 0.477,0.278 0.638,0.89 0.36,1.368 -0.279,0.477 -0.891,0.638 -1.368,0.359 z m 121.224,-11.06 9.48,5.53 -9.48,5.531 c -0.48,0.278 -1.09,0.117 -1.37,-0.36 -0.28,-0.477 -0.11,-1.09 0.36,-1.368 l 8,-4.667 v 1.728 l -8,-4.667 c -0.47,-0.278 -0.64,-0.89 -0.36,-1.367 0.28,-0.477 0.89,-0.639 1.37,-0.36 z"
id="path17" />
<path
d="m 1114,205 v 59.488"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path18" />
<path
d="m 123.188,614.022 -0.184,-92.04 2,-0.004 0.184,92.04 z m 6.516,-7.509 -5.512,9.492 -5.549,-9.47 c -0.279,-0.477 -0.119,-1.089 0.357,-1.368 0.477,-0.28 1.089,-0.12 1.368,0.357 l 4.683,7.99 -1.727,0.004 4.65,-8.009 c 0.278,-0.478 0.89,-0.64 1.367,-0.363 0.478,0.277 0.64,0.889 0.363,1.367 z m -11.215,-77.026 5.511,-9.492 5.549,9.47 c 0.28,0.477 0.12,1.089 -0.357,1.368 -0.476,0.28 -1.089,0.12 -1.368,-0.357 l -4.683,-7.99 1.728,-0.004 -4.651,8.009 c -0.277,0.478 -0.889,0.64 -1.367,0.363 -0.477,-0.277 -0.64,-0.889 -0.362,-1.367 z"
id="path19" />
<path
d="M 0,0 88.0784,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,165.078,616)"
id="path20" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(38.1987,453)"
id="text20">H</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(57.0321,453)"
id="text21">F</text>
<path
d="M 0,0 45.3722,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,153.372,521)"
id="path21" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(40.9113,575)"
id="text22">H</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(59.7446,575)"
id="text23">AS</text>
<path
d="M 1,1.9794 1.0001,341.406 H -0.999896 L -0.999999,1.9794 Z M -5.53044,9.47613 -1.09084e-8,-0.0046346 5.53045,9.47613 C 5.80873,9.95318 5.64759,10.5655 5.17054,10.8438 4.69349,11.1221 4.08117,10.9609 3.80289,10.4839 L -0.863778,2.48387 H 0.86378 l -4.66667,8.00003 c -0.27828,0.477 -0.89059,0.6382 -1.36765,0.3599 -0.47705,-0.2783 -0.63818,-0.89062 -0.3599,-1.36767 z M 5.53055,333.909 1.04861e-4,343.39 -5.53034,333.909 c -0.27828,-0.477 -0.11715,-1.089 0.3599,-1.367 0.47706,-0.279 1.08937,-0.118 1.36765,0.36 l 4.666673,8 h -1.727558 l 4.666665,-8 c 0.27828,-0.478 0.8906,-0.639 1.36765,-0.36 0.47705,0.278 0.63819,0.89 0.35991,1.367 z"
transform="matrix(1,0,0,-1,94,616.385)"
id="path23" />
<path
d="M 0,0 197.424,1.04987e-4"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,281.424,273)"
id="path24" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(213.958,202)"
id="text24">L</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(227.292,202)"
id="text25">AS</text>
<path
d="m 172.98,213 h 120.304 v 2 H 172.98 Z m 7.496,6.53 -9.481,-5.53 9.481,-5.53 c 0.477,-0.279 1.09,-0.118 1.368,0.359 0.278,0.478 0.117,1.09 -0.36,1.368 l -8,4.667 v -1.728 l 8,4.667 c 0.477,0.278 0.638,0.89 0.36,1.368 -0.279,0.477 -0.891,0.638 -1.368,0.359 z m 105.312,-11.06 9.481,5.53 -9.481,5.531 c -0.477,0.278 -1.089,0.117 -1.367,-0.36 -0.279,-0.477 -0.117,-1.09 0.36,-1.368 l 8,-4.667 v 1.728 l -8,-4.667 c -0.477,-0.278 -0.639,-0.89 -0.36,-1.367 0.278,-0.477 0.89,-0.639 1.367,-0.36 z"
id="path25" />
<path
d="m 171,205 v 80.092"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path26" />
<path
d="m 172.971,670 h 940.919 v 2 H 172.971 Z m 7.505,6.53 -9.481,-5.53 9.481,-5.53 c 0.477,-0.279 1.089,-0.118 1.368,0.359 0.278,0.478 0.117,1.09 -0.36,1.368 l -8,4.667 v -1.728 l 8,4.667 c 0.477,0.278 0.638,0.89 0.36,1.368 -0.279,0.477 -0.891,0.638 -1.368,0.359 z m 925.914,-11.06 9.48,5.53 -9.48,5.531 c -0.48,0.278 -1.09,0.117 -1.37,-0.36 -0.28,-0.477 -0.12,-1.09 0.36,-1.368 l 8,-4.667 v 1.728 l -8,-4.667 c -0.48,-0.278 -0.64,-0.89 -0.36,-1.367 0.28,-0.477 0.89,-0.639 1.37,-0.36 z"
id="path27" />
<path
d="M 1116,483 V 681.968"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path28" />
<path
d="m 171,625 v 57"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path29" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(601.134,662)"
id="text29">L</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(614.468,662)"
id="text30">1</text>
</g>
<g
transform="matrix(0.23034607,0,0,0.23034607,0.53613215,2.9601198)"
id="g13">
<rect
x="0"
y="0"
width="123"
height="96"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
transform="matrix(-1,0,0,1,294,521)"
id="rect1" />
<path
d="m 171,521 122.88,96"
stroke="#e59edd"
stroke-width="4"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path1-0" />
<path
d="M 0,0 410.718,344.84"
stroke="#7030a0"
stroke-width="4"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(1,0,0,-1,293,616.84)"
id="path2-9" />
<path
d="M 972.8,388.36 704,272"
stroke="#00b0f0"
stroke-width="4"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path3-4" />
<path
d="M 1116.08,421.6 974,388"
stroke="#c1e5f5"
stroke-width="4"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path4-8" />
<text
fill="#7030a0"
font-family="Symbol, Symbol_MSFontService, sans-serif"
font-weight="400"
font-size="43px"
transform="translate(411.13,582)"
id="text4"></text>
<text
fill="#7030a0"
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="24px"
transform="translate(438.13,582)"
id="text5-8">F</text>
<text
fill="#00b0f0"
font-family="Symbol, Symbol_MSFontService, sans-serif"
font-weight="400"
font-size="43px"
transform="translate(803.268,370)"
id="text6-2"></text>
<text
fill="#00b0f0"
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="24px"
transform="translate(830.268,370)"
id="text7-4">S</text>
<path
d="m 452.5,483.5 c 35.65,34.747 46.361,64.679 47,130"
stroke="#7030a0"
stroke-width="3"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path7" />
<path
d="M 0,0 C 26.5571,21.2117 32.3714,48.3031 33,77"
stroke="#00b0f0"
stroke-width="3"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
transform="matrix(-1,0,0,1,797.5,311.5)"
id="path8-5" />
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(136.448,500)"
id="text8-5">Ho</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="27px"
transform="translate(1116.31,461)"
id="text9">H</text>
<text
font-family="Aptos, Aptos_MSFontService, sans-serif"
font-weight="400"
font-size="21px"
transform="translate(1135.14,461)"
id="text10">1</text>
<path
d="m 1107,422 c 0,-4.971 4.03,-9 9,-9 4.97,0 9,4.029 9,9 0,4.971 -4.03,9 -9,9 -4.97,0 -9,-4.029 -9,-9 z"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path10-1" />
<path
d="m 162,521 c 0,-4.971 4.029,-9 9,-9 4.971,0 9,4.029 9,9 0,4.971 -4.029,9 -9,9 -4.971,0 -9,-4.029 -9,-9 z"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
fill-rule="evenodd"
id="path11-7" />
<rect
x="294"
y="272"
width="410"
height="345"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
id="rect11" />
<rect
x="704"
y="272"
width="269"
height="116"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
id="rect12" />
<rect
x="0"
y="0"
width="144"
height="34"
stroke="#000000"
stroke-width="2"
stroke-miterlimit="8"
fill="none"
transform="matrix(-1,0,0,1,1117,388)"
id="rect13" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

+442
View File
@@ -0,0 +1,442 @@
# Gleichungen Förderer aufwärts
![Varioförderer aufwärts](bilder/Variofoerderer_aufwaerts.svg)
**violett** ist F wie _Förderer_
**hellblau** ist S wie _Strecke_
**AS** ist _Ausschleus_- Element
**ES** ist _Einschleus_- Element
## Gegeben
$H_0$, $H_1$, $L_1$, $\alpha_F$, $\alpha_S$, $L_{ES}$, $H_{ES}$, $L_{AS}$, $H_{AS}$
## Gesucht
$L_F$, $L_S$, $H_F$, $H_S$
---
## Grundgleichungen ($H_1 > H_0$, Förderrichtung: von $H_0$ nach $H_1$)
**(1) Horizontal:**
$$L_1 = L_{ES} + L_F + L_S + L_{AS}$$
**(2) Vertikal:**
$$H_1 - H_0 = H_F - H_S - H_{ES} - H_{AS}$$
**(3) Neigung F:**
$$\tan(\alpha_F) = \frac{H_F}{L_F} \quad \Rightarrow \quad H_F = L_F \cdot \tan(\alpha_F)$$
**(4) Neigung S:**
$$\tan(\alpha_S) = \frac{H_S}{L_S} \quad \Rightarrow \quad H_S = L_S \cdot \tan(\alpha_S)$$
---
## Lösung (Einsetzen von (3),(4) in (1),(2))
**(I)**
$$L_F + L_S = L_1 - L_{ES} - L_{AS}$$
**(II)**
$$L_F \cdot \tan(\alpha_F) - L_S \cdot \tan(\alpha_S) = (H_1 - H_0) + H_{ES} + H_{AS}$$
---
## Ergebnis
$$L_F = \frac{(H_1 - H_0 + H_{ES} + H_{AS}) + (L_1 - L_{ES} - L_{AS}) \cdot \tan(\alpha_S)}{\tan(\alpha_F) + \tan(\alpha_S)}$$
$$L_S = (L_1 - L_{ES} - L_{AS}) - L_F$$
$$H_F = L_F \cdot \tan(\alpha_F)$$
$$H_S = L_S \cdot \tan(\alpha_S)$$
# Gleichungen Förderer abwärts
![Varioförderer abwärts](bilder/Variofoerderer_abwaerts.svg)
## Gegeben
$H_0$, $H_1$, $L_1$, $\alpha_F$, $\alpha_S$, $L_{ES}$, $H_{ES}$, $L_{AS}$, $H_{AS}$
## Gesucht
$L_F$, $L_S$, $H_F$, $H_S$
---
## Grundgleichungen ($H_0 > H_1$, Förderrichtung: von $H_0$ nach $H_1$)
**(1) Horizontal:**
$$L_1 = L_{ES} + L_F + L_S + L_{AS}$$
**(2) Vertikal:**
$$H_0 - H_1 = H_{ES} + H_F + H_S + H_{AS}$$
**(3) Neigung F:**
$$\tan(\alpha_F) = \frac{H_F}{L_F} \quad \Rightarrow \quad H_F = L_F \cdot \tan(\alpha_F)$$
**(4) Neigung S:**
$$\tan(\alpha_S) = \frac{H_S}{L_S} \quad \Rightarrow \quad H_S = L_S \cdot \tan(\alpha_S)$$
---
## Lösung (Einsetzen von (3),(4) in (1),(2))
**(I)**
$$L_F + L_S = L_1 - L_{ES} - L_{AS}$$
**(II)**
$$L_F \cdot \tan(\alpha_F) + L_S \cdot \tan(\alpha_S) = (H_0 - H_1) - H_{ES} - H_{AS}$$
---
## Ergebnis
$$L_F = \frac{(H_0 - H_1 - H_{ES} - H_{AS}) - (L_1 - L_{ES} - L_{AS}) \cdot \tan(\alpha_S)}{\tan(\alpha_F) - \tan(\alpha_S)}$$
$$L_S = (L_1 - L_{ES} - L_{AS}) - L_F$$
$$H_F = L_F \cdot \tan(\alpha_F)$$
$$H_S = L_S \cdot \tan(\alpha_S)$$
# Zusammenfassung
Wobei $\alpha_S$ normalerweise immer bei 3° liegt und $\alpha_F$ von 3,6,9,12,15.. 51° läuft.
```python
#!/usr/bin/env python3
"""
Förderer-Berechnung in 2D beide Fälle
====================================================
Aufwärts (H1 > H0):
ΔH = H1 - H0
L_F = (ΔH + H_ES + H_AS + L_rest·tan(α_S)) / (tan(α_F) + tan(α_S))
Probe: H_F - H_S - H_ES - H_AS = ΔH
Abwärts (H0 > H1):
ΔH = H0 - H1
L_F = (ΔH - H_ES - H_AS - L_rest·tan(α_S)) / (tan(α_F) - tan(α_S))
Probe: H_ES + H_F + H_S + H_AS = ΔH
"""
import math
# ============================================================
# KONSTANTEN [alle in Meter / Grad]
# ============================================================
H0 = 2.0
H1 = 5.0
L1 = 8.0
L_ES = 1.0
H_ES = 0.3
L_AS = 1.0
H_AS = 0.3
ALPHA_S = 3.0
ALPHA_F_LIST = [3, 6, 9, 12, 15, 18, 24, 27, 33, 39, 45, 51]
def berechne(h0, h1, l1, l_es, h_es, l_as, h_as, alpha_f_deg, alpha_s_deg):
"""
Berechnet L_F, L_S, H_F, H_S.
Unterscheidet automatisch aufwärts/abwärts anhand h0 vs h1.
"""
alpha_f = math.radians(alpha_f_deg)
alpha_s = math.radians(alpha_s_deg)
tan_f = math.tan(alpha_f)
tan_s = math.tan(alpha_s)
l_rest = l1 - l_es - l_as
if h1 >= h0:
# === AUFWÄRTS ===
# (2): H1 - H0 = H_F - H_S - H_ES - H_AS
delta_h = h1 - h0
nenner = tan_f + tan_s
if abs(nenner) < 1e-12:
return None
zaehler = (delta_h + h_es + h_as) + l_rest * tan_s
fall = "aufwärts"
else:
# === ABWÄRTS ===
# (2): H0 - H1 = H_ES + H_F + H_S + H_AS
delta_h = h0 - h1
nenner = tan_f - tan_s
if abs(nenner) < 1e-12:
return None
zaehler = (delta_h - h_es - h_as) - l_rest * tan_s
fall = "abwärts"
l_f = zaehler / nenner
l_s = l_rest - l_f
h_f = l_f * tan_f
h_s = l_s * tan_s
# Gegenprobe
if fall == "aufwärts":
probe = h_f - h_s - h_es - h_as # soll = H1-H0
else:
probe = h_es + h_f + h_s + h_as # soll = H0-H1
return {
"L_F": l_f, "L_S": l_s,
"H_F": h_f, "H_S": h_s,
"fall": fall, "delta_h": delta_h, "probe": probe,
}
def validierung(erg):
probleme = []
for key in ("L_F", "L_S", "H_F", "H_S"):
if erg[key] < 0:
probleme.append(f"{key} < 0")
# L_F und L_S dürfen auch nicht > L_rest sein (implizit durch L_S < 0)
return (len(probleme) == 0, probleme)
def md_tabelle(fall_name, h0_val, h1_val):
"""Erzeugt Markdown-Tabelle. Fall wird aus h0/h1 abgeleitet."""
l_rest = L1 - L_ES - L_AS
delta_h = abs(h1_val - h0_val)
richtung = "aufwärts" if h1_val >= h0_val else "abwärts"
lines = []
lines.append(f"### {fall_name}")
lines.append(f"H₀ = {h0_val:.3f} m, H₁ = {h1_val:.3f} m → **{richtung}**, "
f"ΔH = {delta_h:.4f} m, L_rest = {l_rest:.3f} m\n")
if richtung == "aufwärts":
lines.append("Formel: L_F = (ΔH + H_ES + H_AS + L_rest·tan α_S) / "
"(tan α_F **+** tan α_S)")
lines.append("")
lines.append("Probe: H_F H_S H_ES H_AS = ΔH\n")
else:
lines.append("Formel: L_F = (ΔH H_ES H_AS L_rest·tan α_S) / "
"(tan α_F **** tan α_S)")
lines.append("")
lines.append("Probe: H_ES + H_F + H_S + H_AS = ΔH\n")
lines.append("| α_F [°] | L_F [m] | L_S [m] | H_F [m] | H_S [m] | Probe | Status |")
lines.append("|--------:|--------:|--------:|--------:|--------:|------:|--------|")
for alpha_f_deg in ALPHA_F_LIST:
erg = berechne(h0_val, h1_val, L1, L_ES, H_ES, L_AS, H_AS,
alpha_f_deg, ALPHA_S)
if erg is None:
lines.append(f"| {alpha_f_deg} | — | — | — | — | — | ⚠ Nenner = 0 |")
continue
gueltig, probleme = validierung(erg)
status = "✓ gültig" if gueltig else f"✗ {', '.join(probleme)}"
lines.append(
f"| {alpha_f_deg} "
f"| {erg['L_F']:.4f} "
f"| {erg['L_S']:.4f} "
f"| {erg['H_F']:.4f} "
f"| {erg['H_S']:.4f} "
f"| {erg['probe']:.4f} "
f"| {status} |"
)
lines.append("")
return "\n".join(lines)
def grenzen():
"""Erzeugt Übersichtstabellen: für welche (ΔH, L1) Kombinationen
existieren gültige Lösungen? Zeigt den kleinsten gültigen α_F.
ΔH von 0..5 m, L1 von 3..15 m."""
delta_h_list = [0, 1, 2, 3, 4, 5]
l1_list = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
lines = []
for richtung in ("aufwärts", "abwärts"):
lines.append(f"### {richtung.capitalize()}\n")
lines.append("Zelle = kleinster gültiger α_F [°], "
"**—** = keine Lösung\n")
# Header
header = "| ΔH \\ L₁ |" + "|".join(f" {l1} m " for l1 in l1_list) + "|"
sep = "|--------:|" + "|".join("------:" for _ in l1_list) + "|"
lines.append(header)
lines.append(sep)
for dh in delta_h_list:
if richtung == "aufwärts":
h0, h1 = 0, dh
else:
h0, h1 = dh, 0
row = f"| {dh} m |"
for l1 in l1_list:
min_alpha = None
for alpha_f_deg in ALPHA_F_LIST:
erg = berechne(h0, h1, l1, L_ES, H_ES, L_AS, H_AS,
alpha_f_deg, ALPHA_S)
if erg is not None:
gueltig, _ = validierung(erg)
if gueltig:
min_alpha = alpha_f_deg
break
if min_alpha is not None:
row += f" {min_alpha}° |"
else:
row += " — |"
lines.append(row)
lines.append("")
return "\n".join(lines)
def main():
md = []
md.append("# Förderer-Berechnung (2D-Modell)\n")
md.append("## Gegebene Werte\n")
md.append("| Parameter | Wert |")
md.append("|-----------|-----:|")
md.append(f"| H₀ | {H0:.3f} m |")
md.append(f"| H₁ | {H1:.3f} m |")
md.append(f"| L₁ | {L1:.3f} m |")
md.append(f"| L_ES | {L_ES:.3f} m |")
md.append(f"| H_ES | {H_ES:.3f} m |")
md.append(f"| L_AS | {L_AS:.3f} m |")
md.append(f"| H_AS | {H_AS:.3f} m |")
md.append(f"| α_S | {ALPHA_S:.1f}° |")
md.append("")
md.append("## Ergebnisse\n")
# Fall 1: Aufwärts H0=2 → H1=5
md.append(md_tabelle("Fall 1: Aufwärts", h0_val=H0, h1_val=H1))
# Fall 2: Abwärts H0=5 → H1=2 (vertauscht!)
md.append(md_tabelle("Fall 2: Abwärts", h0_val=H1, h1_val=H0))
md.append("## Grenzen der Varianten\n")
md.append(grenzen())
result = "\n".join(md)
print(result)
if __name__ == "__main__":
main()
```
# Förderer-Berechnung (2D-Modell)
## Gegebene Werte
| Parameter | Wert |
|-----------|-----:|
| H₀ | 2.000 m |
| H₁ | 5.000 m |
| L₁ | 8.000 m |
| L_ES | 1.000 m |
| H_ES | 0.300 m |
| L_AS | 1.000 m |
| H_AS | 0.300 m |
| α_S | 3.0° |
## Ergebnisse
### Fall 1: Aufwärts
H₀ = 2.000 m, H₁ = 5.000 m → **aufwärts**, ΔH = 3.0000 m, L_rest = 6.000 m
Formel: L_F = (ΔH + H_ES + H_AS + L_rest·tan α_S) / (tan α_F **+** tan α_S)
Probe: H_F H_S H_ES H_AS = ΔH
| α_F [°] | L_F [m] | L_S [m] | H_F [m] | H_S [m] | Probe | Status |
|--------:|--------:|--------:|--------:|--------:|------:|--------|
| 3 | 37.3460 | -31.3460 | 1.9572 | -1.6428 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 6 | 24.8517 | -18.8517 | 2.6120 | -0.9880 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 9 | 18.5702 | -12.5702 | 2.9412 | -0.6588 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 12 | 14.7735 | -8.7735 | 3.1402 | -0.4598 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 15 | 12.2190 | -6.2190 | 3.2741 | -0.3259 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 18 | 10.3741 | -4.3741 | 3.3708 | -0.2292 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 24 | 7.8661 | -1.8661 | 3.5022 | -0.0978 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 27 | 6.9660 | -0.9660 | 3.5494 | -0.0506 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 33 | 5.5776 | 0.4224 | 3.6221 | 0.0221 | 3.0000 | ✓ gültig |
| 39 | 4.5401 | 1.4599 | 3.6765 | 0.0765 | 3.0000 | ✓ gültig |
| 45 | 3.7195 | 2.2805 | 3.7195 | 0.1195 | 3.0000 | ✓ gültig |
| 51 | 3.0408 | 2.9592 | 3.7551 | 0.1551 | 3.0000 | ✓ gültig |
### Fall 2: Abwärts
H₀ = 5.000 m, H₁ = 2.000 m → **abwärts**, ΔH = 3.0000 m, L_rest = 6.000 m
Formel: L_F = (ΔH H_ES H_AS L_rest·tan α_S) / (tan α_F **** tan α_S)
Probe: H_ES + H_F + H_S + H_AS = ΔH
| α_F [°] | L_F [m] | L_S [m] | H_F [m] | H_S [m] | Probe | Status |
|--------:|--------:|--------:|--------:|--------:|------:|--------|
| 3 | — | — | — | — | — | ⚠ Nenner = 0 |
| 6 | 39.5767 | -33.5767 | 4.1597 | -1.7597 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 9 | 19.6794 | -13.6794 | 3.1169 | -0.7169 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 12 | 13.0226 | -7.0226 | 2.7680 | -0.3680 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 15 | 9.6759 | -3.6759 | 2.5926 | -0.1926 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 18 | 7.6531 | -1.6531 | 2.4866 | -0.0866 | 3.0000 | ✗ L_S < 0, H_S < 0 |
| 24 | 5.3092 | 0.6908 | 2.3638 | 0.0362 | 3.0000 | ✓ gültig |
| 27 | 4.5624 | 1.4376 | 2.3247 | 0.0753 | 3.0000 | ✓ gültig |
| 33 | 3.4934 | 2.5066 | 2.2686 | 0.1314 | 3.0000 | ✓ gültig |
| 39 | 2.7537 | 3.2463 | 2.2299 | 0.1701 | 3.0000 | ✓ gültig |
| 45 | 2.2009 | 3.7991 | 2.2009 | 0.1991 | 3.0000 | ✓ gültig |
| 51 | 1.7637 | 4.2363 | 2.1780 | 0.2220 | 3.0000 | ✓ gültig |
## Grenzen der Varianten
| Parameter | Wert |
|-----------|-----:|
| ΔH | 0 … 5 m |
| L₁ | 3 … 15 m |
| α_S | 3° |
| L_ES, L_AS | 1.000 m |
| H_ES, H_AS | 0.300 m |
Zelle = kleinster gültiger α_F [°], **—** = keine Lösung
### Aufwärts
| ΔH \ L₁ | 3 m | 4 m | 5 m | 6 m | 7 m | 8 m | 9 m | 10 m | 11 m | 12 m | 13 m | 14 m | 15 m |
|--------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|
| 0 m | 33° | 18° | 12° | 9° | 9° | 6° | 6° | 6° | 6° | 6° | 6° | 3° | 3° |
| 1 m | — | 39° | 33° | 24° | 18° | 15° | 15° | 12° | 12° | 12° | 9° | 9° | 9° |
| 2 m | — | — | 45° | 39° | 33° | 24° | 24° | 24° | 18° | 15° | 15° | 15° | 12° |
| 3 m | — | — | 51° | 45° | 39° | 33° | 33° | 27° | 24° | 24° | 24° | 18° | 18° |
| 4 m | — | — | — | 51° | 45° | 39° | 39° | 33° | 33° | 27° | 24° | 24° | 24° |
| 5 m | — | — | — | — | 51° | 45° | 39° | 39° | 33° | 33° | 27° | 27° | 24° |
### Abwärts
| ΔH \ L₁ | 3 m | 4 m | 5 m | 6 m | 7 m | 8 m | 9 m | 10 m | 11 m | 12 m | 13 m | 14 m | 15 m |
|--------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|------:|
| 0 m | 33° | 18° | 12° | 9° | 9° | 6° | 6° | 6° | 6° | 6° | 6° | 3° | 3° |
| 1 m | 24° | 12° | 9° | 6° | 6° | 6° | 6° | — | — | — | — | — | — |
| 2 m | — | 39° | 27° | 24° | 18° | 15° | 12° | 12° | 9° | 9° | 9° | 9° | 9° |
| 3 m | — | 51° | 39° | 33° | 27° | 24° | 24° | 18° | 15° | 15° | 15° | 12° | 12° |
| 4 m | — | — | 51° | 45° | 39° | 33° | 27° | 24° | 24° | 24° | 18° | 18° | 15° |
| 5 m | — | — | — | 51° | 45° | 39° | 33° | 33° | 27° | 24° | 24° | 24° | 24° |
**Lücke bei ΔH = 1 m, L₁ ≥ 10 m:** Im Abwärts-Fall ist der Zähler der L_F-Formel
$(ΔH - H_{ES} - H_{AS}) - L_{rest} \cdot \tan(α_S)$. Bei ΔH = 1 m und L₁ = 10 m wird
$L_{rest}$ = 8 m und der Zähler = (1 0,3 0,3) 8 · tan 3° = 0,4 0,419 = 0,019.
Da der Nenner für alle α_F > 3° positiv ist, wird L_F negativ — es gibt keine gültige Lösung.
Weil bei so kleinem Höhenunterschied die Reststrecke mit 3°-Neigung allein schon mehr Höhe verbraucht als verfügbar ist.
Die Reststrecke allein erzeugt durch die 3°-Neigung der S-Strecke plus H_ES + H_AS bereits mehr Höhe als der verfügbare Höhenunterschied ΔH = 1 m hergibt.
+1 -1
View File
@@ -1 +1 @@
[{"id":"c_ILS","name":"ILS","hasShapes":false,"items":[{"id":"c_Kreiselmodule","name":"Kreisel-Module","hasShapes":true},{"id":"c_Zusatzmodul","name":"Zusatzmodul","hasShapes":true},{"id":"c_Foerderer","name":"Förderer","hasShapes":true},{"id":"c_Kurven","name":"Gefällestrecke","hasShapes":true}]},{"id":"c10","name":"PBU","hasShapes":true},{"id":"c_Background","name":"Background","hideName":true,"hasShapes":true},{"id":"c_Parts","name":"Parts","description":"Shapes used for creating new Assemblies while Session","hasShapes":true},{"id":"c_Session","name":"Session","hasShapes":true},{"id":"c_Omniflo","name":"Omniflo","hasShapes":false,"items":[{"id":"c_Boegen","name":"Bögen","hasShapes":true},{"id":"c_Gerade","name":"Aluprofil Gerade","hasShapes":true},{"id":"c_Weichen_90","name":"Weiche 90°","hasShapes":true},{"id":"c_Weichen_45","name":"Weiche 45°","hasShapes":true},{"id":"c_Weichen_Parallel","name":"Weichen Parallel","hasShapes":true},{"id":"c_Weichenkoerper","name":"Weichenkörper","hasShapes":true},{"id":"c_Weichenkombinationen","name":"Weichenkombinationen","hasShapes":true},{"id":"c_TEFElemente","name":"TEF Elemente","hasShapes":true}]},{"id":"c_OmnifloBogen","name":"Omniflo Bogen","hasShapes":true,"items":[{"id":"c_Boegen_90","name":"Bögen 90°","hasShapes":true}]},{"id":"c_OmnifloWeiche","name":"Omniflo Weiche","hasShapes":true}]
[{"id":"c_ILS","name":"ILS","hasShapes":false,"items":[{"id":"c_Kreiselmodule","name":"Kreisel-Module","hasShapes":true},{"id":"c_Zusatzmodul","name":"Zusatzmodul","hasShapes":true},{"id":"c_Foerderer","name":"Förderer","hasShapes":true},{"id":"c_Kurven","name":"Gefällestrecke","hasShapes":true}]},{"id":"c10","name":"PBU","hasShapes":true},{"id":"c_Background","name":"Background","hideName":true,"hasShapes":true},{"id":"c_Parts","name":"Parts","description":"Shapes used for creating new Assemblies while Session","hasShapes":true},{"id":"c_Session","name":"Session","hasShapes":true},{"id":"c_Omniflo","name":"Omniflo","hasShapes":false,"items":[{"id":"c_Boegen","name":"Bögen","hasShapes":true},{"id":"c_Gerade","name":"Aluprofil Gerade","hasShapes":true},{"id":"c_Weichen_90","name":"Weiche 90°","hasShapes":true},{"id":"c_Weichen_45","name":"Weiche 45°","hasShapes":true},{"id":"c_Weichen_Parallel","name":"Weichen Parallel","hasShapes":true},{"id":"c_Weichenkoerper","name":"Weichenkörper","hasShapes":true},{"id":"c_Weichenkombinationen","name":"Weichenkombinationen","hasShapes":true},{"id":"c_TEFElemente","name":"TEF Elemente","hasShapes":true},{"id":"c_KettenFoerderer","name":"KettenFörderer","hasShapes":true}]},{"id":"c_OmnifloBogen","name":"Omniflo Bogen","hasShapes":true,"items":[{"id":"c_Boegen_90","name":"Bögen 90°","hasShapes":true}]},{"id":"c_OmnifloWeiche","name":"Omniflo Weiche","hasShapes":true},{"id":"c_vario_vertikal_bogen","name":"Varioboegen vertikal","hasShapes":true}]
Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 B

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 527 B

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 465 B

After

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 B

After

Width:  |  Height:  |  Size: 540 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 B

After

Width:  |  Height:  |  Size: 180 B

Some files were not shown because too many files have changed in this diff Show More