Commit Graph

27 Commits

Author SHA1 Message Date
m.stangl 1d19121679 [FEAT] VF-Linienzug Modus 2+3: Segment-Gruppen-Dialoge + Highlight
Modus 2 (Pfad+Zielhoehe) und Modus 3 (Vorwaerts-Nachbau) fassen die je
Segment unmittelbar aufeinanderfolgenden Fragen (Typ + ggf. Neigung/
Vario-Winkel/Variante) in EINEM Wizard-DCL-Dialog zusammen - analog zu
Modus 1. Der Dialogkopf zeigt "Segment i/n ..."; das aktuelle Pfad-Segment
(LINE/ARC) wird vorher per redraw-Highlight in der Zeichnung hervorgehoben.

- Neue DCL-Dialoge: vflw_seg_linie_m2, vflw_seg_linie_m3, vflw_seg_bogen
- Neue Helfer: vflw-seg-*-impl (fuellen *vflw-pending*), vfl-seg-highlight,
  vfl-seg-kopf
- Modus 3 zusaetzlich: Kettenstart- und AS-Element-Gruppen-Dialog; AS-Winkel
  jetzt pending-aware ueber vfl-in-value
- Bogen-Dialog: vario-erlaubt-Flag (Modus 3 nur im offenen VF-Lauf), sonst
  wuerde die unkonsumierte Variante-Antwort ins naechste Segment lecken

