[CHANGE] Verzeichnisse ILS 2d und 3d zusammengeführt und Funktionen entsprechend angepasst; TODO: Vario auf/ab Bögen schalten noch nicht korrekt zwischen 2d und 3d hin und her; TODO: Omniflo Verzeichnisse 2d/3d entsprechend genau so zusammenführen

This commit is contained in:
2026-07-24 13:00:33 +02:00
parent 60c20519a0
commit b16c2e0fa1
160 changed files with 211 additions and 153 deletions
+24 -23
View File
@@ -65,15 +65,16 @@
"Staustrecke_SP_1000_mm" "Staustrecke_Separator_SP_300_mm"
"Vario_Umlenkstation_500mm_links" "Vario_Umlenkstation_500mm_rechts"
"Vario_Motorstation_500mm_links" "Vario_Motorstation_500mm_rechts")
(mapcar (function (lambda (w) (strcat "Vario_Bogen_auf_" (itoa w)))) bogen-winkel)
(mapcar (function (lambda (w) (strcat "Vario_Bogen_ab_" (itoa w)))) bogen-winkel)
(mapcar (function (lambda (w) (strcat "Vario_Bogen_auf_" (itoa w) "_TEF_rechts"))) bogen-winkel)
(mapcar (function (lambda (w) (strcat "Vario_Bogen_ab_" (itoa w) "_TEF_rechts"))) bogen-winkel)
)
)
(setq missing '())
(foreach bname required-blocks
(setq datei (strcat block-pfad bname ".dwg"))
(if (not (findfile datei))
(setq missing (cons datei missing))
;; Existenz ueber den zentralen Resolver (flache Ablage + Dim-Suffix der
;; aktuellen Dimension + 3D-Fallback).
(if (not (ssg-ils-block-datei bname))
(setq missing (cons (ssg-ils-blockname bname) missing))
)
)
(if missing
@@ -95,12 +96,12 @@
;; TEIL 3: BIBLIOTHEK INITIALISIEREN
;; ============================================================
(defun init-bibliothek ( / temp-obj bogen-winkel ks-data ks-ein-pos ks-aus-pos
dx dy dz bogen-name)
dx dy dz bogen-name as-blk es-blk)
;; "bereits initialisiert" nur, wenn das Flag gesetzt UND die Bogen-Tabelle
;; tatsaechlich befuellt ist. Sonst (Stuck-State: Flag gesetzt, aber bogen-auf
;; leer - z.B. nach einer fehlgeschlagenen Extraktion) neu initialisieren.
(if (and *lib-initialized* bogen-auf bogen-ab
(tblsearch "BLOCK" "AS_Element_90_links"))
(tblsearch "BLOCK" (ssg-ils-blockname "AS_Element_90_links")))
(progn
(princ (ssg-text "vfs-lib-bereits-init"))
t
@@ -114,13 +115,13 @@
;; AS_90 Masse extrahieren
(princ (ssg-text "vfs-extrahiere-aus"))
(ensure-block-loaded "AS_Element_90_links")
(setq as-blk (ensure-block-loaded "AS_Element_90_links"))
(ensure-block-loaded "AS_Element_90_rechts")
(if (tblsearch "BLOCK" "AS_Element_90_links")
(if (tblsearch "BLOCK" as-blk)
(progn
(setq temp-obj (vla-InsertBlock modelspace
(vlax-3D-point '(0 0 0))
"AS_Element_90_links" 1.0 1.0 1.0 0))
as-blk 1.0 1.0 1.0 0))
(setq ks-data (extract-ks-from-block temp-obj))
(vla-Delete temp-obj)
(setq ks-ein-pos nil ks-aus-pos nil)
@@ -143,13 +144,13 @@
;; ES_90 Masse extrahieren
(princ (ssg-text "vfs-extrahiere-ein"))
(ensure-block-loaded "ES_Element_90_links")
(setq es-blk (ensure-block-loaded "ES_Element_90_links"))
(ensure-block-loaded "ES_Element_90_rechts")
(if (tblsearch "BLOCK" "ES_Element_90_links")
(if (tblsearch "BLOCK" es-blk)
(progn
(setq temp-obj (vla-InsertBlock modelspace
(vlax-3D-point '(0 0 0))
"ES_Element_90_links" 1.0 1.0 1.0 0))
es-blk 1.0 1.0 1.0 0))
(setq ks-data (extract-ks-from-block temp-obj))
(vla-Delete temp-obj)
(setq ks-ein-pos nil ks-aus-pos nil)
@@ -178,8 +179,8 @@
'(3 6 9 12 15 18 21 27 33 39 45 51)))
(foreach w bogen-winkel
;; Aufwaertsbogen
(setq bogen-name (strcat "Vario_Bogen_auf_" (itoa w)))
(ensure-block-loaded bogen-name)
(setq bogen-name (strcat "Vario_Bogen_auf_" (itoa w) "_TEF_rechts"))
(setq bogen-name (ensure-block-loaded bogen-name))
(if (tblsearch "BLOCK" bogen-name)
(progn
(setq temp-obj (vla-InsertBlock modelspace
@@ -205,8 +206,8 @@
(princ (ssg-textf "vfs-bogen-auf-block-fehlt" (list (itoa w))))
)
;; Abwaertsbogen
(setq bogen-name (strcat "Vario_Bogen_ab_" (itoa w)))
(ensure-block-loaded bogen-name)
(setq bogen-name (strcat "Vario_Bogen_ab_" (itoa w) "_TEF_rechts"))
(setq bogen-name (ensure-block-loaded bogen-name))
(if (tblsearch "BLOCK" bogen-name)
(progn
(setq temp-obj (vla-InsertBlock modelspace
@@ -521,16 +522,16 @@
;; horizontalen Mitte vermitteln muessen.
(if (= best-winkel 0)
(progn
(setq bogen-name "Vario_Bogen_auf_3")
(setq bogen-name "Vario_Bogen_auf_3_TEF_rechts")
(setq bogen-mass (get-bogen-mass bogen-auf 3))
)
(if (= richtung "Auf")
(progn
(setq bogen-name (strcat "Vario_Bogen_auf_" (itoa best-winkel)))
(setq bogen-name (strcat "Vario_Bogen_auf_" (itoa best-winkel) "_TEF_rechts"))
(setq bogen-mass (get-bogen-mass bogen-auf best-winkel))
)
(progn
(setq bogen-name (strcat "Vario_Bogen_ab_" (itoa best-winkel)))
(setq bogen-name (strcat "Vario_Bogen_ab_" (itoa best-winkel) "_TEF_rechts"))
(setq bogen-mass (get-bogen-mass bogen-ab best-winkel))
)
)
@@ -576,16 +577,16 @@
;; 7. 2. Vertikalbogen
(if (= best-winkel 0)
(progn
(setq bogen-name "Vario_Bogen_ab_3")
(setq bogen-name "Vario_Bogen_ab_3_TEF_rechts")
(setq bogen-mass (get-bogen-mass bogen-ab 3))
)
(if (= richtung "Auf")
(progn
(setq bogen-name (strcat "Vario_Bogen_ab_" (itoa best-winkel)))
(setq bogen-name (strcat "Vario_Bogen_ab_" (itoa best-winkel) "_TEF_rechts"))
(setq bogen-mass (get-bogen-mass bogen-ab best-winkel))
)
(progn
(setq bogen-name (strcat "Vario_Bogen_auf_" (itoa best-winkel)))
(setq bogen-name (strcat "Vario_Bogen_auf_" (itoa best-winkel) "_TEF_rechts"))
(setq bogen-mass (get-bogen-mass bogen-auf best-winkel))
)
)