This commit is contained in:
2026-06-18 14:45:38 +02:00
37 changed files with 323 additions and 164690 deletions
+227 -26
View File
@@ -1,7 +1,7 @@
;; ============================================================
;; FÖRDERANLAGE GENERATOR für BricsCAD Pro
;; Version: 25.0 (Komplett bibliotheksbasiert, keine Fallbacks)
;; Befehl: FOERDERANLAGE
;; Befehl: VarioFoerderer
;; ============================================================
(vl-load-com)
@@ -20,6 +20,18 @@
;; Pfad zu den Einzelblock-DXF-Dateien (zeigt auf 2D oder 3D Unterverzeichnis)
(setq block-pfad modul-pfad)
;; Kern-Abhaengigkeiten sicherstellen (fuer direktes Laden ohne Menu-System)
(if (not *ssg-core-loaded*)
(if (getenv "DXFM_LISP")
(progn
(load (strcat (getenv "DXFM_LISP") "/ssg_core.lsp"))
(ssg-load-config)
(setq *ssg-core-loaded* t)
)
(alert "DXFM_LISP nicht gesetzt! Bitte zuerst bin\\setenv.bat ausfuehren.")
)
)
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(setq modelspace (vla-get-ModelSpace doc))
@@ -29,8 +41,26 @@
(setq aus-dx nil aus-dy nil aus-dz nil)
(setq ein-dx nil ein-dy nil ein-dz nil)
(setq separator-laenge nil umlenk-laenge nil motorstation-laenge nil)
(setq staustrecke-basis (ssg-cfg-or "vario" "staustrecke_basis" 1000))
(setq FESTE_HORIZONTAL (ssg-cfg-or "vario" "feste_horizontal" 1600))
(setq staustrecke-basis 1000) ;; Standardwert; wird in c:VarioFoerderer via ssg-cfg-or ueberschrieben
(setq FESTE_HORIZONTAL 1600)
;; Block-Zaehler (persistiert ueber mehrere Aufrufe)
(if (null #VF_LetzteNr) (setq #VF_LetzteNr 0))
;; Attribut-Definitionen fuer VF-Block (TAG Standardwert)
(setq *vf-attrib-defs*
'(("NUMMER" "0")
("MONTAGEHOEHE" "0.000")
("HOEHE_VON" "0")
("HOEHE_BIS" "0")
("DELTA_H" "0")
("DELTA_L" "0")
("L_VF_M" "0.000")
("L_GF_M" "0.000")
("ANTRIEBFAHRTRICHTUNG" "Auf")
("WINKEL" "0")
("ANZAHL_SEPARATOR" "2")
("ANZAHL_SCANNER" "0")))
;; Bogen-Tabellen (werden aus Bibliothek befüllt)
(setq bogen-auf '()) ;; Format: ((winkel dx dy dz) ...)
@@ -339,7 +369,37 @@
)
)
;; ============================================================
;; TEIL 6: BIBLIOTHEK LADEN & MAßE EXTRAHIEREN
;; TEIL 6: HILFSFUNKTIONEN BLOCK-VERWALTUNG
;; ============================================================
;; Naechste freie VF-Nummer ermitteln (sucht in vorhandenen VF_*-Bloecken)
(defun vf-next-number ( / ss i nr maxnr attribs)
(setq maxnr 0)
(setq ss (ssget "X" '((0 . "INSERT") (2 . "VF_*"))))
(if ss
(progn
(setq i 0)
(while (< i (sslength ss))
(setq attribs (ssg-attrib-read (ssname ss i)))
(foreach pair attribs
(if (= (car pair) "NUMMER")
(progn
(setq nr (atoi (cdr pair)))
(if (> nr maxnr) (setq maxnr nr))
)
)
)
(setq i (1+ i))
)
)
)
(setq #VF_LetzteNr (max #VF_LetzteNr maxnr))
(setq #VF_LetzteNr (1+ #VF_LetzteNr))
#VF_LetzteNr
)
;; ============================================================
;; TEIL 7: BIBLIOTHEK LADEN & MAßE EXTRAHIEREN
;; ============================================================
;; Laedt alle benoetigten Bloecke aus Einzeldateien und extrahiert KS-Masse.
@@ -801,17 +861,77 @@
)
;; ============================================================
;; TEIL 9: MODULE EINFÜGEN (GESAMTE ANLAGE)
;; TEIL 9: BESCHRIFTUNG & MODULE EINFÜGEN
;; ============================================================
(defun foerderanlage-einfuegen (deltaL deltaH richtung best-winkel L_GF1 L_GF2 L_VF startpunkt seite
;; Erzeugt die sichtbare Beschriftungszeile oberhalb der Foerderanlage.
;; Platzierung: horizontal zentriert ueber der Anlage, Y-Offset nach oben.
(defun vf-make-label (vf-nummer hoehe-von hoehe-bis deltaH deltaL L_VF L_GF
richtung best-winkel n-separator n-scanner startpunkt /
label-txt label-pt L_VF_str L_GF_str delta-sym)
(setq delta-sym (chr 916)) ;; Delta-Zeichen (Unicode)
(setq L_VF_str (vl-string-subst "," "." (rtos (/ L_VF 1000.0) 2 3)))
(setq L_GF_str (vl-string-subst "," "." (rtos (/ L_GF 1000.0) 2 3)))
(setq label-txt
(strcat "VF" (itoa vf-nummer)
": von " (itoa (fix hoehe-von)) "mm bis " (itoa (fix hoehe-bis)) "mm, "
delta-sym "H=" (itoa (fix deltaH)) "mm; "
delta-sym "L=" (itoa (fix deltaL)) "mm; "
"VF:" L_VF_str "m; "
"GF:" L_GF_str "m; "
richtung ": " (itoa best-winkel) grad-zeichen "; "
"Sep: " (itoa n-separator) "; "
"Scan: " (itoa n-scanner)))
;; Position: Mitte entlang X, 1500mm ueber Startpunkt in Y
(setq label-pt (list
(+ (car startpunkt) (/ deltaL 2.0))
(- (cadr startpunkt) 200.0)
(caddr startpunkt)))
(entmake (list
'(0 . "TEXT")
(cons 8 "VF_Beschriftung")
'(67 . 0) ;; Modellbereich
(cons 10 label-pt)
(cons 40 100.0)
(cons 1 label-txt)
(cons 50 0.0)
'(72 . 1) ;; horizontal zentriert
'(73 . 2) ;; vertikal mittig
(cons 11 label-pt)
))
)
(defun variofoerderer-einfuegen (deltaL deltaH richtung best-winkel L_GF1 L_GF2 L_VF startpunkt seite vf-nummer n-scanner
/ aktueller-punkt bogen-name endpunkt bogen-mass bogen-dx bogen-dz
as-block es-block)
as-block es-block
lastEnt vf-ss vf-e vf-bname vf-insert
hoehe-von hoehe-bis montagehoehe-m L_GF attdef-ypos)
(setq aktueller-punkt startpunkt)
(setq as-block (strcat "_3D_AS_90_" seite))
(setq es-block (strcat "_3D_ES_90_" seite))
(if (not *lib-initialized*) (init-bibliothek))
;; Letzte bestehende Entity merken (fuer spaetere Block-Erstellung)
(setq lastEnt (entlast))
(if (and lastEnt
(= (cdr (assoc 0 (entget lastEnt))) "INSERT")
(= (cdr (assoc 66 (entget lastEnt))) 1))
(progn
(setq lastEnt (entnext lastEnt))
(while (and lastEnt (/= (cdr (assoc 0 (entget lastEnt))) "SEQEND"))
(setq lastEnt (entnext lastEnt))
)
)
)
;; Hoehenangaben fuer Attribute und Beschriftung
(setq hoehe-von (caddr startpunkt))
(setq hoehe-bis (cond
((= richtung "Auf") (+ hoehe-von deltaH))
((= richtung "Ab") (- hoehe-von deltaH))
(t hoehe-von)))
;; 1. AUS_Element
(princ (strcat "\n\n1/11: " as-block " (0°)"))
(setq aktueller-punkt (insert-block-by-ks as-block aktueller-punkt))
@@ -834,9 +954,9 @@
;; 4. Umlenkstation Rotation um 3° um Y-Achse
(princ "\n\n4/11: Umlenkstation (500mm, 3° geneigt)")
(setq aktueller-punkt (insert-rotated-block-with-ks "Vario_Umlenkstation_500mm" aktueller-punkt 0
(ssg-cfg-or "vario" "station_block_dx" 499)
(ssg-cfg-or "vario" "station_block_dz" -26)))
(setq aktueller-punkt (insert-rotated-block-with-ks "Vario_Umlenkstation_500mm" aktueller-punkt (ssg-cfg-or "vario" "gefaelle_winkel" 3)
(ssg-cfg-or "vario" "station_block_dx" 500)
(ssg-cfg-or "vario" "station_block_dz" 0)))
;; 5. 1. Vertikalbogen
(if (= richtung "Auf")
@@ -895,9 +1015,9 @@
;; 8. Motorstation Rotation um 3° um Y-Achse
(princ "\n\n8/11: Motorstation (500mm, 3° geneigt)")
(setq aktueller-punkt (insert-rotated-block-with-ks "Vario_Motorstation_500mm" aktueller-punkt 0
(ssg-cfg-or "vario" "station_block_dx" 499)
(ssg-cfg-or "vario" "station_block_dz" -26)))
(setq aktueller-punkt (insert-rotated-block-with-ks "Vario_Motorstation_500mm" aktueller-punkt (ssg-cfg-or "vario" "gefaelle_winkel" 3)
(ssg-cfg-or "vario" "station_block_dx" 500)
(ssg-cfg-or "vario" "station_block_dz" 0)))
;; 9. 2. Gefällestrecke
(if (> L_GF2 0.1)
@@ -920,25 +1040,91 @@
(setq endpunkt (insert-block-by-ks es-block aktueller-punkt))
(princ "\n\n=========================================")
(princ "\n>>> Förderanlage erfolgreich eingefügt! <<<")
(princ "\n>>> VarioFoerderer erfolgreich eingefuegt!")
;; ====== BLOCK ERSTELLEN ======
(setq L_GF (+ L_GF1 L_GF2))
;; Beschriftungstext erzeugen (wird Teil des Blocks)
(vf-make-label vf-nummer hoehe-von hoehe-bis deltaH deltaL L_VF L_GF
richtung best-winkel 2 n-scanner startpunkt)
;; Unsichtbare ATTDEFs am Startpunkt erzeugen (werden Teil des Blocks)
(setq attdef-ypos (cadr startpunkt))
(foreach def *vf-attrib-defs*
(entmake (list
'(0 . "ATTDEF")
'(8 . "0")
'(67 . 0) ;; Modellbereich
(cons 10 (list (car startpunkt) attdef-ypos (caddr startpunkt)))
'(40 . 50.0)
(cons 1 (cadr def))
(cons 3 (car def))
(cons 2 (car def))
'(70 . 1) ;; unsichtbar
))
(setq attdef-ypos (- attdef-ypos 100.0))
)
;; Alle neuen Entities (seit lastEnt) in Selektionssatz sammeln
(setq vf-ss (ssadd))
(if lastEnt
(setq vf-e (entnext lastEnt))
(setq vf-e (entnext))
)
(while vf-e
(ssadd vf-e vf-ss)
(setq vf-e (entnext vf-e))
)
(setq vf-bname (strcat "VF_" (itoa vf-nummer)))
(if (> (sslength vf-ss) 0)
(progn
(setvar "ATTREQ" 0)
(setvar "ATTDIA" 0)
(command "_.-BLOCK" vf-bname startpunkt vf-ss "")
(command "_.INSERT" vf-bname startpunkt 1.0 1.0 0.0)
(setvar "ATTREQ" 1)
;; Attributwerte auf den eingefuegten Block setzen
(setq vf-insert (entlast))
(setq montagehoehe-m (/ (+ hoehe-von hoehe-bis) 2000.0))
(ssg-attrib-set-on vf-insert
(list
(cons "NUMMER" (itoa vf-nummer))
(cons "MONTAGEHOEHE" (rtos montagehoehe-m 2 3))
(cons "HOEHE_VON" (itoa (fix hoehe-von)))
(cons "HOEHE_BIS" (itoa (fix hoehe-bis)))
(cons "DELTA_H" (itoa (fix deltaH)))
(cons "DELTA_L" (itoa (fix deltaL)))
(cons "L_VF_M" (rtos (/ L_VF 1000.0) 2 3))
(cons "L_GF_M" (rtos (/ L_GF 1000.0) 2 3))
(cons "ANTRIEBFAHRTRICHTUNG" richtung)
(cons "WINKEL" (itoa best-winkel))
(cons "ANZAHL_SEPARATOR" "2")
(cons "ANZAHL_SCANNER" (itoa n-scanner))
)
)
(princ (strcat "\n>>> Block '" vf-bname "' erstellt und eingefuegt."))
)
(princ "\n>>> FEHLER: Keine Entities fuer Block gefunden!")
)
(princ "\n=========================================")
endpunkt
nil
)
;; ============================================================
;; TEIL 10: HAUPTFUNKTION
;; ============================================================
(defun c:FOERDERANLAGE ( / eingabe-modus line-points startpunkt endpunkt differenz
(defun c:VarioFoerderer ( / eingabe-modus line-points startpunkt endpunkt differenz
deltaL deltaH deltaX deltaY richtung ergebnis
best-winkel L_GF L_GF1 L_GF2 L_VF ergebnis-liste
antwort verteilung-modus
gueltige-winkel idx eintrag wahl
seite)
seite vf-nummer n-scanner)
;; (dbgf "c:FOERDERANLAGE")
(princ "\n=========================================")
(princ "\n FÖRDERANLAGE GENERATOR v25.0")
(princ "\n (Komplett bibliotheksbasiert)")
(princ "\n VARIOFOERDERER GENERATOR v25.0")
(princ "\n (Komplett bibliotheksbasiert)")
(princ "\n=========================================")
;; Bibliothek initialisieren
@@ -948,7 +1134,15 @@
(exit)
)
)
;; Konfigurationswerte laden (ssg-core muss bereits geladen sein)
(setq staustrecke-basis (ssg-cfg-or "vario" "staustrecke_basis" 1000))
(setq FESTE_HORIZONTAL (ssg-cfg-or "vario" "feste_horizontal" 1600))
;; VF-Nummer automatisch ermitteln
(setq vf-nummer (vf-next-number))
(princ (strcat "\n>>> Naechste VF-Nummer: VF" (itoa vf-nummer)))
(princ "\n\nEingabemodus wählen:")
(princ "\n 1 - 3D-Linie auswählen (Start- und Endpunkt mit Höhe)")
(princ "\n 2 - Werte manuell eingeben")
@@ -1122,11 +1316,15 @@
(princ (strcat "\n\n>>> L_GF1 (vorne): " (rtos L_GF1 2 2) " mm"))
(princ (strcat "\n>>> L_GF2 (hinten): " (rtos L_GF2 2 2) " mm"))
(princ "\n\nMöchten Sie die Förderanlage einfügen?\n 1 - Ja, Module einfügen\n 2 - Nein, abbrechen")
;; Anzahl Scanner abfragen
(setq n-scanner (getint "\nAnzahl Scanner [0]: "))
(if (null n-scanner) (setq n-scanner 0))
(princ "\n\nMoechten Sie die Foerderanlage einfuegen?\n 1 - Ja, Module einfuegen\n 2 - Nein, abbrechen")
(setq antwort (getstring "\nIhre Wahl (1/2): "))
(if (= antwort "1")
(foerderanlage-einfuegen deltaL deltaH richtung best-winkel L_GF1 L_GF2 L_VF startpunkt-fuer-einfuegen seite)
(variofoerderer-einfuegen deltaL deltaH richtung best-winkel L_GF1 L_GF2 L_VF startpunkt-fuer-einfuegen seite vf-nummer n-scanner)
(princ "\nVorgang abgebrochen.")
)
@@ -1135,9 +1333,12 @@
;; ============================================================
;; START
;; ============================================================
;; Rueckwaertskompatibilitaet
(defun c:FOERDERANLAGE () (c:VarioFoerderer))
(princ "\n=========================================")
(princ "\n>>> FOERDERANLAGE GENERATOR v25.0 geladen <<<")
(princ "\n>>> Befehle: FOERDERANLAGE <<<")
(princ "\n>>> VarioFoerderer Generator v25.0 geladen <<<")
(princ "\n>>> Befehle: VarioFoerderer (Alias: FOERDERANLAGE) <<<")
(princ "\n>>> 100% bibliotheksbasiert - KEINE Fallbacks <<<")
(princ "\n=========================================")
(princ)
Binary file not shown.
-3986
View File
File diff suppressed because it is too large Load Diff
-3986
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+96 -96
View File
@@ -4,124 +4,124 @@
[SSG_LIB]
[->ILS]
[->Kreisel-Module]
[Einfuegen]^C^CKreiselInsert
[Verbinden]^C^CKreiselConnect
[Bearbeiten]^C^CKreiselEdit
[<-Eckrad]^C^CILS_Eckrad
[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
[->Zusatzmodul]
[BTMT-Beladung]^C^CILS_BTMT_Beladung
[<-BTMT-Entladung]^C^CILS_BTMT_Entladung
[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^CILS_ETF_Etagenfoerderer
[Durch TEF angetriebene Strecke]^C^CILS_TEF_Strecke
[VarioFoerderer]^C^CFOERDERANLAGE
[ETF Etagenfoerderer]^C^C(ssg-ensure "SSG_LIB_Commands") ILS_ETF_Etagenfoerderer
[Durch TEF angetriebene Strecke]^C^C(ssg-ensure "SSG_LIB_Commands") ILS_TEF_Strecke
[VarioFoerderer]^C^C(ssg-ensure "VarioFoerderer") FOERDERANLAGE
[--]
[90 Kurve links angetrieben Aussen]^C^CILS_K90LA
[90 Kurve rechts angetrieben Aussen]^C^CILS_K90RA
[60 Kurve links angetrieben Aussen]^C^CILS_K60LA
[60 Kurve rechts angetrieben Aussen]^C^CILS_K60RA
[30 Kurve links angetrieben Aussen]^C^CILS_K30LA
[30 Kurve rechts angetrieben Aussen]^C^CILS_K30RA
[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^CILS_K90LI
[90 Kurve rechts angetrieben Innen]^C^CILS_K90RI
[60 Kurve links angetrieben Innen]^C^CILS_K60LI
[60 Kurve rechts angetrieben Innen]^C^CILS_K60RI
[30 Kurve links angetrieben Innen]^C^CILS_K30LI
[<-30 Kurve rechts angetrieben Innen]^C^CILS_K30RI
[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]
[Gefaellestrecke]^C^CILS_Gefaellestrecke
[Gefaellestrecke]^C^C(ssg-ensure "Gefaellestrecke") GEFAELLESTRECKE
[--]
[90 Kurve links Gefaellestrecke]^C^CILS_GK90L
[90 Kurve rechts Gefaellestrecke]^C^CILS_GK90R
[60 Kurve links Gefaellestrecke]^C^CILS_GK60L
[60 Kurve rechts Gefaellestrecke]^C^CILS_GK60R
[30 Kurve links Gefaellestrecke]^C^CILS_GK30L
[<-30 Kurve rechts Gefaellestrecke]^C^CILS_GK30R
[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
[->Omniflo]
[->Boegen]
[90]^C^COMNI_APB_630_90
[67.5]^C^COMNI_APB_550_675
[45]^C^COMNI_APB_630_45
[22.5]^C^COMNI_APB_550_225
[<-180 ]^C^COMNI_APB_650_180
[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
[->Aluprofil Gerade]
[AP 60]^C^COMNI_AP60
[AP 110]^C^COMNI_AP110
[<-APG 110]^C^COMNI_APG110
[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
[->Weiche 90 Grad]
[Einfach 90 700/700 links M]^C^COMNI_W90_Einfach
[Doppel 90 700/700 M]^C^COMNI_W90_Doppel
[<-Dreiwege 90 700/700 M]^C^COMNI_W90_Dreiwege
[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
[->Weiche 45 Grad]
[Einfach 45 350/700 links M]^C^COMNI_W45_Einfach
[Doppel 45 350/700 M]^C^COMNI_W45_Doppel
[<-Dreiwege 45 350/700 M]^C^COMNI_W45_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
[->Weichen Parallel]
[Einfach Parallel 200/750 links M]^C^COMNI_WP_Einfach
[Doppel Parallel 200/750 M]^C^COMNI_WP_Doppel
[<-Dreiwege Parallel 200/750 M]^C^COMNI_WP_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
[->Weichenkoerper]
[Einfach 22.5 links M]^C^COMNI_WK_Einfach
[Doppel 22.5 M]^C^COMNI_WK_Doppel
[<-Dreiwege 22.5 M]^C^COMNI_WK_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
[->Weichenkombinationen]
[Delta 1400/700 M]^C^COMNI_WKomb_Delta
[<-Star 1400/1400 M]^C^COMNI_WKomb_Star
[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 Elemente]
[Umlenkspannst. rechts fuer TEF links]^C^COMNI_TEF_UmlenkR
[Umlenkspannst. links fuer TEF rechts]^C^COMNI_TEF_UmlenkL
[Antriebst. links fuer TEF links]^C^COMNI_TEF_AntriebL
[Antriebst. rechts fuer TEF rechts]^C^COMNI_TEF_AntriebR
[<-TEF Gerade]^C^COMNI_TEF_Gerade
[KettenFoerderer]^C^COMNI_KettenFoerderer
[Umlenkspannst. rechts fuer TEF links]^C^C(ssg-ensure "OmniModulInsert") OMNI_TEF_UmlenkR
[Umlenkspannst. links fuer TEF rechts]^C^C(ssg-ensure "OmniModulInsert") OMNI_TEF_UmlenkL
[Antriebst. links fuer TEF links]^C^C(ssg-ensure "OmniModulInsert") OMNI_TEF_AntriebL
[Antriebst. rechts fuer TEF rechts]^C^C(ssg-ensure "OmniModulInsert") OMNI_TEF_AntriebR
[<-TEF Gerade]^C^C(ssg-ensure "OmniModulInsert") OMNI_TEF_Gerade
[KettenFoerderer]^C^C(ssg-ensure "OmniModulInsert") OMNI_KettenFoerderer
[->Verbinder]
[TV W-W kpl]^C^COMNI_TV_W_W
[TV W-AP110 kpl]^C^COMNI_TV_W_AP110
[TV W-AP60 oben kpl.]^C^COMNI_TV_W_AP60
[TV W-AP110-W kpl]^C^COMNI_TV_W_AP110_W
[TV W-AP oben kpl]^C^COMNI_TV_W_AP
[TV 80]^C^COMNI_TV_80
[TV 50]^C^COMNI_TV_50
[Endplatte Al-Profil AP schraubbar]^C^COMNI_TV_ENDPLATTE
[Anschlag AP-Ende fuer Spulenzug]^C^COMNI_TV_ANSCHLAG
[TV-A fuer AP110/AP60 kpl]^C^COMNI_TV_A_AP110_AP60
[TV-A fuer AP60/ST]^C^COMNI_TV_A_AP60_ST
[TV-A fuer AP110/ST kpl]^C^COMNI_TV_A_AP110_ST
[TV-SW II fuer SW-SW]^C^COMNI_TV_SW_II_SW_SW
[TV-SW III fuer SW-AP110-SW]^C^COMNI_TV_SW_III_AP110_SW
[TV-SW III fuer SW-AP110]^C^COMNI_TV_SW_III_AP110
[TV-SW IV fuer Anschluss SW-AP60]^C^COMNI_TV_SW_IV_AP60
[TV-SW IV fuer SW-ST]^C^COMNI_TV_SW_IV_ST
[<-Muffe]^C^COMNI_TV_MUFFE
[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
[->Boegen fuer Weichen]
[APB 110 R400/45 140 nur fuer Delta]^C^COMNI_APBW_R400_45_140
[APB 110 R550/45 194 nur fuer Delta]^C^COMNI_APBW_R550_45_194
[APBW 110 R550/22,5 360x248,5]^C^COMNI_APBW_R550_225_360
[APBW 110 R550/22,5 410x298,5]^C^COMNI_APBW_R550_225_410A
[APBW 110 R550/22,5 410x78,5]^C^COMNI_APBW_R550_225_410B
[APBW 110 R550/22,5 410x98,5]^C^COMNI_APBW_R550_225_410C
[APBW 110 R550/67,5 360x598,5]^C^COMNI_APBW_R550_675_360
[APBW 110 R400/67,5 260x398,5]^C^COMNI_APBW_R400_675_260
[APBW 110 R550/45 77x160]^C^COMNI_APBW_R550_45_77
[APBW 110 R550/67,5 125x83,5]^C^COMNI_APBW_R550_675_125
[APBW 110 R750/90 200x290]^C^COMNI_APBW_R750_90_200
[APBW 110 R650/90 300x190]^C^COMNI_APBW_R650_90_300
[APBW 110 R550/67,5 208x347]^C^COMNI_APBW_R550_675_208
[<-APBW 110 R550/67,5 58x497]^C^COMNI_APBW_R550_675_58
[<-Element bearbeiten]^C^COMNI_EDIT
[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
[->External]
[Call Python]^C^CCALLPYTHON
[Export Sivas]^C^CEXPORTSIVAS
[<-Export CSV]^C^CEXPORTCSV
[Call Python]^C^C(ssg-ensure "export") CALLPYTHON
[Export Sivas]^C^C(ssg-ensure "export") EXPORTSIVAS
[<-Export CSV]^C^C(ssg-ensure "export") EXPORTCSV
***DOUBLECLICK
[INSERT]^C^CSSG_BLOCKEDIT
[INSERT]^C^C(ssg-ensure "SSG_LIB_Commands") SSG_BLOCKEDIT
***POP501
[SSG_LIB Edit Context]
[Kreisel bearbeiten]KreiselEdit
[Omniflo Element bearbeiten]OMNI_EDIT
[Kreisel bearbeiten](ssg-ensure "KreiselInsert") KreiselEdit
[Omniflo Element bearbeiten](ssg-ensure "OmniModulInsert") OMNI_EDIT
[--]
[SSG Bearbeiten (Auto)]SSG_BLOCKEDIT
[SSG Bearbeiten (Auto)](ssg-ensure "SSG_LIB_Commands") SSG_BLOCKEDIT