Alles hinter (vfl-wizard-aktiv) - bei GUI-aus (Tests) faellt alles
unveraendert auf Konsole/Replay zurueck.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-31 16:45:25 +02:00
m.stangl 2f2cd5d714 [DOC] CLAUDE.md: vf_konstanten-Migrationsstatus korrigiert
Die Magic-Number-Migration im VF-Cluster ist inzwischen abgeschlossen
(Commit 41eea7f), CLAUDE.md sprach aber noch von 'Migration laeuft
schrittweise'. Beschreibung an den aktuellen, in vf_konstanten.lsp
selbst dokumentierten Stand angepasst (inkl. der dort gelisteten
bewussten Ausnahmen: Config-Anbindung, itoa-Kontexte, Blocknamen-
Strings, mm/m-Umrechnung).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-30 08:24:24 +02:00
m.stangl b0aad8e8f4 [DOC] Neue zentrale Bausteine + Test-Infrastruktur dokumentiert
CLAUDE.md:
- ssg_core: ssg-lisp-verzeichnis/-datei-pfad, ssg-rot-matrix-zy, GUI-Aus-Schalter
- neue Zeile ssg_ks_insert.lsp (gemeinsame KS-Extraktion + Einfuegeprimitiven)
- Lademechanismus: ssg_ks_insert in Kern-Reihenfolge (vor Gefaelle/VarioFoerderer)
- VarioFoerderer: vf-dialog-ablauf/-berechnen-einfuegen + vf-winkel-solve;
  vf_konstanten aktiv fuer *vfk-gf-bogen-winkel*/*vfk-as-es-winkel*

tests/README.md:
- alltests.json: Felder module + disabled dokumentiert, Beispiel aktualisiert
- Hinweis GUI-Aus (ssg-gui-aus/-an) waehrend automatischer Testlaeufe

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-29 13:57:11 +02:00
m.stangl 308d49fc96 VF-Linienzug: baubare Hoehen-Vorschlaege (Ab/Auf) statt unveraenderter Ist-Hoehe, negative Restlaenge nach AS-Element abgefangen
- Hoehe-Prompt/Wizard-Dialog schlagen jetzt zwei tatsaechlich baubare
  Zielhoehen vor (Ab/Auf) statt der unveraenderten Kettenhoehe, die bei
  direkter Uebernahme immer als deltaH=0 abgelehnt wurde (Linie-GF,
  Linie-VF, automatische Linie, VF-Kette fortsetzen, Kettenende-Abschluss)
- Nach dem AS-Element-Einfuegen kann die real gemessene Restlaenge negativ
  werden (Klickpunkt zu nah); Linie-GF und automatische Linie pruefen das
  jetzt und brechen sauber ab statt eine entartete GF-Strecke zu bauen
- Debug-Log (Modus 1) protokolliert jetzt Erfolg/Misserfolg der
  Geometrieerzeugung inkl. der verwendeten Werte
- Neue Lisp/vf_konstanten.lsp: zentrale, dokumentierte Sammlung aller
  Laengen-/Winkel-Magic-Numbers aus dem VarioFoerderer-Cluster als
  Nachschlagewerk (Module selbst noch unveraendert)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-27 13:27:25 +02:00
m.stangl e3dbaceb24 Wizard mit Oberflächenstückwerk für den Mode 3 für den VF gebaut 2026-08-26 11:33:19 +02:00
m.stangl 82ce795b53 Linienzug: Abbruch wickelt Teil-Geometrie statt sie zu loeschen; Editieren per DCL-Dialog
Abbruch (ESC) im Linienzug-Baumodus loescht die bereits eingefuegte
Geometrie nicht mehr, sondern wickelt sie wie ein fertiger Bau zu einem
VF_n-Block und schreibt das volle Eingabe-Journal als XDATA drauf
(vfl-modus-abbruch-sichern, ersetzt das bisherige Loesch-Rollback). Die
Teil-Kette bleibt damit stehen und ist sofort per Doppelklick weiter
editierbar/fortsetzbar - unabhaengig davon, ob der Abbruch beim frischen
Bauen oder mitten in einem Editier-Neuaufbau passiert. Der bisherige
Menuepunkt "Letzten Abbruch fortsetzen" (Session-Variable) entfaellt
dadurch ersatzlos.

vfl-edit-ent (Doppelklick-Editieren) fragt die Sektion, auf die
zurueckgesetzt werden soll, jetzt per neuem DCL-Dialog ab
(dcl/vfl_edit.dcl, vfl-dlg-position: Combobox 1..N + OK/Abbrechen) statt
per Text-Prompt. Vorbelegung auf die letzte Sektion, damit Doppelklick +
sofort OK einen abgebrochenen Bau nahtlos fortsetzt.

Die *error*-Handler-Installation wandert vor den allerersten Prompt
(vorher: nach Startpunkt/AS-Frage), damit ein ESC in diesem Fenster nicht
mehr auf den ungeschuetzten vorherigen Handler faellt. Das Wickeln im
Abbruch-Pfad ist per vl-catch-all-apply abgesichert, da vfl-block-erstellen
intern einen BKS-Wechsel per (command "_.UCS" ...) macht.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 22:06:17 +02:00
s.ayadi 7242e815f8 HundM05-Testfall und DXF-Analyse-Skripte
- lib/dxf_scan_components.py: erkennt ILS-/Omniflo-Komponenten in fremden
  Projektzeichnungen und schreibt sie im Testdaten-JSON-Schema aus
- lib/dxf_abbild.py: getreue Abbildung der Bauteile einer Fremdzeichnung
  (Attribute, Weltkoordinaten, Unterkomponenten) ohne Interpretation
- tests/test_hundm05.{lsp,py}, testdata/hundm05.json, conftest-Fixtures und
  alltests.json-Eintrag fuer den Kreisel-Abschnitt aus ST500592_05.dxf
- menu: TEST_HUNDM05 im Testmenue, Connection_Insert/Edit in SSG_LIB.cui
- Doku: hartkodierte Pfade durch (getenv "DXFMAKRO") ersetzt

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 12:10:58 +02:00
s.hensch 49652b2744 [ADD] ILS Zusatzmodule Einfügefunktion und 3D Modelle implementiert 2026-08-04 11:23:40 +02:00
m.stangl 046d34c4aa Etage: Batch-2D/3D-Umschaltung + Nachruest-Befehl fuer Bestandsbloecke
vf-konvertiere-ent waehlt die Einfuege-Funktion jetzt per XDATA-Typ aus der Registry (standard/etage) statt fest variofoerderer-einfuegen -> SSG_DIM_SWITCH schaltet auch Etage-Bloecke um.

Neuer Befehl VARIOFOERDERER_NACHRUESTEN (Alias VF_NACHRUESTEN, + Menueeintrag): markiert bestehende, vor der Marker-Einfuehrung gebaute VF_n-Bloecke nachtraeglich mit SSG_VF_EDIT (Typ aus Attributen erkannt, Baurichtung hz abgefragt) - danach editier- und dim-umschaltbar. Schreibt nur XDATA, keine Geometrieaenderung.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-03 16:36:00 +02:00
m.stangl 7f42ac2701 Etagenförderer auch editierbar gemacht. 2026-08-03 16:25:44 +02:00
s.ayadi 9c7dda8a37 Add TRO_INSERT command to hand-place new TRO markers
Lets the TRO menu insert a fresh TRO_SYM_<Typ> marker (point + type +
auto-suggested TROnn id) by reusing a block definition tro_annotate.py
already created, instead of only editing markers it placed.
2026-08-03 15:56:13 +02:00
s.ayadi efec00d4c6 Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros 2026-07-28 15:51:21 +02:00
s.ayadi 2b25f13a37 Angabe für die lisp dbg files in claude.md dazu 2026-07-28 15:51:18 +02:00
m.stangl d7bcfc3edb [ADD] dbg2lsp.py: AutoLISP-Funktionen automatisch mit ssg_dbg instrumentieren
Neues Entwickler-Tool (bin/dbg2lsp.bat + lib/dbg2lsp.py), das das manuelle
Einfuegen von dbgf/dbg/dbgreturn/dbgopen/dbgclose automatisiert:
- --method NAME: dbgf + dbg je Parameter + dbgreturn um die letzte Rumpf-Form
- --recursive: verfolgt den Aufrufgraphen ueber Dateigrenzen hinweg (Builtins
  werden automatisch uebersprungen, da sie kein defun im Suchpfad haben)
- --add-open DATEI METHODE: dbgopen/dbgclose fuer einen Einstiegspunkt
  (z.B. ein c:BEFEHL-Kommando), inkl. aller (exit)-Stellen
Dokumentiert in doc/dbg2lsp.md, Kurzeintrag in CLAUDE.md.

Ausserdem: set_attributs.py aus doc/tools.md und CLAUDE.md entfernt - das
Skript existiert nicht mehr in lib/.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-28 15:04:45 +02:00
y.wang 3e23003b24 Modus 1 GF/VF-Split: Menüpunkt Neue Linie aufgeteilt in GF-Linie und VF-Linie;Testdaten für Lineinzug_tests.json angepasst. weil der 26°-Gefälle-Testfall jetzt korrekt Option 2 (VF statt GF) wählt.;Neuer Befehl Vario_Kette_Merge: Verschmilzt mehrere einzeln gebaute VF_n-Blöcke via KS_AUS→KS_EIN-Nachbarschaft zu einem Gesamt-Block (aggregierte Attribute, Lücken-Erkennung),Neuer Menüeintrag: [Vario_Kette_Merge]^C^C(ssg-ensure VarioFoerderer) Vario_Kette_Merge 2026-07-27 09:23:33 +02:00
s.hensch b16c2e0fa1 [CHANGE] Verzeichnisse ILS 2d und 3d zusammengeführt und Funktionen entsprechend angepasst; TODO: Vario auf/ab Bögen schalten noch nicht korrekt zwischen 2d und 3d hin und her; TODO: Omniflo Verzeichnisse 2d/3d entsprechend genau so zusammenführen 2026-07-24 13:00:33 +02:00
m.stangl 5c28db9e91 Oberfläche für Standard von Varioförder und Gefällestrecke bauen lassen 2026-07-20 15:39:17 +02:00
m.stangl 9458382965 Sprachumschaltung von DE nach EN über Menü möglich gemacht 2026-07-15 15:11:02 +02:00
m.stangl f87260c605 .cfg Parser hinzu implementieren lassen. Spezifische Omniflo export routine die syncron in Lisp lief entfernt 2026-07-02 14:06:05 +02:00
m.stangl 5f4e73b3af bin/on_start.lsp geloescht + Dokumentation aktualisiert
on_start.lsp entfernt:
  Das Menue wird einmalig manuell per BricsCAD-Befehl _MENULOAD
  eingerichtet. BricsCAD speichert die Menuregistrierung dauerhaft.
  Ein externes Startup-Skript ist nicht mehr noetig.

Dokumentation aktualisiert:
  CLAUDE.md: Lademechanismus neu beschrieben mit _MENULOAD-Anleitung,
  Legacy-Liste bereinigt (on_start.lsp als entfernt eingetragen)
  Lisp/README.md: Ladereihenfolge durch Menueeinrichtungs-Anleitung
  ersetzt; ssg_load.lsp als Notfall-Alternative dokumentiert
  doc/LispTests.md: Verweis auf ssg_load.lsp und on_start bereinigt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 16:56:27 +02:00
m.stangl 0b501e5ea5 Anwendung der Erzeugung einer Id für jedes Element 2026-06-16 17:14:19 +02:00
m.stangl 176b775050 Claude und Readme aktualisiert 2026-06-15 15:54:22 +02:00
m.stangl 43aa34674f Veraltete Angaben in Claude.md berichtigt. Dokumentation erneuert 2026-06-15 15:50:29 +02:00
m.stangl fd58ef612f 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>
2026-06-12 11:25:28 +02:00
y.wang c014ef2f12 die Fehler in VarioFoerderer.lsp korrigiert. alle in ILS-LSP verwendete Block Dateien in data/ils/ konsolidiert. 2026-06-02 10:00:36 +02:00
m.stangl 35e4e707aa Beschreibung von Claude für das PRojekt ergänzt, da in zukunft mit python gearbeitet wird 2026-06-01 11:07:13 +02:00
m.stangl dd90c3b97f Allgmeine PRojektbeschreibung für Claude dazu 2026-05-28 16:11:38 +02:00