TRO_EDIT/TRO_INSERT: ein Dialog mit Slot-Liste fuer alle TRO-Typen
- tro_edit.dcl: Kennung, Typ, Liste der Slots des Typs (aus *TRO-SLOTS* in tro_types.lsp) mit TeileId je Slot, Edit-Zeile, "Im Plan waehlen <" (naechstes Bauteil passender Art aus dem XRECORD SPS_SKEL_PARTS), +/- fuer Lagerlinien, Warnzeile (leer/doppelt/in anderem Marker) - Typwechsel behaelt gleichnamige Slots; gespeichert im Attribut SLOTS - TRO_INSERT nutzt denselben Dialog (Enter = Mitte der Bauteile), tro_insert.dcl entfaellt - tro_types.lsp neu erzeugt (sps_skel tro_annotate --emit-lisp) - Rueckweg nach sps_skel: tro_annotate --read-tros Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+26
-5
@@ -826,12 +826,33 @@ TRO-Marker (Block `TRO_SYM_<Typ>`) fuer `sps_skel`/`lib/tro_annotate.py`.
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
| --- | --- |
|
||||
| `c:TRO_INSERT` | Bestehende Blockdefinition an gewaehltem Punkt einfuegen, setzt ID/TYPE; bricht ab, wenn der Typ noch keine Blockdefinition in der Zeichnung hat (entsteht nur ueber `tro_annotate.py`) |
|
||||
| `c:TRO_EDIT` | ID/TYPE eines bestehenden Markers per Dialog aendern |
|
||||
| `c:TRO_INSERT` | Neuen Marker anlegen: Dialog wie TRO_EDIT, dann Einfuegepunkt (Enter = Mitte der gewaehlten Bauteile); bricht ab, wenn der Typ noch keine Blockdefinition in der Zeichnung hat (entsteht nur ueber `tro_annotate.py`) |
|
||||
| `c:TRO_EDIT` | Kennung, Typ und Bauteile je Slot eines bestehenden Markers per Dialog aendern |
|
||||
|
||||
Typliste kommt aus [`tro_types.lsp`](../Lisp/tro_types.lsp) (von
|
||||
`tro_annotate.py --emit-lisp` nach `DXFM_LISP` geschrieben). `SSG_BLOCKEDIT`
|
||||
leitet Blocknamen `TRO_*` zu `TRO_EDIT`.
|
||||
Ein Dialog (`dcl/tro_edit.dcl`) fuer alle TRO-Typen: statt einer Maske je
|
||||
Typ zeigt eine Liste die Slots des Typs (`separator1`, `switch1`,
|
||||
`scanner1`, `drive`, Lagerlinien `line1..N`) mit ihrem Bauteil (TeileId).
|
||||
Die Zeile darunter bearbeitet den gewaehlten Slot:
|
||||
|
||||
- **Im Plan waehlen <** schliesst den Dialog, nimmt einen Punkt und setzt
|
||||
das naechste Bauteil der passenden Art aus der Bauteiltabelle (XRECORD
|
||||
`SPS_SKEL_PARTS`, von `tro_annotate.py` in die Zeichnung gelegt) - eine
|
||||
Weiche laesst sich nicht in einen Separator-Slot waehlen.
|
||||
- **+ / - Lagerlinie** nur bei Typen mit Lagerlinien (PinStore_Auto,
|
||||
EmptyCarrBuffer); die Katalogzahl ist nur die Vorgabe.
|
||||
- Beim Typwechsel behalten gleichnamige Slots ihr Bauteil.
|
||||
- Leere Separatoren, doppelte Bauteile und Bauteile anderer Marker stehen
|
||||
als Warnung im Dialog; speichern geht trotzdem.
|
||||
|
||||
Gespeichert wird im Attribut `SLOTS` (`separator1=0010;switch1=0061;lines=0066,0069`);
|
||||
`KEY` ist der Schluessel fuer sps_skel und bleibt bei TRO_INSERT leer.
|
||||
Zurueck nach sps_skel: Zeichnung als DXF speichern,
|
||||
`tro_annotate --file <csv> --read-tros` (schreibt `cfg/tro_overrides.ini`).
|
||||
|
||||
Typliste, Slots je Typ (`*TRO-SLOTS*`) und Bauteilarten je Slot
|
||||
(`*TRO-SLOT-KINDS*`) kommen aus [`tro_types.lsp`](../Lisp/tro_types.lsp)
|
||||
(von `tro_annotate.py --emit-lisp` nach `DXFM_LISP` geschrieben).
|
||||
`SSG_BLOCKEDIT` leitet Blocknamen `TRO_*` zu `TRO_EDIT`.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user