205 lines
4.5 KiB
Common Lisp
205 lines
4.5 KiB
Common Lisp
;; ============================================================
|
|
;; SSG_LIB - Dummy-Befehlsdefinitionen fuer Menue SSG_LIB
|
|
;; Jeder Befehl gibt eine Meldung aus und kann spaeter
|
|
;; durch echte Funktionalitaet ersetzt werden.
|
|
;; ============================================================
|
|
|
|
;; --- ILS / Zusatzmodul ---
|
|
(defun c:ILS_BTMT_Beladung ()
|
|
(princ "\n[DUMMY] ILS_BTMT_Beladung aufgerufen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_BTMT_Entladung ()
|
|
(princ "\n[DUMMY] ILS_BTMT_Entladung aufgerufen")
|
|
(princ)
|
|
)
|
|
|
|
;; --- ILS / Foerderer ---
|
|
(defun c:ILS_ETF_Etagenfoerderer ()
|
|
(princ "\n[DUMMY] ILS_ETF_Etagenfoerderer aufgerufen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_TEF_Strecke ()
|
|
(princ "\n[DUMMY] ILS_TEF_Strecke aufgerufen")
|
|
(princ)
|
|
)
|
|
|
|
;; FOERDERANLAGE ist bereits in VarioFoerderer.lsp definiert
|
|
|
|
;; Kurven angetrieben Aussen
|
|
(defun c:ILS_K90LA ()
|
|
(princ "\n[DUMMY] 90 Kurve links angetrieben Aussen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_K90RA ()
|
|
(princ "\n[DUMMY] 90 Kurve rechts angetrieben Aussen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_K60LA ()
|
|
(princ "\n[DUMMY] 60 Kurve links angetrieben Aussen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_K60RA ()
|
|
(princ "\n[DUMMY] 60 Kurve rechts angetrieben Aussen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_K30LA ()
|
|
(princ "\n[DUMMY] 30 Kurve links angetrieben Aussen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_K30RA ()
|
|
(princ "\n[DUMMY] 30 Kurve rechts angetrieben Aussen")
|
|
(princ)
|
|
)
|
|
|
|
;; Kurven angetrieben Innen
|
|
(defun c:ILS_K90LI ()
|
|
(princ "\n[DUMMY] 90 Kurve links angetrieben Innen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_K90RI ()
|
|
(princ "\n[DUMMY] 90 Kurve rechts angetrieben Innen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_K60LI ()
|
|
(princ "\n[DUMMY] 60 Kurve links angetrieben Innen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_K60RI ()
|
|
(princ "\n[DUMMY] 60 Kurve rechts angetrieben Innen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_K30LI ()
|
|
(princ "\n[DUMMY] 30 Kurve links angetrieben Innen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_K30RI ()
|
|
(princ "\n[DUMMY] 30 Kurve rechts angetrieben Innen")
|
|
(princ)
|
|
)
|
|
|
|
;; --- ILS / Gefaellestrecke ---
|
|
(defun c:ILS_Gefaellestrecke ()
|
|
(princ "\n[DUMMY] ILS_Gefaellestrecke aufgerufen")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_GK90L ()
|
|
(princ "\n[DUMMY] 90 Kurve links Gefaellestrecke")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_GK90R ()
|
|
(princ "\n[DUMMY] 90 Kurve rechts Gefaellestrecke")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_GK60L ()
|
|
(princ "\n[DUMMY] 60 Kurve links Gefaellestrecke")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_GK60R ()
|
|
(princ "\n[DUMMY] 60 Kurve rechts Gefaellestrecke")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_GK30L ()
|
|
(princ "\n[DUMMY] 30 Kurve links Gefaellestrecke")
|
|
(princ)
|
|
)
|
|
|
|
(defun c:ILS_GK30R ()
|
|
(princ "\n[DUMMY] 30 Kurve rechts Gefaellestrecke")
|
|
(princ)
|
|
)
|
|
|
|
;; ============================================================
|
|
;; SSG_BLOCKEDIT - Kontextmenue-Dispatcher
|
|
;; Erkennt den selektierten Blocktyp und ruft den passenden
|
|
;; Bearbeitungsbefehl auf (Rechtsklick-Kontextmenue).
|
|
;; ============================================================
|
|
|
|
(defun c:SSG_BLOCKEDIT ( / ss ent ed bname attribs teileart)
|
|
;; Implied Selection pruefen (Block muss vorselektiert sein)
|
|
(setq ss (ssget "I"))
|
|
(if (null ss)
|
|
(progn
|
|
(princ "\nBitte zuerst einen Block auswaehlen.")
|
|
(princ)
|
|
(exit)
|
|
)
|
|
)
|
|
(if (/= (sslength ss) 1)
|
|
(progn
|
|
(princ "\nBitte genau einen Block auswaehlen.")
|
|
(princ)
|
|
(exit)
|
|
)
|
|
)
|
|
|
|
(setq ent (ssname ss 0))
|
|
(setq ed (entget ent))
|
|
|
|
(if (/= (cdr (assoc 0 ed)) "INSERT")
|
|
(progn
|
|
(princ "\nKein Block ausgewaehlt.")
|
|
(princ)
|
|
(exit)
|
|
)
|
|
)
|
|
|
|
(setq bname (cdr (assoc 2 ed)))
|
|
|
|
(cond
|
|
;; Kreisel-Bloecke -> KreiselEdit
|
|
((wcmatch bname "KREISEL_*")
|
|
(princ (strcat "\nKreisel bearbeiten: " bname))
|
|
(c:KreiselEdit)
|
|
)
|
|
|
|
;; Eckrad-Bloecke -> BEDIT (kein eigener Edit-Dialog in LISP)
|
|
((wcmatch bname "ECKRAD_*")
|
|
(princ (strcat "\nEckrad bearbeiten: " bname))
|
|
(command "_.BEDIT" bname)
|
|
)
|
|
|
|
;; Omniflo-Bloecke -> OMNI_EDIT
|
|
;; Erkennung: TEILEART-Attribut vorhanden, AP110-Blockname oder rein numerisch
|
|
((progn
|
|
(setq attribs (ssg-attrib-read ent))
|
|
(setq teileart (cdr (assoc "TEILEART" attribs)))
|
|
(or
|
|
teileart
|
|
(wcmatch (strcase bname) "AP110*,AP_110*,APG110*")
|
|
(wcmatch bname "#*")
|
|
)
|
|
)
|
|
(princ (strcat "\nOmniflo Element bearbeiten: " bname))
|
|
(c:OMNI_EDIT)
|
|
)
|
|
|
|
;; Unbekannter Blocktyp -> Standard BEDIT
|
|
(t
|
|
(princ (strcat "\nBlock bearbeiten (BEDIT): " bname))
|
|
(command "_.BEDIT" bname)
|
|
)
|
|
)
|
|
(princ)
|
|
)
|
|
|
|
(princ "\nSSG_LIB_Commands.lsp geladen - Dummy-Befehle registriert.")
|
|
(princ)
|