m.stangl
91530e9d99
Menü für Lazy call umgebaut
2026-06-18 14:16:38 +02:00
y.wang
937d7b0e13
Der Aufruf-Befehl in Bricscad für Varioförderer.lsp wurde von FOERDERANLAGE auf VarioFoederer geändert. Die Block-Erstellung und die Attribut-Definition wurden integriet.
2026-06-18 12:31:38 +02:00
y.wang
714dc65f45
Alle Objekte sind Ende-an-Anfang miteinander verbunden.
2026-06-18 09:45:43 +02:00
y.wang
241cdccc26
Ordner Aufräumen
2026-06-18 08:46:42 +02:00
s.hensch
ec55944721
Orderstruktur der Library in 2d und 3d unterteilt, Dateien entsprechend verschoben, Pfade in Variablen im gesamten Verzeichnis entsprechend korrigiert; Vario Vertikalbögen für 2d und 3d erzeugt;
2026-06-18 07:55:01 +02:00
m.stangl
eef9a7ff25
Pfade mit Leerzeichen werden sonst nicht richtig aufgelöst
2026-06-17 15:02:18 +02:00
s.hensch
842e07ba76
Setenv.bat erweitert, dass auch V22 erkannt wird und die Möglichkeit zum Überladen von Umgebungsvariablen durch _setenv.bat, die nicht eingecheckt wird
2026-06-17 10:51:32 +02:00
m.stangl
c650ea9b7c
doc ergänzt
2026-06-16 17:42:14 +02:00
m.stangl
a11d0807d2
Höhe, Drehung und Id in allen Omniflo Elementen auch setzen
2026-06-16 17:40:58 +02:00
m.stangl
1f00bb5c13
Startup Skripte entfernt. Werden jetzt über dynamische Menüs erledigt
2026-06-16 17:16:07 +02:00
m.stangl
0b501e5ea5
Anwendung der Erzeugung einer Id für jedes Element
2026-06-16 17:14:19 +02:00
m.stangl
d1368dbb01
Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros
2026-06-16 17:12:31 +02:00
m.stangl
13e4ebb5fc
Lisp Routine erstellt, die jedem Element beim Export eine Id gibt. Menüs dynamisch gemacht, d.h. die Lisp Routinen werden erst geladen, wenn sie vom Nutzer per MEnü aufgerufen wurden
2026-06-16 17:12:21 +02:00
y.wang
c196602e50
Merge
2026-06-16 12:53:50 +02:00
m.stangl
f75a5ad0b1
Doppeltes Laden vom on_start.lsp entfernt
2026-06-15 16:09:02 +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
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