Methode erzeugt um auf einen Rutsch alle Textdxf Dateien zu erzeugen

This commit is contained in:
2026-01-27 16:11:53 +01:00
parent 79ff6794db
commit 5f59433ac8
2 changed files with 37 additions and 11 deletions
+11 -11
View File
@@ -10,7 +10,7 @@ Aufgrund möglicher Änderungen im CSV-Dateiformat von RuleDesigner müssen in Z
Die Logik zur Bestimmung und Platzierung von AS- und ES-Elementen bei Gefällestrecken und Vario-Förderern basiert auf dem aktuellen CSV-Format. Bei Änderungen der Datenstruktur oder der verfügbaren Informationen müssen folgende Methoden in `as_es_methoden.py` überprüft und angepasst werden:
- `erstellung_gefaelle_block_verbunenden_am_einen()`: Erstellt AS/ES-Elemente für Gefällestrecken, die mit einem Kreisel verbunden sind
- `erstellung_gefaelle_block_verbunden_an_einen()`: Erstellt AS/ES-Elemente für Gefällestrecken, die mit einem Kreisel verbunden sind
- `gefaellegerade_erstellung()`: Erstellt AS/ES-Elemente für Gefällestrecken, die mit zwei Kreiseln verbunden sind
- `am_kreisel_direct_verbunden()`: Prüft, ob eine Gefällestrecke/Vario-Förderer direkt mit einem Kreisel verbunden ist (ohne Stahlband)
@@ -23,7 +23,7 @@ Die Höhenvergleiche zur Bestimmung der Verbindungsart zwischen Gefällestrecken
- `handle_ils_2_0_gefaellestrecke()`: Haupt-Handler für Gefällestrecken
- `handle_ils_2_0_variofoerderer()`: Haupt-Handler für Vario-Förderer
**Gefällestrecke-Methoden (`lib/Elemente/Gefaehllestrecke.py`):**
**Gefällestrecke-Methoden (`lib/Elemente/Gefaellestrecke.py`):**
- `rotation_mit_zwei_verbunden()`: Berechnet Rotation bei Verbindung mit zwei Kreiseln (verwendet Höhenvergleiche)
@@ -33,7 +33,7 @@ Die Höhenvergleiche zur Bestimmung der Verbindungsart zwischen Gefällestrecken
**Betroffene Dateien:**
- `lib/as_es_methoden.py`: AS/ES-Element-Berechnungen
- `lib/plant2dxf.py`: Handler-Funktionen für Gefällestrecken und Vario-Förderer
- `lib/Elemente/Gefaehllestrecke.py`: Höhenvergleiche und Verbindungslogik
- `lib/Elemente/Gefaellestrecke.py`: Höhenvergleiche und Verbindungslogik
- `lib/Elemente/VarioFoerderer.py`: Höhenvergleiche und Verbindungslogik
## Übersicht
@@ -505,7 +505,7 @@ msp.add_blockref(blockname, (x, y, z), dxfattribs={"rotation": rotation, "layer"
```python
msp.add_blockref("ILS_2.0_Gefaellestrecke_8200_2000_UZS_higher",
(x, y, hoehe_gefaehlle),
(x, y, hoehe_gefaelle),
dxfattribs={"rotation": rotation, "layer": "6-SP"})
```
@@ -536,13 +536,13 @@ if blockname not in doc.blocks:
**Beispiel:**
```python
blockname = f"Ils_2.0_Gefaellestrecke_{laenge}_{hoehe_gefaehlle}_{hat_motor_0}_{hat_umlenk_0}"
blockname = f"Ils_2.0_Gefaellestrecke_{laenge}_{hoehe_gefaelle}_{hat_motor_0}_{hat_umlenk_0}"
if blockname not in doc.blocks:
block = doc.blocks.new(name=blockname, base_point=(0, 0, 0))
# Füge Komponenten zum Block hinzu
block.add_blockref("Vario_Motorstation_500mm", (0, 0, 0))
line = Line.new(dxfattribs={"start": start, "end": ende})
line.translate(-x, -y, -hoehe_gefaehlle)
line.translate(-x, -y, -hoehe_gefaelle)
block.add_entity(line)
```
@@ -733,11 +733,11 @@ Die Methode `hat_motor_umlenk_station()` prüft, ob eine Gefällestrecke eine Mo
**Höhen-basierte Bestimmung:**
- Wenn `upper_hoehe_gefaehlle > lower_hoehe_gefaehlle`:
- Wenn `vario_hoehe_0` oder `vario_hoehe_1 == upper_hoehe_gefaehlle``hat_motor_0 = True`
- Wenn `upper_hoehe_gefaelle > lower_hoehe_gefaelle`:
- Wenn `vario_hoehe_0` oder `vario_hoehe_1 == upper_hoehe_gefaelle``hat_motor_0 = True`
- Sonst → `hat_umlenk_0 = True`
- Wenn `upper_hoehe_gefaehlle < lower_hoehe_gefaehlle`:
- Wenn `vario_hoehe_0` oder `vario_hoehe_1 == lower_hoehe_gefaehlle``hat_motor_0 = True`
- Wenn `upper_hoehe_gefaelle < lower_hoehe_gefaelle`:
- Wenn `vario_hoehe_0` oder `vario_hoehe_1 == lower_hoehe_gefaelle``hat_motor_0 = True`
- Sonst → `hat_umlenk_0 = True`
**Rotations-basierte Bestimmung (bei gleicher Höhe):**
@@ -797,7 +797,7 @@ Die Methode `ein_motor_oder_eine_umlenk()` erstellt die Motor- oder Umlenkstatio
Der Blockname wird dynamisch generiert:
```python
Ils_2.0_Gefaellestrecke_{laenge}_{hoehe_gefaehlle}_{hat_umlenk_0}_{hat_motor_0}_{tefkurve_0}_{umlenk_gerade}_{motor_gerade}
Ils_2.0_Gefaellestrecke_{laenge}_{hoehe_gefaelle}_{hat_umlenk_0}_{hat_motor_0}_{tefkurve_0}_{umlenk_gerade}_{motor_gerade}
```
#### 4. Block-Erstellung