diff --git a/Blocks/AN8.dwg b/Blocks/AN8.dwg index 03224bf..4f8a191 100644 Binary files a/Blocks/AN8.dwg and b/Blocks/AN8.dwg differ diff --git a/Blocks/SP8.dwg b/Blocks/SP8.dwg index 5e1c8e3..962fdb5 100644 Binary files a/Blocks/SP8.dwg and b/Blocks/SP8.dwg differ diff --git a/Lisp/VarioFoerderer.lsp b/Lisp/VarioFoerderer.lsp index d759128..01c3637 100644 --- a/Lisp/VarioFoerderer.lsp +++ b/Lisp/VarioFoerderer.lsp @@ -7,24 +7,50 @@ (vl-load-com) ;; ============================================================ -;; TEIL 1: GLOBALE EINSTELLUNGEN +;; BLOCK PATH INITIALIZATION ;; ============================================================ -(if (getenv "DXFM_BLOCKS") - (setq modul-pfad (strcat (getenv "DXFM_BLOCKS") "/")) - (progn - (alert "Umgebungsvariable DXFM_BLOCKS nicht gesetzt!\nBitte zuerst bin\\setenv.bat ausfuehren.") - (exit) + +;; ============================================ +;; Automatische Umgebungsvariablen Konfiguration +;; ============================================ + +;; Basis-Pfad (an Ihre Struktur anpassen) +(setq *dxfm-base* "C:\\Users\\y.wang\\Documents\\dxfmakros\\") + +;; Funktion zum sicheren Setzen von Umgebungsvariablen +(defun ensure-env-var (varName defaultPath) + (if (null (getenv varName)) + (progn + (setenv varName defaultPath) + (princ (strcat "\nβœ… " varName " gesetzt: " defaultPath)) + ) + (princ (strcat "\nπŸ“Œ " varName " bereits gesetzt: " (getenv varName))) + ) + (getenv varName) +) + +;; Umgebungsvariablen sicherstellen +(ensure-env-var "DXFM_BLOCKS" (strcat *dxfm-base* "Blocks\\")) +(ensure-env-var "DXFM_DATA" (strcat *dxfm-base* "Data\\")) + +;; Block-Pfad initialisieren (fΓΌr draw-module) +(setq *block-pfad* (getenv "DXFM_BLOCKS")) + +;; Koordinaten-Bibliothek initialisieren (mit Fallback) +(setq koordinaten-lib + (if (getenv "DXFM_DATA") + (strcat (getenv "DXFM_DATA") "block_libraries\\ils_vario_koordinaten.dwg") + (strcat *dxfm-base* "Data\\block_libraries\\ils_vario_koordinaten.dwg") ) ) -;; Pfad zur Koordinaten-Bibliothek (neue Bogen-Bloecke mit KS_EIN/KS_AUS) -(if (getenv "DXFM_DATA") - (setq koordinaten-lib (strcat (getenv "DXFM_DATA") "/block_libraries/ils_vario_koordinaten.dwg")) - (progn - (alert "Umgebungsvariable DXFM_DATA nicht gesetzt!\nBitte zuerst bin\\setenv.bat ausfuehren.") - (exit) - ) +;; PrΓΌfen ob Koordinaten-Bibliothek existiert +(if (findfile koordinaten-lib) + (princ (strcat "\nβœ… Koordinaten-Bibliothek: " koordinaten-lib)) + (princ (strcat "\n⚠️ Koordinaten-Bibliothek nicht gefunden: " koordinaten-lib)) ) + +(princ "\n=== Umgebungsvariablen initialisiert ===\n") (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))) (setq modelspace (vla-get-ModelSpace doc)) diff --git a/README.md b/README.md index 86dd134..5415b08 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Generiert komplette Vario-Foerderanlagen mit Vertikalboegen, Motor-/Spannstation Unterstuetzte Bogenwinkel: 3, 9, 12, 15, 24, 36, 48 Grad -### ILSModulInsert.lsp - Kreisel Modul-Einfuegesystem (v4.0) +### KreiselInsert.lsp - Kreisel Modul-Einfuegesystem (v4.0) Zeichnet ILS-Kreiselmodule mit konfigurierbarem Abstand und PIN-Typ. @@ -31,7 +31,7 @@ dxfmakros/ β”œβ”€β”€ Blocks/ # DWG-Bloecke (Motorstation, Spannstation, Vertikalboegen, etc.) β”œβ”€β”€ Lisp/ # AutoLISP-Makros β”‚ β”œβ”€β”€ VarioFoerderer.lsp -β”‚ └── ILSModulInsert.lsp +β”‚ └── KreiselInsert.lsp β”œβ”€β”€ bin/ # Hilfs-Skripte β”œβ”€β”€ result/ # Ergebnisse / DXF-Exporte (nicht im Git) β”œβ”€β”€ LICENSE