attradd.py und add_attr.bat in set_attributs.py/.bat umbenannt
lib/attradd.py -> lib/set_attributs.py: Name besser passend zum Skript-Zweck (setzt Attribute, analog set_einfuegepkt / set_koords). bin/add_attr.bat -> bin/set_attributs.bat entsprechend angepasst. cfg/attradd.cfg: Kommentar auf neuen Skriptnamen aktualisiert. HOEHE/DREHUNG-Eintraege aus [bogen] und [weiche] entfernt, da diese Attribute jetzt dynamisch via ssg-cfg-or aus component_defaults.json bezogen werden (nicht mehr als statische ATTDEF-Defaults noetig). Ebenso RADIUS aus [weiche] entfernt (war redundant zu KurvenWinkel). doc/tools.md und CLAUDE.md: Alle Verweise auf attradd.py auf set_attributs.py aktualisiert. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+62
-28
@@ -35,7 +35,7 @@ Diese Werkzeuge ermöglichen die massenhafte Aufbereitung von einzelnen dxf Date
|
||||
- [--number SIVASNR](#--number-sivasnr-1)
|
||||
- [Uebersicht K-Zuordnung](#uebersicht-k-zuordnung)
|
||||
- [Umgebungsvariablen](#umgebungsvariablen-1)
|
||||
- [attradd](#attradd)
|
||||
- [set_attributs](#set_attributs)
|
||||
- [Aufruf](#aufruf-2)
|
||||
- [Datenquellen](#datenquellen-2)
|
||||
- [Ablauf](#ablauf-2)
|
||||
@@ -149,7 +149,7 @@ Alle 107 Items (27 Boegen + 80 Weichen) sind exklusiv genau einem Schalter zugeo
|
||||
## Uebersicht aller Schalter
|
||||
|
||||
| Schalter | Items | WeichenTyp | KurvenWinkel | Einfuegepunkt-Kriterium |
|
||||
|---|---|---|---|---|
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `--boegen` | 27 | - | 22.5, 45, 67.5, 90, 180 | Tangentenschnittpunkt am Bogen (180: Mittelpunkt) |
|
||||
| `--weichen45` | 32 | Einzel-, Doppel-, Dreiwegeweiche | 45 | Tangente oberer Bogenpunkt x laengste Vertikale |
|
||||
| `--weichen90` | 24 | Einzel-, Doppel-, Dreiwegeweiche | 90 | Tangente oberer Bogenpunkt x laengste Vertikale |
|
||||
@@ -259,7 +259,7 @@ Nur die angegebene 9-stellige Sivasnr verarbeiten. Kombinierbar mit jedem Schalt
|
||||
## Uebersicht K-Zuordnung
|
||||
|
||||
| K | Boegen | Weichen | Weichenkoerper | Dreifach/Delta/Stern |
|
||||
|---|---|---|---|---|
|
||||
| --- | --- | --- | --- | --- |
|
||||
| K1 | Oberste H-Linie (rz=0) | Unterste V-Linie (rz=90) | Unterste V-Linie (rz=90) | Unterste V-Linie (rz=90) |
|
||||
| K2 | Anderes Kettenende | Linker Bogenzweig | Linke Diagonale | Linkes H-Linienende |
|
||||
| K3 | - | Rechter Bogenzweig (2+ Boegen) | Rechte Diagonale (2+ Diag.) | Rechtes H-Linienende |
|
||||
@@ -274,14 +274,14 @@ Nur die angegebene 9-stellige Sivasnr verarbeiten. Kombinierbar mit jedem Schalt
|
||||
|
||||
---
|
||||
|
||||
# attradd
|
||||
# set_attributs
|
||||
|
||||
Fuegt Attribute (ATTDEF) zu allen Omniflo DXF-Dateien hinzu. Die Attribut-Tags und deren Werte werden ueber eine Konfigurationsdatei gesteuert.
|
||||
|
||||
## Aufruf
|
||||
|
||||
```
|
||||
python lib/attradd.py [--number SIVASNR] [--dry-run]
|
||||
python lib/set_attributs.py [--number SIVASNR] [--dry-run]
|
||||
```
|
||||
|
||||
## Datenquellen
|
||||
@@ -303,34 +303,68 @@ python lib/attradd.py [--number SIVASNR] [--dry-run]
|
||||
|
||||
## Konfiguration (attradd.cfg)
|
||||
|
||||
Die Config-Datei ist im INI-Format mit Abschnitten je Elementtyp:
|
||||
|
||||
```ini
|
||||
[bogen]
|
||||
BESCHR = ProfilTyp
|
||||
ARTINR = Sivasnr
|
||||
TEILEART = "Omniflo Kurve"
|
||||
LAYER = "A-OF-Bogen"
|
||||
RADIUS = Radius
|
||||
WINKEL = KurvenWinkel
|
||||
SIVASNR_TEF = SivasnrTEF
|
||||
|
||||
[weiche]
|
||||
BESCHR = ProfilTyp
|
||||
ARTINR = Sivasnr
|
||||
TEILEART = "Omniflo Weiche"
|
||||
LAYER = "A-OF-Weiche"
|
||||
WEICHENTYP = WeichenTyp
|
||||
WINKEL = KurvenWinkel
|
||||
RADIUS = Breite
|
||||
SIVASNR_TEF = SivasnrTEF
|
||||
```
|
||||
|
||||
Die Config-Datei ist im INI-Format mit Abschnitten je Elementtyp.
|
||||
Quellwerte koennen sein:
|
||||
- **JSON-Feldname** (z.B. `ProfilTyp`) - Wert wird aus dem JSON-Eintrag gelesen
|
||||
- **Fester Text** in Anfuehrungszeichen (z.B. `"Omniflo Kurve"`)
|
||||
- **Platzhalter** `{sivasnr}` - wird durch die Sivasnr ersetzt
|
||||
|
||||
### Attribute Omniflo Kurve (Bogen)
|
||||
|
||||
| ATTDEF-Tag | Quelle | Beschreibung |
|
||||
| --- | --- | --- |
|
||||
| `BESCHR` | `ProfilTyp` | Profilbezeichnung aus JSON |
|
||||
| `ARTINR` | `Sivasnr` | Sivas-Artikelnummer |
|
||||
| `TEILEART` | `"Omniflo Kurve"` | Fester Typname |
|
||||
| `RADIUS` | `Radius` | Kurvenradius in mm |
|
||||
| `WINKEL` | `KurvenWinkel` | Kurvenwinkel in Grad |
|
||||
| `SIVASNR_TEF` | `SivasnrTEF` | Sivas-Nr. des TEF-Antriebs (leer = kein Antrieb) |
|
||||
| `HOEHE` | `"2000"` | Montagehoehe in mm (wird beim Export aus Z-Koordinate aktualisiert) |
|
||||
| `DREHUNG` | `"0"` | Drehwinkel in Grad (wird beim Export aus CAD-Rotation aktualisiert) |
|
||||
| `LAYER` | *(aus [layer])* | Layer-Name gemaess Kategorisierung |
|
||||
|
||||
### Attribute Omniflo Weiche
|
||||
|
||||
| ATTDEF-Tag | Quelle | Beschreibung |
|
||||
| --- | --- | --- |
|
||||
| `BESCHR` | `ProfilTyp` | Profilbezeichnung aus JSON |
|
||||
| `ARTINR` | `Sivasnr` | Sivas-Artikelnummer |
|
||||
| `TEILEART` | `"Omniflo Weiche"` | Fester Typname |
|
||||
| `WEICHENTYP` | `WeichenTyp` | Weichentyp (Einzelweiche, Doppelweiche, Dreiwegeweiche, ...) |
|
||||
| `WINKEL` | `KurvenWinkel` | Kurvenwinkel in Grad |
|
||||
| `RICHTUNG` | `KurvenRichtung` | Richtungskennung (1=Links, 2=Rechts, 3=Beide, 7=Dreiweg) |
|
||||
| `SIVASNR_TEF` | `SivasnrTEF` | Sivas-Nr. des TEF-Antriebs (leer = kein Antrieb) |
|
||||
| `HOEHE` | `"2000"` | Montagehoehe in mm (wird beim Export aus Z-Koordinate aktualisiert) |
|
||||
| `DREHUNG` | `"0"` | Drehwinkel in Grad (wird beim Export aus CAD-Rotation aktualisiert) |
|
||||
| `LAYER` | *(aus [layer])* | Layer-Name gemaess Kategorisierung |
|
||||
|
||||
### CSV-Export-Felder (Merkmale)
|
||||
|
||||
Die Attribute werden beim CSV-Export (`export_csv.py` / `OMNI_EXPORT`) wie folgt in CSV-Merkmale ueberfuehrt.
|
||||
CSV-Format: `Elementnummer;TeileArt;TeileId;Bezeichnung;Anzahl;Merkmale`
|
||||
|
||||
**Omniflo Kurve:**
|
||||
|
||||
| Merkmal | Quelle | Typ |
|
||||
| --- | --- | --- |
|
||||
| `Kurvenwinkel` | JSON `KurvenWinkel` | float |
|
||||
| `Radius` | JSON `Radius` | float |
|
||||
| `Höhe` | Attribut `HOEHE` / Z-Koordinate | string |
|
||||
| `Drehung` | Attribut `DREHUNG` / CAD-Rotation | float |
|
||||
| `SivasNummer` | JSON `Sivasnr` | string |
|
||||
|
||||
**Omniflo Weiche:**
|
||||
|
||||
| Merkmal | Quelle | Typ |
|
||||
| --- | --- | --- |
|
||||
| `Weichentyp` | JSON `WeichenTyp` | string |
|
||||
| `Richtung` | JSON `KurvenRichtung` | string |
|
||||
| `Weichenwinkel` | JSON `KurvenWinkel` | float |
|
||||
| `Höhe` | Attribut `HOEHE` / Z-Koordinate | string |
|
||||
| `Drehung` | Attribut `DREHUNG` / CAD-Rotation | float |
|
||||
| `Antrieb Kurve` | `SivasnrTEF` != null | bool |
|
||||
| `SivasNummer` | JSON `Sivasnr` | string |
|
||||
|
||||
## Schalter
|
||||
|
||||
### --number SIVASNR / -n SIVASNR
|
||||
|
||||
Reference in New Issue
Block a user