From 82470ae70843b5dccdf1f4260d7df38c7dc73de6 Mon Sep 17 00:00:00 2001 From: Simon Hensch Date: Tue, 21 Jul 2026 12:05:43 +0200 Subject: [PATCH] [ADD] CUI wird nun verwaltet, da sowieso aktuelle version notwendig und einfacher zu integrieren --- .gitignore | 3 +- Lisp/TEFInsert.lsp | 216 +++++++ menu/SSG_LIB.cui | 1449 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1667 insertions(+), 1 deletion(-) create mode 100644 Lisp/TEFInsert.lsp create mode 100644 menu/SSG_LIB.cui diff --git a/.gitignore b/.gitignore index 2079001..568b8c5 100644 --- a/.gitignore +++ b/.gitignore @@ -183,6 +183,7 @@ cython_debug/ /tests/output/ # BricsCAD kompilierte Menuedateien -*.cui +#CUI soll nun auch verwaltet werden +#*.cui data/block_libraries/ils_library.dxf >> .gitignore echo data/block_libraries/ils_library.dxf diff --git a/Lisp/TEFInsert.lsp b/Lisp/TEFInsert.lsp new file mode 100644 index 0000000..46dbecc --- /dev/null +++ b/Lisp/TEFInsert.lsp @@ -0,0 +1,216 @@ +;; ============================================================ +;; TEFInsert.lsp - TEF-Geradenstuecke entlang einer Linie +;; +;; Zeichnet eine Linie zwischen zwei vom Benutzer gewaehlten Punkten +;; und reiht darauf 1000 mm lange TEF-Geradenelemente +;; (data/omniflo//0_B10030.dxf, $INSBASE=Ursprung=Anfang des +;; Elements, Ende bei lokal X=1000) aneinander. +;; +;; Ist die Linienlaenge kein exaktes Vielfaches von 1000 mm, wird fuer +;; das letzte Stueck ein zusaetzliches Element eingefuegt, das auf der +;; Linie zurueckverschoben platziert wird (ueberlappt das vorletzte +;; Element), sodass der Foerderer exakt am Linienende endet - statt +;; einer Luecke oder eines abgeschnittenen Elements. +;; +;; Die Linie darf geneigt sein (3D): Start-/Endpunkt koennen +;; unterschiedliche Z-Werte haben, die Elemente werden dann analog zu +;; vf_core.lsp (Rz(hz)*Ry(winkel)-Rotation, winkel positiv=abwaerts) +;; gekippt eingefuegt. +;; +;; Befehl: TEF_FOERDERER_LINIE +;; ============================================================ + +(vl-load-com) + +(if (null doc) (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))) +(if (null modelspace) (setq modelspace (vla-get-ModelSpace doc))) + +;; Elementlaenge (mm) von 0_B10030.dxf (siehe Header-Kommentar oben) +(if (null *tefl-elementlaenge*) (setq *tefl-elementlaenge* 1000.0)) +;; Toleranz (mm): Restlaenge unterhalb dieses Werts gilt als "exaktes +;; Vielfaches der Elementlaenge" -> kein Zusatzelement noetig. +(if (null *tefl-toleranz*) (setq *tefl-toleranz* 0.5)) +;; Dateiname (ohne .dxf) des TEF-Geradenelements in DXFM_OMNIFLO +(if (null *tefl-blockname*) (setq *tefl-blockname* "0_B10030")) + +;; ------------------------------------------------------------ +;; Pfad zur Element-DXF ermitteln (DXFM_OMNIFLO, wie omni:insert-dxf +;; in OmniModulInsert.lsp). +;; ------------------------------------------------------------ +(defun tefl-dxf-pfad ( / omniflo-pfad) + (setq omniflo-pfad (getenv "DXFM_OMNIFLO")) + (if omniflo-pfad + (strcat (vl-string-translate "\\" "/" omniflo-pfad) "/" *tefl-blockname* ".dxf") + ) +) + +;; ------------------------------------------------------------ +;; Element-DXF einmalig als Block registrieren (Analog zu +;; ensure-block-loaded in vf_core.lsp, aber fuer eine externe .dxf statt +;; .dwg): einmal am Ursprung einfuegen und wieder loeschen, damit die +;; Datei als Block-Tabelleneintrag *tefl-blockname* existiert. Danach +;; kann jede weitere Einfuegung ueber vla-InsertBlock + vla-TransformBy +;; mit voller 3D-Rotation erfolgen (das kann die reine command-Zeilen- +;; INSERT nicht leisten - die dreht nur um die Z-Achse). +;; ------------------------------------------------------------ +(defun tefl-ensure-block-loaded (dxf-pfad / tmpEnt) + (if (not (tblsearch "BLOCK" *tefl-blockname*)) + (progn + (command "_.INSERT" dxf-pfad (list 0.0 0.0 0.0) 1 1 0) + (while (> (getvar "CMDACTIVE") 0) (command "")) + (setq tmpEnt (entlast)) + (if (and tmpEnt (= (cdr (assoc 0 (entget tmpEnt))) "INSERT")) + (command "_.ERASE" tmpEnt "") + ) + ) + ) + (tblsearch "BLOCK" *tefl-blockname*) +) + +;; ------------------------------------------------------------ +;; Ein Element an Position 's' (mm ab Startpunkt) entlang der +;; Fahrtrichtung einfuegen. +;; start : Startpunkt der Linie (3D) +;; richtung-einheit : Einheitsvektor der Fahrtrichtung (3D) +;; hz / winkel : Fahrtrichtung in Grad (Rz(hz)*Ry(winkel)-Konvention +;; wie hz-winkel->xu/frame->hz-winkel in vf_core.lsp) +;; +;; Attribute: vla-InsertBlock legt fuer ein Block mit ATTDEFs automatisch +;; ATTRIB-Entities mit den Vorgabewerten aus der Quell-DXF an (wie beim +;; command-Zeilen-INSERT mit ATTREQ=0). Analog zu omni:insert-dxf in +;; OmniModulInsert.lsp wird danach nur das LAYER-Attribut ausgelesen und +;; der Block auf diesen Layer verschoben - alle anderen Attribute +;; (ARTINR, BESCHR, MENGE, POSITION, DETAILS, ...) behalten den aus der +;; Quell-DXF uebernommenen Vorgabewert. +;; ------------------------------------------------------------ +(defun tefl-insert-element (start richtung-einheit s hz winkel / + rad-h rad-v chv shv cvv svv matrix block-obj blockEnt + pt attribs layer-name) + (setq pt (list (+ (car start) (* s (car richtung-einheit))) + (+ (cadr start) (* s (cadr richtung-einheit))) + (+ (caddr start) (* s (caddr richtung-einheit))))) + (setq rad-h (* (float hz) (/ pi 180.0))) + (setq rad-v (* (float winkel) (/ pi 180.0))) + (setq chv (cos rad-h) shv (sin rad-h) cvv (cos rad-v) svv (sin rad-v)) + (setq block-obj (vla-InsertBlock modelspace (vlax-3D-point '(0.0 0.0 0.0)) + *tefl-blockname* 1.0 1.0 1.0 0)) + (setq matrix (list + (list (* chv cvv) (- shv) (* chv svv) 0) + (list (* shv cvv) chv (* shv svv) 0) + (list (- svv) 0 cvv 0) + (list 0 0 0 1))) + (vla-TransformBy block-obj (vlax-tmatrix matrix)) + (vla-Move block-obj (vlax-3D-point '(0.0 0.0 0.0)) (vlax-3D-point pt)) + + ;; LAYER-Attribut auslesen und Block auf diesen Layer verschieben + (setq blockEnt (vlax-vla-object->ename block-obj)) + (setq attribs (ssg-attrib-read blockEnt)) + (setq layer-name (cdr (assoc "LAYER" attribs))) + (if (and layer-name (> (strlen layer-name) 0)) + (progn + (ssg-make-layer layer-name 7 nil) + (entmod (subst (cons 8 layer-name) (assoc 8 (entget blockEnt)) (entget blockEnt))) + (entupd blockEnt) + ) + ) + + ;; Eindeutige ID zuweisen, falls das Block-Schema ein ID-Attribut fuehrt + ;; (bei 0_B10030 aktuell nicht der Fall - dann folgenlos, wie in + ;; omni:insert-dxf). + (if (atoms-family 1 '("ssg-id-generate")) + (ssg-id-generate blockEnt) + ) + + block-obj +) + +;; ------------------------------------------------------------ +;; Hauptbefehl: Start-/Endpunkt abfragen, Linie zeichnen, TEF-Geraden- +;; elemente entlang der Linie aneinanderreihen. +;; ------------------------------------------------------------ +(defun c:TEF_FOERDERER_LINIE ( / dxf-pfad p1 p2 dx dy dz laenge horiz hz winkel + richtung-einheit anzahl-voll rest i s) + (setq dxf-pfad (tefl-dxf-pfad)) + (cond + ((null dxf-pfad) + (princ (ssg-text "tefl-fehler-dxfm-omniflo"))) + ((not (findfile dxf-pfad)) + (princ (ssg-textf "tefl-fehler-dxf-nicht-gefunden" (list dxf-pfad)))) + (t + (setq p1 (getpoint (ssg-text "tefl-prompt-startpunkt"))) + (if (null p1) + (princ (ssg-text "tefl-abgebrochen")) + (progn + (setq p2 (getpoint p1 (ssg-text "tefl-prompt-endpunkt"))) + (if (null p2) + (princ (ssg-text "tefl-abgebrochen")) + (progn + (setq dx (- (car p2) (car p1)) + dy (- (cadr p2) (cadr p1)) + dz (- (caddr p2) (caddr p1))) + (setq laenge (sqrt (+ (* dx dx) (* dy dy) (* dz dz)))) + (if (< laenge *tefl-toleranz*) + (princ (ssg-text "tefl-fehler-laenge-null")) + (progn + (ssg-start "TEF Foerderer Linie" '(("OSMODE") ("ATTREQ") ("ATTDIA"))) + (setvar "ATTREQ" 0) + (setvar "ATTDIA" 0) + + (if (not (tefl-ensure-block-loaded dxf-pfad)) + (progn + (princ (ssg-textf "tefl-fehler-dxf-nicht-gefunden" (list dxf-pfad))) + (ssg-end) + ) + (progn + ;; Fahrtrichtung als Einheitsvektor + hz/winkel + (setq richtung-einheit + (list (/ dx laenge) (/ dy laenge) (/ dz laenge))) + (setq horiz (sqrt (+ (* dx dx) (* dy dy)))) + (setq hz (* (atan dy dx) (/ 180.0 pi))) + (setq winkel (* (atan (- dz) horiz) (/ 180.0 pi))) + + ;; Linie zwischen den beiden Punkten zeichnen + (entmake (list '(0 . "LINE") + (cons 8 (getvar "CLAYER")) + (cons 10 p1) + (cons 11 p2))) + + ;; Volle Elemente ab dem Startpunkt aneinanderreihen + (setq anzahl-voll + (fix (/ (+ laenge *tefl-toleranz*) *tefl-elementlaenge*))) + (setq i 0) + (repeat anzahl-voll + (tefl-insert-element p1 richtung-einheit + (* i *tefl-elementlaenge*) hz winkel) + (setq i (1+ i)) + ) + + ;; Restlaenge: Zusatzelement zurueckverschoben einfuegen, + ;; damit der Foerderer exakt am Linienende (p2) endet. + (setq rest (- laenge (* anzahl-voll *tefl-elementlaenge*))) + (if (> rest *tefl-toleranz*) + (progn + (setq s (- laenge *tefl-elementlaenge*)) + (tefl-insert-element p1 richtung-einheit s hz winkel) + (setq anzahl-voll (1+ anzahl-voll)) + ) + ) + + (princ (ssg-textf "tefl-fertig" + (list (itoa anzahl-voll) (rtos laenge 2 0)))) + (ssg-end) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + (princ) +) + +(princ "\nTEFInsert.lsp geladen. Befehl: TEF_FOERDERER_LINIE") +(princ) diff --git a/menu/SSG_LIB.cui b/menu/SSG_LIB.cui new file mode 100644 index 0000000..ff7bded --- /dev/null +++ b/menu/SSG_LIB.cui @@ -0,0 +1,1449 @@ + + + +
+ + + Konstruieren + + + + + + + + Konstruieren + + + +
+ + + + + + Einfuegen + ^C^C(ssg-ensure "KreiselInsert") KreiselInsert + + + + + Verbinden + ^C^C(ssg-ensure "KreiselInsert") KreiselConnect + + + + + Bearbeiten + ^C^C(ssg-ensure "KreiselInsert") KreiselEdit + + + + + Eckrad + ^C^C(ssg-ensure "KreiselInsert") ILS_Eckrad + + + + + BTMT-Beladung + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_BTMT_Beladung + + + + + BTMT-Entladung + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_BTMT_Entladung + + + + + Durch TEF angetriebene Strecke + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_TEF_Strecke + + + + + 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 + + + + + 60 Kurve links angetrieben Aussen + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K60LA + + + + + 60 Kurve rechts angetrieben Aussen + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K60RA + + + + + 30 Kurve links angetrieben Aussen + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K30LA + + + + + 30 Kurve rechts angetrieben Aussen + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K30RA + + + + + 90 Kurve links angetrieben Innen + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K90LI + + + + + 90 Kurve rechts angetrieben Innen + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K90RI + + + + + 60 Kurve links angetrieben Innen + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K60LI + + + + + 60 Kurve rechts angetrieben Innen + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K60RI + + + + + 30 Kurve links angetrieben Innen + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K30LI + + + + + 30 Kurve rechts angetrieben Innen + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_K30RI + + + + + Gefaellestrecke + ^C^C(ssg-ensure "Gefaellestrecke") GEFAELLESTRECKE + + + + + 90 Kurve links Gefaellestrecke + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_GK90L + + + + + 90 Kurve rechts Gefaellestrecke + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_GK90R + + + + + 60 Kurve links Gefaellestrecke + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_GK60L + + + + + 60 Kurve rechts Gefaellestrecke + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_GK60R + + + + + 30 Kurve links Gefaellestrecke + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_GK30L + + + + + 30 Kurve rechts Gefaellestrecke + ^C^C(ssg-ensure "SSG_LIB_Commands") ILS_GK30R + + + + + ILS Schliessen + ^C^C + + + + + 90 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APB_630_90 + + + + + 67.5 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APB_550_675 + + + + + 45 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APB_630_45 + + + + + 22.5 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APB_550_225 + + + + + 180 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APB_650_180 + + + + + 90 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APB60_90 + + + + + AP 60 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_AP60 + + + + + AP 110 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_AP110 + + + + + APG 110 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APG110 + + + + + Einfach 90 700/700 links M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_W90_Einfach + + + + + Doppel 90 700/700 M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_W90_Doppel + + + + + Dreiwege 90 700/700 M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_W90_Dreiwege + + + + + Einfach 45 350/700 links M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_W45_Einfach + + + + + Doppel 45 350/700 M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_W45_Doppel + + + + + Dreiwege 45 350/700 M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_W45_Dreiwege + + + + + Einfach Parallel 200/750 links M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_WP_Einfach + + + + + Doppel Parallel 200/750 M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_WP_Doppel + + + + + Dreiwege Parallel 200/750 M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_WP_Dreiwege + + + + + Einfach 22.5 links M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_WK_Einfach + + + + + Doppel 22.5 M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_WK_Doppel + + + + + Dreiwege 22.5 M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_WK_Dreiwege + + + + + Delta 1400/700 M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_WKomb_Delta + + + + + Star 1400/1400 M + ^C^C(ssg-ensure "OmniModulInsert") OMNI_WKomb_Star + + + + + TEF Antriebst. rechts + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TEF_AntriebR + + + + + TEF Umlenkspannst. rechts + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TEF_UmlenkR + + + + + TEF Antriebst. links + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TEF_AntriebL + + + + + TEF Umlenkspannst. links + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TEF_UmlenkL + + + + + TEF Gerade auf Linie + ^C^C(ssg-ensure "TEFInsert") TEF_FOERDERER_LINIE + + + + + TEF Gerade + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TEF_Gerade + + + + + Stopper AP + ^C^C(ssg-ensure "OmniModulInsert") OMNI_STOPPER + + + + + Scanner + ^C^C(ssg-ensure "OmniModulInsert") OMNI_SCANNER + + + + + Bürstenbremse + ^C^C(ssg-ensure "OmniModulInsert") OMNI_BUERSTENBREMSE + + + + + KettenFoerderer + ^C^C(ssg-ensure "OmniModulInsert") OMNI_KettenFoerderer + + + + + TV W-W kpl + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_W_W + + + + + TV W-AP110 kpl + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_W_AP110 + + + + + TV W-AP60 oben kpl. + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_W_AP60 + + + + + TV W-AP110-W kpl + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_W_AP110_W + + + + + TV W-AP oben kpl + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_W_AP + + + + + TV 80 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_80 + + + + + TV 50 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_50 + + + + + Endplatte Al-Profil AP schraubbar + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_ENDPLATTE + + + + + Anschlag AP-Ende fuer Spulenzug + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_ANSCHLAG + + + + + TV-A fuer AP110/AP60 kpl + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_A_AP110_AP60 + + + + + TV-A fuer AP60/ST + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_A_AP60_ST + + + + + TV-A fuer AP110/ST kpl + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_A_AP110_ST + + + + + TV-SW II fuer SW-SW + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_SW_II_SW_SW + + + + + TV-SW III fuer SW-AP110-SW + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_SW_III_AP110_SW + + + + + TV-SW III fuer SW-AP110 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_SW_III_AP110 + + + + + TV-SW IV fuer Anschluss SW-AP60 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_SW_IV_AP60 + + + + + TV-SW IV fuer SW-ST + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_SW_IV_ST + + + + + Muffe + ^C^C(ssg-ensure "OmniModulInsert") OMNI_TV_MUFFE + + + + + APB 110 R400/45 140 nur fuer Delta + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R400_45_140 + + + + + APB 110 R550/45 194 nur fuer Delta + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_45_194 + + + + + APBW 110 R550/22,5 360x248,5 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_225_360 + + + + + APBW 110 R550/22,5 410x298,5 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_225_410A + + + + + APBW 110 R550/22,5 410x78,5 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_225_410B + + + + + APBW 110 R550/22,5 410x98,5 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_225_410C + + + + + APBW 110 R550/67,5 360x598,5 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_675_360 + + + + + APBW 110 R400/67,5 260x398,5 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R400_675_260 + + + + + APBW 110 R550/45 77x160 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_45_77 + + + + + APBW 110 R550/67,5 125x83,5 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_675_125 + + + + + APBW 110 R750/90 200x290 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R750_90_200 + + + + + APBW 110 R650/90 300x190 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R650_90_300 + + + + + APBW 110 R550/67,5 208x347 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_675_208 + + + + + APBW 110 R550/67,5 58x497 + ^C^C(ssg-ensure "OmniModulInsert") OMNI_APBW_R550_675_58 + + + + + Element bearbeiten + ^C^C(ssg-ensure "OmniModulInsert") OMNI_EDIT + + + + + Export Sivas + ^C^C(ssg-ensure "export") EXPORTSIVAS + + + + + Export CSV + ^C^C(ssg-ensure "export") EXPORTCSV + + + + + Umschalten 2D und 3D + ^C^C(ssg-ensure "SSG_LIB_Commands") SSG_DIM_SWITCH + + + + + Sprache + ^C^C(ssg-ensure "SSG_LIB_Commands") SSG_SPRACHE + + + + + Alle Tests ausfuehren + ^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_run_all.lsp")) SSG_RUN_ALL_TESTS + + + + + Kreisel + ^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_kreisel.lsp")) TEST_KREISEL + + + + + Foerderer + ^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_foerderer.lsp")) TEST_FOERDERER + + + + + Foerderer-Linienzug + ^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_linienzug.lsp")) TEST_LINIENZUG + + + + + Omniflo + ^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_omniflo.lsp")) TEST_OMNIFLO + + + + + Gefaellestrecke + ^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_gefaellestrecke.lsp")) TEST_GEFAELLESTRECKE + + + + + Export CSV/Sivas ALL + ^C^C(load (strcat (getenv "DXFMAKRO") "/tests/test_export_all.lsp")) TEST_EXPORT_ALL + + + + + Kreisel bearbeiten + (ssg-ensure "KreiselInsert") KreiselEdit + + + + + Omniflo Element bearbeiten + (ssg-ensure "OmniModulInsert") OMNI_EDIT + + + + + SSG Bearbeiten (Auto) + (ssg-ensure "SSG_LIB_Commands") SSG_BLOCKEDIT + + + + + + + + + + POP1 + SSG_LIB + + + + + + + + ILS + + + + + + ILS Schliessen + + + + + + + Kreisel-Module + + Einfuegen + + + + + + Verbinden + + + + + + Bearbeiten + + + + + + Eckrad + + + + + + + Zusatzmodul + + ~BTMT-Beladung + + + + + + ~BTMT-Entladung + + + + + + + Foerderer + + ~Durch TEF angetriebene Strecke + + + + + + VarioFoerderer + + + + + + EtageVarioFoerderer + + + + + + + ~90 Kurve links angetrieben Aussen + + + + + + ~90 Kurve rechts angetrieben Aussen + + + + + + ~60 Kurve links angetrieben Aussen + + + + + + ~60 Kurve rechts angetrieben Aussen + + + + + + ~30 Kurve links angetrieben Aussen + + + + + + ~30 Kurve rechts angetrieben Aussen + + + + + + + ~90 Kurve links angetrieben Innen + + + + + + ~90 Kurve rechts angetrieben Innen + + + + + + ~60 Kurve links angetrieben Innen + + + + + + ~60 Kurve rechts angetrieben Innen + + + + + + ~30 Kurve links angetrieben Innen + + + + + + ~30 Kurve rechts angetrieben Innen + + + + + + + Gefaellestrecke + + Gefaellestrecke + + + + + + + ~90 Kurve links Gefaellestrecke + + + + + + ~90 Kurve rechts Gefaellestrecke + + + + + + ~60 Kurve links Gefaellestrecke + + + + + + ~60 Kurve rechts Gefaellestrecke + + + + + + ~30 Kurve links Gefaellestrecke + + + + + + ~30 Kurve rechts Gefaellestrecke + + + + + + + Omniflo + + + + + + + + + + + + ~KettenFoerderer + + + + + + + + Element bearbeiten + + + + + + + Boegen APB110 + + 90 + + + + + + 67.5 + + + + + + 45 + + + + + + 22.5 + + + + + + 180 + + + + + + + Boegen APB60 + + 90 + + + + + + + Aluprofil Gerade + + AP 60 + + + + + + AP 110 + + + + + + APG 110 + + + + + + + Weiche 90 Grad + + Einfach 90 700/700 links M + + + + + + Doppel 90 700/700 M + + + + + + Dreiwege 90 700/700 M + + + + + + + Weiche 45 Grad + + Einfach 45 350/700 links M + + + + + + Doppel 45 350/700 M + + + + + + Dreiwege 45 350/700 M + + + + + + + Weichen Parallel + + Einfach Parallel 200/750 links M + + + + + + Doppel Parallel 200/750 M + + + + + + Dreiwege Parallel 200/750 M + + + + + + + Weichenkoerper + + Einfach 22.5 links M + + + + + + Doppel 22.5 M + + + + + + Dreiwege 22.5 M + + + + + + + Weichenkombinationen + + Delta 1400/700 M + + + + + + Star 1400/1400 M + + + + + + + TEF Elemente + + TEF Antriebst. rechts + + + + + + TEF Umlenkspannst. rechts + + + + + + + TEF Antriebst. links + + + + + + TEF Umlenkspannst. links + + + + + + + TEF Gerade auf Linie + + + + + + TEF Gerade + + + + + + + Anbaugruppen + + Stopper AP + + + + + + Scanner + + + + + + Bürstenbremse + + + + + + + Verbinder + + ~TV W-W kpl + + + + + + ~TV W-AP110 kpl + + + + + + ~TV W-AP60 oben kpl. + + + + + + ~TV W-AP110-W kpl + + + + + + ~TV W-AP oben kpl + + + + + + ~TV 80 + + + + + + ~TV 50 + + + + + + ~Endplatte Al-Profil AP schraubbar + + + + + + ~Anschlag AP-Ende fuer Spulenzug + + + + + + ~TV-A fuer AP110/AP60 kpl + + + + + + ~TV-A fuer AP60/ST + + + + + + ~TV-A fuer AP110/ST kpl + + + + + + ~TV-SW II fuer SW-SW + + + + + + ~TV-SW III fuer SW-AP110-SW + + + + + + ~TV-SW III fuer SW-AP110 + + + + + + ~TV-SW IV fuer Anschluss SW-AP60 + + + + + + ~TV-SW IV fuer SW-ST + + + + + + ~Muffe + + + + + + + Boegen fuer Weichen + + ~APB 110 R400/45 140 nur fuer Delta + + + + + + ~APB 110 R550/45 194 nur fuer Delta + + + + + + ~APBW 110 R550/22,5 360x248,5 + + + + + + ~APBW 110 R550/22,5 410x298,5 + + + + + + ~APBW 110 R550/22,5 410x78,5 + + + + + + ~APBW 110 R550/22,5 410x98,5 + + + + + + ~APBW 110 R550/67,5 360x598,5 + + + + + + ~APBW 110 R400/67,5 260x398,5 + + + + + + ~APBW 110 R550/45 77x160 + + + + + + ~APBW 110 R550/67,5 125x83,5 + + + + + + ~APBW 110 R750/90 200x290 + + + + + + ~APBW 110 R650/90 300x190 + + + + + + ~APBW 110 R550/67,5 208x347 + + + + + + ~APBW 110 R550/67,5 58x497 + + + + + + + Export + + Export Sivas + + + + + + Export CSV + + + + + + + Konfiguration + + Umschalten 2D und 3D + + + + + + Sprache + + + + + + Konfiguration Schliessen + + + + + + + Tests + + Alle Tests ausfuehren + + + + + + + Kreisel + + + + + + Foerderer + + + + + + Foerderer-Linienzug + + + + + + Omniflo + + + + + + Gefaellestrecke + + + + + + Export CSV/Sivas ALL + + + + + + + POP501 + SSG_LIB Edit Context + + Kreisel bearbeiten + + + + + + Omniflo Element bearbeiten + + + + + + + SSG Bearbeiten (Auto) + + + + + + + + + + + + +