Compare commits

...

3 Commits

5 changed files with 1146 additions and 6 deletions
File diff suppressed because it is too large Load Diff
+29 -4
View File
@@ -134,12 +134,19 @@
(defun ensure-block-loaded (blockname / lib-datei block-datei temp-obj)
(if (not (tblsearch "BLOCK" blockname))
(progn
;; Erste fehlender Block: gesamte Bibliothek laden (enthaelt alle 3D-Bloecke)
;; Bibliothek laden (enthaelt alle Bloecke).
;; *library-loaded* immer zuruecksetzen wenn ein Block fehlt:
;; - nach Zeichnungswechsel fehlen alle Bloecke
;; - oder die Bibliothek wurde von einem anderen Befehl geladen
;; aber der angeforderte Block war nicht enthalten
(if *library-loaded*
(setq *library-loaded* nil)
)
(if (not *library-loaded*)
(progn
(setq lib-datei
(strcat (vl-string-translate "\\" "/" (getenv "DXFM_DATA"))
"/block_libraries/ils_library.dwg"))
"/block_libraries/ils_library.dxf"))
(if (findfile lib-datei)
(progn
(princ "\n Lade ils_library.dxf ...")
@@ -413,8 +420,7 @@
)
(progn
(setq *ks-cache* nil)
(princ "\n Lade Blockdefinitionen aus Einzeldateien...")
(princ (strcat "\n Block-Pfad: " block-pfad))
(princ "\n Initialisiere Bibliothek...")
;; === AUS_ELEMENT / EIN_ELEMENT beide Seiten vorladen ===
(ensure-block-loaded "_3D_AS_90_rechts")
@@ -579,6 +585,13 @@
(if (not *lib-initialized*) (init-bibliothek))
(ensure-block-loaded blockname)
(if (not (tblsearch "BLOCK" blockname))
(progn
(princ (strcat "\n FEHLER: Block '" blockname "' nicht in Bibliothek - Einfuegen abgebrochen"))
(exit)
)
)
(princ (strcat "\n Fuege Block '" blockname "' ein..."))
(setq block-obj (vla-InsertBlock modelspace
@@ -625,6 +638,12 @@
)
(progn
(ensure-block-loaded blockname)
(if (not (tblsearch "BLOCK" blockname))
(progn
(princ (strcat "\n FEHLER: Block '" blockname "' nicht in Bibliothek - Einfuegen abgebrochen"))
(exit)
)
)
(princ (strcat "\n Fuege '" blockname "' ein (Laenge=" (rtos laenge 2 2) " mm, Winkel=" (itoa winkel) "°)"))
(setq scale (/ laenge (ssg-cfg-or "vario" "skalierung_basis" 1000.0)))
@@ -671,6 +690,12 @@
)
(progn
(ensure-block-loaded blockname)
(if (not (tblsearch "BLOCK" blockname))
(progn
(princ (strcat "\n FEHLER: Block '" blockname "' nicht in Bibliothek - Einfuegen abgebrochen"))
(exit)
)
)
(princ (strcat "\n Fuege Block '" blockname "' ein (Rotation " (itoa winkel) "°)"))
(setq rad (* winkel (/ pi 180.0)))
Binary file not shown.
+1
View File
@@ -116,6 +116,7 @@
(ssg-ensure "ssg_id")
(ssg-ensure "KreiselInsert")
(ssg-ensure "VarioFoerderer")
(ssg-ensure "EtageVarioFoerderer")
(ssg-ensure "Gefaellestrecke")
(ssg-ensure "export")
(ssg-ensure "external_call")
+3 -2
View File
@@ -12,9 +12,10 @@
[BTMT-Beladung]^C^C(ssg-ensure "SSG_LIB_Commands") ILS_BTMT_Beladung
[<-BTMT-Entladung]^C^C(ssg-ensure "SSG_LIB_Commands") ILS_BTMT_Entladung
[->Foerderer]
[ETF Etagenfoerderer]^C^C(ssg-ensure "SSG_LIB_Commands") ILS_ETF_Etagenfoerderer
[ETF Etagenfoerderer]^C^CI(ssg-ensure "SSG_LIB_Commands") LS_ETF_Etagenfoerderer
[Durch TEF angetriebene Strecke]^C^C(ssg-ensure "SSG_LIB_Commands") ILS_TEF_Strecke
[VarioFoerderer]^C^C(ssg-ensure "VarioFoerderer") FOERDERANLAGE
[VarioFoerderer]^C^CVarioFoerderer
[EtageVarioFoerderer]^C^CETAGEVARIOFOERDERER
[--]
[90 Kurve links angetrieben Aussen]^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K90LA
[90 Kurve rechts angetrieben Aussen]^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K90RA