Methode erzeugt um auf einen Rutsch alle Textdxf Dateien zu erzeugen
This commit is contained in:
@@ -0,0 +1,26 @@
|
|||||||
|
@echo off
|
||||||
|
CALL setenv.bat
|
||||||
|
|
||||||
|
echo ========================================
|
||||||
|
echo Creating all test DXF files from testdata
|
||||||
|
echo Output directory: %PROJECT_WORK%
|
||||||
|
echo ========================================
|
||||||
|
echo.
|
||||||
|
|
||||||
|
REM Iterate through all CSV files in testdata directory
|
||||||
|
for %%f in (%PROJECT_TEST%\*.csv) do (
|
||||||
|
echo Processing: %%~nxf
|
||||||
|
CALL plant2dxf.bat -f "%%f" -o "%PROJECT_WORK%\%%~nf.dxf"
|
||||||
|
if errorlevel 1 (
|
||||||
|
echo ERROR: Failed to process %%~nxf
|
||||||
|
echo.
|
||||||
|
) else (
|
||||||
|
echo SUCCESS: Created %%~nf.dxf in work folder
|
||||||
|
echo.
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
echo ========================================
|
||||||
|
echo All test DXF files processed!
|
||||||
|
echo ========================================
|
||||||
|
pause
|
||||||
@@ -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:
|
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
|
- `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)
|
- `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_gefaellestrecke()`: Haupt-Handler für Gefällestrecken
|
||||||
- `handle_ils_2_0_variofoerderer()`: Haupt-Handler für Vario-Förderer
|
- `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)
|
- `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:**
|
**Betroffene Dateien:**
|
||||||
- `lib/as_es_methoden.py`: AS/ES-Element-Berechnungen
|
- `lib/as_es_methoden.py`: AS/ES-Element-Berechnungen
|
||||||
- `lib/plant2dxf.py`: Handler-Funktionen für Gefällestrecken und Vario-Förderer
|
- `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
|
- `lib/Elemente/VarioFoerderer.py`: Höhenvergleiche und Verbindungslogik
|
||||||
|
|
||||||
## Übersicht
|
## Übersicht
|
||||||
@@ -505,7 +505,7 @@ msp.add_blockref(blockname, (x, y, z), dxfattribs={"rotation": rotation, "layer"
|
|||||||
|
|
||||||
```python
|
```python
|
||||||
msp.add_blockref("ILS_2.0_Gefaellestrecke_8200_2000_UZS_higher",
|
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"})
|
dxfattribs={"rotation": rotation, "layer": "6-SP"})
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -536,13 +536,13 @@ if blockname not in doc.blocks:
|
|||||||
**Beispiel:**
|
**Beispiel:**
|
||||||
|
|
||||||
```python
|
```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:
|
if blockname not in doc.blocks:
|
||||||
block = doc.blocks.new(name=blockname, base_point=(0, 0, 0))
|
block = doc.blocks.new(name=blockname, base_point=(0, 0, 0))
|
||||||
# Füge Komponenten zum Block hinzu
|
# Füge Komponenten zum Block hinzu
|
||||||
block.add_blockref("Vario_Motorstation_500mm", (0, 0, 0))
|
block.add_blockref("Vario_Motorstation_500mm", (0, 0, 0))
|
||||||
line = Line.new(dxfattribs={"start": start, "end": ende})
|
line = Line.new(dxfattribs={"start": start, "end": ende})
|
||||||
line.translate(-x, -y, -hoehe_gefaehlle)
|
line.translate(-x, -y, -hoehe_gefaelle)
|
||||||
block.add_entity(line)
|
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:**
|
**Höhen-basierte Bestimmung:**
|
||||||
|
|
||||||
- Wenn `upper_hoehe_gefaehlle > lower_hoehe_gefaehlle`:
|
- Wenn `upper_hoehe_gefaelle > lower_hoehe_gefaelle`:
|
||||||
- Wenn `vario_hoehe_0` oder `vario_hoehe_1 == upper_hoehe_gefaehlle` → `hat_motor_0 = True`
|
- Wenn `vario_hoehe_0` oder `vario_hoehe_1 == upper_hoehe_gefaelle` → `hat_motor_0 = True`
|
||||||
- Sonst → `hat_umlenk_0 = True`
|
- Sonst → `hat_umlenk_0 = True`
|
||||||
- Wenn `upper_hoehe_gefaehlle < lower_hoehe_gefaehlle`:
|
- Wenn `upper_hoehe_gefaelle < lower_hoehe_gefaelle`:
|
||||||
- Wenn `vario_hoehe_0` oder `vario_hoehe_1 == lower_hoehe_gefaehlle` → `hat_motor_0 = True`
|
- Wenn `vario_hoehe_0` oder `vario_hoehe_1 == lower_hoehe_gefaelle` → `hat_motor_0 = True`
|
||||||
- Sonst → `hat_umlenk_0 = True`
|
- Sonst → `hat_umlenk_0 = True`
|
||||||
|
|
||||||
**Rotations-basierte Bestimmung (bei gleicher Höhe):**
|
**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:
|
Der Blockname wird dynamisch generiert:
|
||||||
|
|
||||||
```python
|
```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
|
#### 4. Block-Erstellung
|
||||||
|
|||||||
Reference in New Issue
Block a user