Commit Graph

183 Commits

Author SHA1 Message Date
s.hensch 2d4cb1cc36 [FIX] Menü zur Bearbeitung des Kreisels durch Doppelklick auf einen Kreisel wird nun wie erwartet aufgerufen, andere Blöcke und Textfelder und Objekte können nun trotzdem wie gewohnt durch einen Doppelklick mit den integrierten Bricscad Funktionen bearbeitet werden 2026-06-24 09:11:47 +02:00
m.stangl b60205013f xy Koordinaten waren falsch. Eingabe aus Beispiel neu definiert 2026-06-23 16:48:06 +02:00
m.stangl 64cd1612cb omniflo lisp funktionsaufrufe rausgeworfen und standardfunktionen verwendet. Ansonsten war Abhängigkeit zwischen Tests 2026-06-23 16:43:46 +02:00
m.stangl 10ed8b863b temp Dateien wieder weg 2026-06-23 16:42:03 +02:00
m.stangl 7aca5e2e0f Teile Vereinzeler links und rechts dazu 2026-06-23 16:41:25 +02:00
m.stangl f6c9b5ec00 Entladung in 3D von Tobie dazu 2026-06-23 15:43:54 +02:00
m.stangl 86d932fa23 Eigene Routine um flache json kv Files zu parsen. 2026-06-23 15:06:21 +02:00
m.stangl 676117fe22 alte Testdatei mit Varioförderern gelöscht 2026-06-23 15:04:27 +02:00
m.stangl 1f7aeb420d Ids werden jetzt in Bricscad von einer Lisp Funktion in Form einer aufsteigenden Nummer erzeugt 2026-06-23 10:11:47 +02:00
m.stangl abc7d5ab77 der Lisp Omniflo Test verwendet jetzt wirklich alle existierenden Omniflo Teile die da sind. 2026-06-22 11:19:27 +02:00
m.stangl fed941d7b1 Neuer Abschnitt 'alltests.json — Testregistry' erklaert Zweck, Format und save-Optionen. Workflow-Abschnitt aktualisiert: korrekte Beschreibung von SSG_RUN_ALL_TESTS, Vergleichstabelle vs. Einzeltest, und Namenskonventionen fuer LISP-Datei, Befehl und Export-Funktion. 2026-06-22 10:42:20 +02:00
m.stangl 2d6cb788cf Neue Positionen für die Kreisel im Test festgelegt. Weniger Überlappungen und leichter durch einen Blick von oben und der seite zu prüfen. 2026-06-19 21:06:02 +02:00
m.stangl 8d32102531 Testmodule aus alltests.json laden statt hartcodierter Liste
SSG_RUN_ALL_TESTS liest die Testliste jetzt aus tests/alltests.json.
Pro Test konfigurierbar: JSON-Export (immer), DXF, DWG oder kein
Speichern der Zeichnung ueber das Feld 'save'.
2026-06-19 21:01:47 +02:00
m.stangl c01dad28f3 Testroutinen auf kseinaus umbenannt und aktualisiert
test_ks.lsp in test_kseinaus.lsp umbenannt und alle Testroutinen
(foerderer, kreisel, omniflo) sowie run_tests.bat und README
entsprechend angepasst.
2026-06-19 21:00:45 +02:00
m.stangl 21682576c4 Bugfixes in LISP-Testrunnern (Foerderer, KS, SAVEAS)
- test_foerderer.lsp: foerderanlage-einfuegen -> variofoerderer-einfuegen
  mit korrekten Parametern (seite, vf-nummer, n-scanner)
- test_foerderer.lsp, test_kreisel.lsp, test_ks.lsp: SAVEAS "DXF" durch
  SAVEAS "" ersetzt (BricsCAD erkennt Format an .dxf-Endung automatisch)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-18 16:05:50 +02:00
m.stangl bd053d76d3 Kreisel Script-Funktionen und flaches JSON-Testformat
- kreisel-insert-script und kreisel-connect-script in KreiselInsert.lsp
  fuer nicht-interaktives Einfuegen (Tests, Automatisierung)
- kreisel_tests.json von verschachteltem auf flaches JSON-Array umgestellt
  (kompatibel mit omni:load-json)
- test_kreisel.py an neues JSON-Format angepasst (direkte Felder statt
  nested expect/attributes)
- conftest.py: Leere kreisel_results.json wird jetzt korrekt uebersprungen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-18 16:05:40 +02:00
y.wang fc38d4740f Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros 2026-06-18 15:21:14 +02:00
y.wang 607ec3bd47 Merge 2026-06-18 15:21:10 +02:00
s.hensch d9962c96b1 2D ILS Dateien in neues 2D Verzeichnis verschoben 2026-06-18 15:16:06 +02:00
y.wang ee6ec9550f Die Logik für EtageVariofoerderer also zur Verbindung Zwei Kreisel übereinander wurde gebaut, mit AS- und Einelement 30° 2026-06-18 15:15:36 +02:00
m.stangl 8894cf9e4c Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros 2026-06-18 14:57:17 +02:00
m.stangl 669545761d neues Testsystem. Dazu Doku erstellt wie es funktioniert in dewr README.md Aufruf aller Tests im Bricscad durch eigenes Menü. 2026-06-18 14:57:03 +02:00
s.hensch 9ea5e1bbae Merge branch 'master' of https://gitea.schoenenberger.de/m.stangl/dxfmakros 2026-06-18 14:45:38 +02:00
s.hensch 3d0e4e6a80 3D und 2D bzw 2.5D mit identischen Koordinatensystemen hinzugefügt 2026-06-18 14:45:05 +02:00
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