VF-Linienzug: Modus 2 loggen, Debug-Default auf AN, GF-Hoehenvorschlag-Bug behoben
Debug-Logging (Schalter vfl-modus1/2/3) ist jetzt standardmaessig AN statt AUS, damit nicht vor jeder Session manuell eingeschaltet werden muss. Modus 2 (vf-linienzug-modus2) war bisher nicht instrumentiert - Session-Open/Close und *error*-Handling analog Modus 1/3 ergaenzt; da Modus 2 durchgehend die vfl-in-*-Wrapper nutzt, wird das Eingabe-Logging automatisch ueber den vorhandenen vfl-journal-record-Hook mitgezogen. Bugfix: Der Hoehen-Vorschlag im GF-Zielhoehe-Dialog (Wizard + Konsole) war schlicht die unveraenderte Ist-Hoehe der Kette. Direkt uebernommen ergab das deltaH=0, was als "Auf" statt "Ab" gewertet und immer mit "kann nicht steigen" abgelehnt wurde - der Default war also nie baubar. Neue Hilfs- funktion vfl-gf-hoehe-vorschlag rundet auf volle mm ab und zieht bei bereits ganzzahligen Werten zusaetzlich 1mm ab, damit der Vorschlag garantiert unterhalb der Ist-Hoehe liegt. Ausserdem: unnoetige Anfuehrungszeichen aus den zugehoerigen Fehlermeldungen (de/en) entfernt. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+22
-19
@@ -192,12 +192,14 @@ Beispiel:
|
||||
(dbgclose)
|
||||
```
|
||||
|
||||
#### Zentrale Debug-Schalter (default AUS)
|
||||
#### Zentrale Debug-Schalter (default je nach Schalter)
|
||||
|
||||
Damit `dbg*`-Aufrufe dauerhaft im Code stehen bleiben können, ohne im
|
||||
Normalbetrieb `.dbg`-Dateien zu erzeugen, gibt es eine zentrale Schalter-Sammlung
|
||||
(`*dbg-schalter*`, Symbol → 0/1, alle standardmäßig 0/aus). Eine Routine öffnet
|
||||
ihre Debug-Datei nur, wenn ihr Schalter eingeschaltet ist.
|
||||
Normalbetrieb ungeplant `.dbg`-Dateien zu erzeugen, gibt es eine zentrale
|
||||
Schalter-Sammlung (`*dbg-schalter*`, Symbol → 0/1). Eine Routine öffnet ihre
|
||||
Debug-Datei nur, wenn ihr Schalter eingeschaltet ist. Unbekannte/neue Schalter
|
||||
gelten implizit als 0/aus; die VF-Linienzug-Schalter unten sind bewusst mit
|
||||
Default 1/an vorregistriert (siehe Tabelle).
|
||||
|
||||
| Funktion | Beschreibung |
|
||||
| --- | --- |
|
||||
@@ -209,25 +211,26 @@ ihre Debug-Datei nur, wenn ihr Schalter eingeschaltet ist.
|
||||
|
||||
Bekannte Schalter:
|
||||
|
||||
| Schalter | Modul | Loggt nach |
|
||||
| --- | --- | --- |
|
||||
| `"vfl-modus1"` | Linienzug Modus 1 (manuelle Eingabe, `vf-linienzug-modus`) | `DXFM_LOG/vfl_modus1.dbg` |
|
||||
| `"vfl-modus3"` | Linienzug Modus 3 (Vorwärts-Nachbau, `vf-linienzug-modus3`) | `DXFM_LOG/vfl_modus3.dbg` |
|
||||
| Schalter | Default | Modul | Loggt nach |
|
||||
| --- | --- | --- | --- |
|
||||
| `"vfl-modus1"` | **AN (1)** | Linienzug Modus 1 (manuelle Eingabe, `vf-linienzug-modus`) | `DXFM_LOG/vfl_modus1.dbg` |
|
||||
| `"vfl-modus2"` | **AN (1)** | Linienzug Modus 2 (3D-Objekte + Ziel-Höhe, `vf-linienzug-modus2`) | `DXFM_LOG/vfl_modus2.dbg` |
|
||||
| `"vfl-modus3"` | **AN (1)** | Linienzug Modus 3 (Vorwärts-Nachbau, `vf-linienzug-modus3`) | `DXFM_LOG/vfl_modus3.dbg` |
|
||||
|
||||
Modus 1 (und baugleich Modus 2) loggen automatisch **jede** interaktive Eingabe,
|
||||
weil beide ausschließlich über die gemeinsamen Wrapper `vfl-in-point`/`-string`/
|
||||
`-real`/`-int`/`-value`/`-selection` gehen, die zentral in `vfl-journal-record`
|
||||
Alle drei Modi loggen automatisch **jede** interaktive Eingabe, weil sie
|
||||
durchgehend über die gemeinsamen Wrapper `vfl-in-point`/`-string`/`-real`/
|
||||
`-int`/`-value`/`-selection` gehen, die zentral in `vfl-journal-record`
|
||||
protokolliert werden – keine einzelne Aufrufstelle im Bau-Ablauf musste dafür
|
||||
angefasst werden. Modus 3 ist bewusst reine Konsole (`getstring`/`getreal`/
|
||||
`getint`, kein Journal) und wird stattdessen direkt in `vf-linienzug-modus3`
|
||||
mit eigenen `dbgmsg`-Aufrufen an jeder Frage/Antwort geloggt.
|
||||
angefasst werden. Da der Default AN ist, wird bei jedem Aufruf von
|
||||
`FOERDERANLAGE` → `linienzug` ohne weiteres Zutun mitgeloggt; bei Bedarf
|
||||
einzeln abschaltbar mit `(dbg-schalter-off "vfl-modus1")` usw.
|
||||
|
||||
```lisp
|
||||
;; In der BricsCAD-Konsole VOR dem Befehl FOERDERANLAGE:
|
||||
(dbg-schalter-on "vfl-modus1")
|
||||
;; ... FOERDERANLAGE -> linienzug -> Modus 1 durchspielen ...
|
||||
;; -> Datei DXFM_LOG/vfl_modus1.dbg enthält Session + alle Eingaben
|
||||
(dbg-schalter-off "vfl-modus1") ; wieder abschalten
|
||||
;; Standardmaessig bereits an - nur zur Kontrolle:
|
||||
(dbg-schalter-liste)
|
||||
;; ... FOERDERANLAGE -> linienzug -> Modus 1/2/3 durchspielen ...
|
||||
;; -> Datei DXFM_LOG/vfl_modus<N>.dbg enthält Session + alle Eingaben
|
||||
(dbg-schalter-off "vfl-modus1") ; bei Bedarf einzeln abschalten
|
||||
```
|
||||
|
||||
Muster in einer Routine:
|
||||
|
||||
Reference in New Issue
Block a user