Commit Graph
12 Commits
Author SHA1 Message Date
Michael StanglandClaude Opus 5.5 5a13595289 export: ein Schalter fuer Hilfskopien, Test-Menue ueber Funktionsaufruf
- csv_leave_proxies ist der einzige Schalter, der Export-Hilfskopien
  (Separator-/Element-Kopien, Einheiten-Proxies) stehen laesst; Standard
  jetzt 0 = aufraeumen. Die zwei gleichwirkenden Dialog-Haken
  (*csv-export-pruef-zuordnung*/*csv-export-elemente-behalten*) entfallen,
  CSV_EXPORT_KONFIG schaltet mit einem Haken denselben Debug-Schalter.
- Unit-Test fuer csv:hilfskopien-behalten-p/-setzen
- Test-Menue: (load ...) (c:TEST_...) statt Befehlsname direkt nach dem
  load - BricsCAD registriert den per load definierten Befehl erst nach
  Rueckkehr zur Kommandozeile ("Befehl nicht erkannt" bei TEST_EXPORT_ALL)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 22:17:30 +02:00
Samer AyadiandClaude Sonnet 5 618ff3d86c sepliste: Bauteil-IDs eintragen, AS/ES ueber dauerhaften Marker sichtbar machen
Stufe 1 (LISP-Export-Pfad): export_raw.json enthaelt jetzt fuer jeden
sepliste-Eintrag (AS/SEP/ES) einer VF_n/GF_n-Kette die ID des realen
Bauteils, das ihn vertritt.

- csv:sep-proxies-erzeugen (Separatoren) und die neuen AS/ES-Marker teilen
  sich csv:nested-welt-records/csv:block-einfuegen-welt zur Platzierung.
- csv:sepliste-paare ordnet sepliste-Eintraege ihrem Bauteil exklusiv nach
  Abstand zu (kuerzester zuerst, dann verbraucht) statt "jeder Eintrag
  nimmt sich das naechste" - ein einzelner fehlerhafter Koordinatenwert
  (bekannter Bug: gespiegeltes x bei lfdnr=2) verschiebt dadurch keine
  andere Zuordnung mehr.
- Neu: ZZ_ASES_MARKER - ein kleines Rechteck an jedem AS/ES-Kettenende,
  das nach dem Export STEHEN BLEIBT (anders als die temporaeren
  Separator-Kopien). Macht das sonst unsichtbare, in der Wrapper-
  Blockdefinition verpackte Kettenende in BricsCAD sichtbar/anklickbar
  und traegt seine ID unsichtbar am Attribut ID - dadurch behaelt ein
  AS/ES seine TeileId ueber Exportlaeufe hinweg. Wird bei jedem Export
  neu aufgebaut (Lage folgt der Kette), Wiederfund ueber ZUORDNUNG+TYP+
  LFDNR, verwaiste Marker werden entfernt.

In BricsCAD verifiziert (5 HundM05-Ketten, zwei Exportlaeufe: gleiche
Marker-IDs, korrekte sepliste-"id"-Felder). Dabei einen realen Bug
gefunden und behoben: die Blockdefinition des Markers uebernahm ueber
einen ungefilterten entnext-Walk versehentlich auch die Attribute des
zuletzt eingefuegten Blocks (VF_5 verlor dadurch alle Attribute inkl.
ID) - jetzt auf LWPOLYLINE/ATTDEF gefiltert.

9 neue zeichnungsfreie Unit-Tests (csv:sepliste-paare/*, csv:asmark-
finden/*, csv:proxy-typ/*), 4 neue de/en-Textschluessel (Paritaet
geprueft). bin\run_tests.bat --lisp: 257/257 bestanden.

Noch nicht enthalten (Stufe 2, Python): map_separator_kette_items nutzt
das neue "id"-Feld noch nicht, build_strecke_schleus_items synthetisiert
AS/ES-Zeilen weiterhin selbst statt die exportierten zu lesen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 13:09:05 +02:00
Michael StanglandClaude Opus 4.8 d0fe890d7c Start-Ausgabe entschlacken: per-Modul-Banner auf je eine Zeile kuerzen
Der SSG_LIB-Start gab ~50 Zeilen aus (mehrzeilige >>> ...geladen <<<-Banner mit
Befehlslisten/Block-Pfaden, ===-Trenner, Core-Modul-Auflistung, VarioFoerderer-
Typenliste). Fuer einen einfachen _QNEW-Start zu viel Rauschen.

Gekuerzt (nur die dicksten Bloecke, je Modul bleibt EINE knappe Zeile;
Fehler/Warnungen ALLE unveraendert erhalten):
- Kern-Module (ssg_core/dbg/dialog/layer/id): reine "X geladen"-Zeilen entfernt.
- Feature-Module: KreiselInsert/Gefaellestrecke/VarioFoerderer je auf eine
  ">>> X geladen"-Zeile; Befehlslisten, Modus-/Typen-Aufzaehlungen, Block-Pfade
  und ===-Trenner raus. VF-Submodule (vf_konstanten/standard/etage/linienzug/
  spec) Lade-Banner ganz entfernt (der Sammel-Header deckt sie ab).
- SSG_LIB_Commands "Dummy-Befehle registriert" entfernt.
- menu/SSG_LIB.mnl: ===-Trenner + Core-Auflistung raus; die doppelte
  "Einfuege-Modus 3D"-Zeile entfernt (S:STARTUP gibt sie ohnehin einmal aus).

Behalten (informativ / diagnostisch): [CFG] Config geladen: N Sektionen,
[LANG] N Texte geladen, alle FEHLER/WARNUNG-Zeilen, die Abschlusszeilen
"Alle Module geladen. Menue aktiv." + "Einfuege-Modus: 3D".

Reine Ausgabe-Reduktion, keine Logik geaendert. 243/243 LISP-Unit-Tests gruen;
alle Module laden fehlerfrei (Klammerbalance gegen HEAD unveraendert).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-18 22:13:33 +02:00
Michael StanglandClaude Sonnet 5 f92c80d82a 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>
2026-08-27 11:25:47 +02:00
Michael StanglandClaude Sonnet 5 4238509e7d Debug-Logging fuer VF-Linienzug Modus 1 und Modus 3
Zentrale Debug-Schalter-Sammlung (*dbg-schalter*, Default AUS) in
ssg_dbg.lsp: dbg-schalter-on/-off/-p/-open/-liste. dbg*-Aufrufe bleiben
dauerhaft im Code, ohne im Normalbetrieb .dbg-Dateien zu erzeugen.

Modus 1 (vf-linienzug-modus): Session-Logging ueber Schalter
"vfl-modus1" nach DXFM_LOG/vfl_modus1.dbg. Da alle interaktiven
Eingaben bereits ueber die gemeinsamen vfl-in-point/-string/-real/
-int/-value/-selection-Wrapper laufen, reicht eine einzige
Instrumentierung in vfl-journal-record/-mark/-steplabel, um jede
Frage/Antwort automatisch mitzuloggen.

Modus 3 (vf-linienzug-modus3): auf dieselben vfl-in-*-Wrapper
umgestellt (vorher rohe getstring/getreal/getint/ssget) - profitiert
dadurch vom selben automatischen Logging (Schalter "vfl-modus3",
DXFM_LOG/vfl_modus3.dbg). Kein Journal-Replay/XDATA wie bei Modus 1/2,
nur das Logging wurde uebernommen. Fix nebenbei: Dialog-Kopfzeile
"Hoehe (Z) des Endpunkts [%1]" zeigte den Platzhalter woertlich statt
des Vorschlagswerts (ssg-text statt ssg-textf).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 10:59:10 +02:00
Michael StanglandClaude Sonnet 5 74ed3d4988 [FIX] dbgopen/dbgclose: robuster Zeitstempel statt stillem Platzhalter
Die erste/letzte Zeile der .dbg-Datei ("=== DEBUG START/ENDE ...") hatte
schon einen Zeitstempel, fiel aber bei nil-Rueckgabe von menucmd (DIESEL
edtime, z.B. ohne aktiven Grafikbildschirm) auf den nichtssagenden
Platzhalter "(kein Zeitstempel)" zurueck. Neue Hilfsfunktion
dbg-timestamp faellt stattdessen auf die Systemvariable CDATE zurueck
und wird von dbgopen/dbgclose gemeinsam genutzt (vorher dupliziert).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 15:31:23 +02:00
Michael Stangl fb64ea1b16 PYHTONHOME und PYTHONPATH aus Umgebung rausgeworfen. Wenn die .venv verwendet wird ist das ein problem. 2026-06-10 16:12:54 +02:00
Michael Stangl 40b430ee73 Startup Skript so modifiziert, dass Lisp files als Fallback geladen werden 2026-06-03 10:06:09 +02:00
Michael Stangl f1c3e5f060 Startup-Sequenz geändert, um ein Debugfile möglichst früh zu haben 2026-06-02 13:14:00 +02:00
Michael Stangl 3aed8fe176 debug beim Varioförderer dazu. dbgreturn routine gibt den Wert zurück. neues Test Konzept für unsere lisp Funktionen implementiert 2026-05-28 17:34:02 +02:00
Michael Stangl 590e197557 lisp dbg library um ein paar Einträge gefixt. dbg lib wird geladen und initalisiert. .dbg file erscheint im logs Ordner. Fix zu den verlorenden Attributen des Kreisels 2026-05-26 13:43:43 +02:00
Michael Stangl 552da72011 erste fassung einer .dbg library für lisp Programme erzeugt 2026-05-26 12:18:49 +02:00