Commit Graph

119 Commits

Author SHA1 Message Date
y.wang 649857a9dd Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros 2026-06-30 12:29:38 +02:00
y.wang 0bee5ad8d0 die DWG sind bereinigt. Die bisherige positionsbasierte Block-Einfügung (Punkt + Winkel) wurde durch eine vollständige 3D-Frame-Kettung über KS_EIN/KS_AUS-Koordinatensysteme ersetzt, sodass beliebige räumliche Orientierungen korrekt durch die gesamte VarioFoerderer- und Gefaellestrecke-Anlage propagiert werden. 2026-06-30 12:29:33 +02:00
m.stangl 8db7b2bfbf Veraltetes Menü Etagenförderer entfernt. Testdaten für den Förderertest wird jetzt aus .json Datei geladen. Testfunktionen des Förderers bauen jetzt auch Block um jeden Förderer, damit ein Export möglich ist . Fix einiger Funktionsaufrufe in den Varioförderer Funktionen. 2026-06-30 10:35:31 +02:00
y.wang 4a9d29f243 Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros 2026-06-30 10:01:04 +02:00
y.wang d92b723e8c Blocknamen ohne Gradzeichen 2026-06-30 10:01:00 +02:00
m.stangl fe2e467888 Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros 2026-06-29 17:08:42 +02:00
m.stangl 4863df7bac Sivas Export Format geändert 2026-06-29 17:08:37 +02:00
y.wang 311d611f59 GF-Block-Erstellung und Attribute-Definition vollständig implementiert. 2026-06-29 11:34:57 +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 2c689cbcf1 Aufraeumaktion: bin/on_start.lsp geloescht, ssg_load.lsp Pfad-Fix
bin/on_start.lsp entfernt:
  Das Laden aller Module uebernimmt heute vollstaendig SSG_LIB.mnl,
  das automatisch beim MENULOAD geladen wird und ssg-ensure fuer
  Lazy-Loading sowie alle Kern- und Feature-Module direkt ausfuehrt.
  on_start.lsp war nirgendwo mehr referenziert (kein .bat, .mnu, .mnl
  oder .lsp rief die Datei oder ssg-lib-startup noch auf).

Lisp/ssg_load.lsp: Pfadermittlung robuster gemacht:
  base-path nutzt jetzt 1) DXFM_LISP, 2) findfile, 3) DWGPREFIX.
  Vorher schlug findfile "ssg_core.lsp" fehl wenn DXFM_LISP nicht im
  BricsCAD-Suchpfad war, load gab still den Fehlerstring zurueck und
  ssg-load-config crashte mit "no function definition".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 16:44:15 +02:00
y.wang b9ca2820d4 Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros 2026-06-25 15:40:14 +02:00
y.wang 0ea11fdac2 Block-Pfad-Ermittlung auf DXFMAKRO+DXFM_DIM umgestellt; Console bereinigt 2026-06-25 15:40:07 +02:00
m.stangl d408f3eea7 Testrunner geändert. Bei fehlgeschlagendem Test fehlt eine .json im test/Output Ordner 2026-06-25 15:36:14 +02:00
m.stangl 99eb5c9d86 Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros 2026-06-25 15:33:11 +02:00
m.stangl 44762cce8f Funktion zur Prüfung der Vollständigkeit der benötigten DAteien hinzu. Test schlägt fehl, wenn diese nicht vorhanden sind 2026-06-25 15:33:03 +02:00
y.wang db0d9abb7a Startup-Alert bei VarioFoerderer entfernt. Alle verwendete Blöcke in VarioFoerderer.lsp und Gefaellestrecke.lsp sind aus data/ils/3D/ - DXFM_BLOCKS. 2026-06-25 14:30:03 +02:00
y.wang b0aeb04022 Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros 2026-06-25 12:57:33 +02:00
y.wang b7499669af Die 2D/3D einzelnen Blockdateien für Gefaellestrecken und Varioförderer wurden eingepflegt. 2026-06-25 12:57:16 +02:00
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 86d932fa23 Eigene Routine um flache json kv Files zu parsen. 2026-06-23 15:06:21 +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
y.wang dea039f349 Merge branch 'master' of https://gitea.schoenenberger.de/Schoenenberger_Systeme_GmbH/dxfmakros 2026-06-19 14:02:49 +02:00
y.wang cab9db526e die Variofoerderer.lsp umstruktiert. Gefaellstrecke kann nach einem Linienzug modeliert werden. Bei Kreiselinstert wurde die Blöck in 2D Pfad geladen. 2026-06-19 14:02:45 +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 607ec3bd47 Merge 2026-06-18 15:21:10 +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 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
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
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 a11d0807d2 Höhe, Drehung und Id in allen Omniflo Elementen auch setzen 2026-06-16 17:40:58 +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 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 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 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 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 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
y.wang 604cdaf81f Die Module für Gefaellestrecke wurde gebaut. 2026-06-02 15:16:24 +02:00