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
c915a4031f
Contextmenü für die Rechte Maustaste eingeführt um Elemente zu bearbeiten
2026-06-15 14:30:55 +02:00
m.stangl
b829b7e961
Attribut Winkel war noch nicht unsichtbar
2026-06-15 14:26:49 +02:00
m.stangl
59afa230c3
Alle Attribute entsprechend der Sivasnummer hinzugefügt. Alle als Unsichtbar und Konstant deklariert
2026-06-15 12:52:46 +02:00
m.stangl
2ceea62262
set_attributes.py baut jetzt einen Block der bei Klick alle seine Attribute anzeigt.
2026-06-12 17:57:48 +02:00
m.stangl
b9a33def8b
Doku der Tools aktualisiert
2026-06-12 17:57:07 +02:00
m.stangl
2f583a96cb
Lisp/README.md als Doku der LispFunktionen erneuert. set_attr.py baut jetzt einen einzigen Block der alle Geometrie und die Attribute enthält.
2026-06-12 17:25:22 +02:00
m.stangl
7a13171714
logs/ und results/ zur .gitignore hinzugefuegt
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 11:29:18 +02:00
m.stangl
041d292681
Omniflo-Testsuite hinzugefuegt (Python + AutoLISP)
...
tests/test_omniflo.py (350 Zeilen):
Python-Tests fuer den Omniflo Bogen/Weiche Export. Testet:
- Unit-Tests fuer build_bogen_merkmale / build_weiche_merkmale gegen
Testdefinitionen aus omniflo_tests.json (kein BricsCAD erforderlich)
- Merkmale-Werte gegen den JSON-Katalog (omniflo_boegen/weichen.json)
- Korrekte Anzahl und Reihenfolge der Elemente in process_blocks()
- CSV-Ausgabeformat (Header, Spaltenanzahl, Merkmale als JSON)
- Integrationstest: liest eine tatsaechliche CSV aus einem BricsCAD-
Lauf (falls DXFM_TESTOUT gesetzt und Datei vorhanden)
Importiert direkt aus lib/export_csv.py (build_lookup, process_blocks,
build_bogen_merkmale, build_weiche_merkmale, load_json).
tests/test_omniflo.lsp (173 Zeilen):
AutoLISP-Tests fuer omni:insert-bogen und omni:insert-weiche.
Prueft Block-Einfuegung, Attribut-Setzung (HOEHE, DREHUNG, ARTINR)
und Fehlerverhalten bei ungueltigen Parametern. Laeuft direkt in
BricsCAD via (load "tests/test_omniflo.lsp").
tests/testdata/omniflo_tests.json (114 Zeilen):
Testdaten fuer test_omniflo.py: Definiert Testfaelle fuer Boegen
(je Winkel: 22.5, 45, 67.5, 90, 180) und Weichen (90°, 45°, koerper,
parallel) mit erwarteten Merkmale-Feldern und Beispiel-SivasNr.
tests/conftest.py:
Pytest-Fixtures fuer den Testlauf: data_dir, testdata_dir,
output_dir und omniflo_lookup (laedt Katalog-JSON falls vorhanden,
sonst leeres Dict als Fallback).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 11:27:08 +02:00
m.stangl
1f2ebe5c86
export_csv.py und omniflo_utils.py bereinigt und korrigiert
...
lib/export_csv.py:
- CSV-Header vereinfacht: NachbarIds, Planquadrat und rotation-Spalten
entfernt (nicht im Sivas-Format benoetigt). Anzahl-Spalte auf festen
Wert 1 gesetzt.
- format_planquadrat() entfernt (war unused nach Header-Aenderung).
- process_blocks(): elem_nr startet bei 0 statt -1 (erster Block war
mit Nummer -1 ausgegeben worden).
- build_bogen_merkmale(), build_weiche_merkmale(): KurvenWinkel und
Radius werden jetzt explizit als float() gecastet, um sicherzustellen
dass JSON-Werte aus dem Katalog als Zahl und nicht als String landen.
- Felder nachbarids, planquadrat, rotation aus den item-Dicts entfernt.
lib/omniflo_utils.py:
- import_element_as_block(): prueft jetzt zuerst ob eine Block-
definition mit dem Zielnamen in der Quelldatei existiert (erzeugt
durch set_attributs.py). Falls ja, wird diese direkt importiert
statt des gesamten Modelspace. Das verhindert doppelte Entities wenn
set_attributs.py die Geometrie bereits in einen Block gefasst hat.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 11:26:41 +02:00
m.stangl
9f78ff7f0a
Alle LISP-Module auf ssg-cfg-or umgestellt (hardcodierte Konstanten entfernt)
...
Alle bisher hart codierten Geometrie-, Farb- und Default-Werte in den
LISP-Modulen werden jetzt ueber ssg-cfg-or aus component_defaults.json
gelesen (mit Fallback auf den bisherigen Wert als Sicherheitsnetz).
Lisp/KreiselInsert.lsp:
- Geometrie-Konstanten: *kreisel-durchmesser*, *kreisel-pin-abstand*,
*kreisel-default-laenge*, *kreisel-default-hoehe*, *eckrad-default-hoehe*
- Beschriftungs-Einstellungen: Texthöhe, Farbe, Abstand
- Linienfarben (color_linie_1/2, color_pin) fuer Layer/CECOLOR
- Toleranzen: toleranz_kollinear, toleranz_winkel
Lisp/OmniModulInsert.lsp:
- Default-Werte fuer HOEHE und DREHUNG beim Einfuegen und Bearbeiten
- Textgroessen (textHeight, textGap) fuer Vorschau-Dialog
- Max-Laengen fuer AP60, AP110, APG110
Lisp/VarioFoerderer.lsp:
- staustrecke-basis, FESTE_HORIZONTAL
- bogen-winkel Liste (zweifach, in Bibliotheks-Extraktion und Berechnung)
- gefaelle_winkel (3°) an allen Stellen im Anlagen-Aufbau
- skalierung_basis fuer Block-Skalierung
- separator_block_dx/dz, station_block_dx/dz fuer Blockeinfuegung
Lisp/Gefaellestrecke.lsp:
- Default-Wert fuer deltaL, default_winkel
- separator_breite fuer Laengenberechnung
Lisp/export.lsp:
- default_hoehe fuer HOEHE-Attribut-Fallback in Bogen/Weiche/Gerade
- default_gerade_laenge fuer Laenge-Fallback
- mm_pro_meter (1000.0) fuer Umrechnung mm->m bei Laengenangaben
Lisp/ssg_dialog.lsp:
- dialog_preview_bg_color (-18) fuer fill_image Hintergrundfarbe
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 11:26:22 +02:00
m.stangl
cc301b318e
JSON-Konfigurationssystem in ssg_core.lsp eingefuehrt
...
data/json/component_defaults.json: Neue zentrale Konfigurationsdatei
mit Standardwerten fuer alle Komponenten (kreisel, eckrad, omniflo,
vario, gefaelle, infrastruktur). Bisher waren Konstanten (Masse,
Farben, Toleranzen, Defaults) hart im LISP-Code eingebettet.
Lisp/ssg_core.lsp: JSON-Parser und Config-Zugriff hinzugefuegt:
- ssg-read-file-lines: Datei zeilenweise einlesen
- ssg-cfg-trim, ssg-cfg-split-comma: String-Hilfsfunktionen
- ssg-cfg-parse-value, ssg-cfg-parse-array: JSON-Wert-Parser
(unterstuetzt String, Zahl, Boolean, Array, null)
- ssg-cfg-parse-section: JSON-Sektion zu Assoziationsliste parsen
- ssg-load-config: Laedt component_defaults.json in *ssg-config*
- ssg-cfg: Wert aus *ssg-config* lesen, nil wenn nicht vorhanden
- ssg-cfg-or: Wert aus Config lesen mit Fallback-Default
Lisp/ssg_load.lsp: (ssg-load-config) wird direkt nach dem Laden von
ssg_core.lsp aufgerufen, sodass die Config beim Laden aller weiteren
Module bereits verfuegbar ist.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-12 11:25:54 +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
m.stangl
9fe08411df
Update der Attribute Höhe und Drehung vor Aufruf der Exports durchgeführt
2026-06-11 12:08:40 +02:00
m.stangl
0e8d264b6a
eigene Export Routine aus den Tests extrahiert
2026-06-11 12:03:23 +02:00
m.stangl
e4564be24c
Omniflo Einträge von Verbindern und Bögen für Weichen Ergänzt
2026-06-11 11:15:13 +02:00
m.stangl
a2d6571ab9
Omniflo csv Export erste Fassung. Höhe und Winkel in die Attribute ergänzt. Dcl Dialoge ermöglichen Eingabe von Höhe und Drehung. Neuer Menü-eintrag bearbeiten in Omniflo dazu.
2026-06-10 17:47:26 +02:00
m.stangl
f05340ed59
Omniflo Export funktion geschrieben
2026-06-10 17:22:02 +02:00
m.stangl
22a358554d
Pyrx Startup skripte und python Element entfernt, da Schwierigkeiten mit Kompabilitäten
2026-06-10 16:58:12 +02:00
m.stangl
1bda736606
Funktion hinzugefügt um die Quellen der Menüeinträge und Funktionen zu finden. menu-inventory.lsp
2026-06-10 16:57:06 +02:00
m.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
m.stangl
40b430ee73
Startup Skript so modifiziert, dass Lisp files als Fallback geladen werden
2026-06-03 10:06:09 +02:00
m.stangl
b8842957fc
aktuellsten Stand eingepflegt. Probleme mit dem PYLOAD noch nicht bereinigt
2026-06-03 09:16:49 +02:00
y.wang
604cdaf81f
Die Module für Gefaellestrecke wurde gebaut.
2026-06-02 15:16:24 +02:00
m.stangl
f1c3e5f060
Startup-Sequenz geändert, um ein Debugfile möglichst früh zu haben
2026-06-02 13:14:00 +02:00
y.wang
d2ab6ff4e2
Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros
2026-06-02 10:00:42 +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
b2dbd8c1c3
vereinfachte Möglichkeit BRX Plugin zu laden über den .venv Pfad.
2026-06-01 19:24:15 +02:00
y.wang
acf9f666cc
Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros
2026-06-01 14:52:20 +02:00
y.wang
b54f2e7b46
Die KS-EIN und KS-AUS für Ein- und Ausschleuselemente wurde in Library angepasst.
2026-06-01 14:52:14 +02:00
m.stangl
d0373d09f3
Omniflo Boegen und Weichen auch durch .py erzeugen und ändern.
2026-06-01 11:08:19 +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
732daedadd
lib/utils.py in lib/omniflo_utils.py umbenannt. elemente/kreisel.py verwendet jetzt auch die elemente/utils.py routinen
2026-06-01 10:27:38 +02:00
m.stangl
4bafc4443f
eigenen Test geschrieben, der die Elemente im Varioförderer an den K_EIN und K_AUS Punkten aufreiht, so dass man eventuelle Fehler sehen kann.
2026-06-01 10:24:24 +02:00
m.stangl
676224b172
cache der aus den Koordinaten K_AUS und K_EIN geladenen Punkte eingeführt
2026-06-01 10:23:43 +02:00
m.stangl
c30d2c51b9
Python Routinen mit PyRx als Ersatz für die .lsp Routinen verwendet.
2026-06-01 10:22:24 +02:00
m.stangl
be69281af5
Varioförderer Test in tests.lsp wieder rein
2026-05-29 13:28:08 +02:00
m.stangl
e41d6456d4
test runner dazu
2026-05-28 17:37:04 +02:00
m.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
m.stangl
909f780bf0
Testkonzept für unsere Lisp files überlegt
2026-05-28 17:31:11 +02:00
m.stangl
dd90c3b97f
Allgmeine PRojektbeschreibung für Claude dazu
2026-05-28 16:11:38 +02:00
m.stangl
5f179da36f
Maße von AUS und EIN schleuselement festgestellt
2026-05-28 15:50:18 +02:00
m.stangl
765bf1f975
Gefällestrecken der Varioförderer werden jetzt auch aus den Blöcken der ILS Bibliothek gezogen, nicht mehr aus den EInzeldateien.
2026-05-28 15:23:20 +02:00
y.wang
96c00d20fa
Merge branch 'master' of https://gitea.schoenenberger.de/m.stangl/dxfmakros
2026-05-28 14:47:41 +02:00
m.stangl
18c2aa0a60
Eckrad Befehle modifziert. Automatische Nummernvergabe in lisp impl.
2026-05-28 14:47:12 +02:00
y.wang
2400c20e37
:wqerge branch 'master' of https://gitea.schoenenberger.de/m.stangl/dxfmakros
2026-05-28 14:45:39 +02:00
y.wang
3b3cc2a005
Die horizontale Variobögen und Gefällebögen dazu, und die Varioförderer Lisp angepasst.
2026-05-28 14:45:34 +02:00
m.stangl
788593599a
Entwicklungsplan nach Gespräch angepasst
2026-05-28 11:28:40 +02:00
m.stangl
e85fefa7d3
Eckrad wird eingefügt.
2026-05-26 14:17:38 +02:00