;............................................................
;:      DATE : 91-01-01    Kunde:                           :
;:      Schuetz/Schmidt    AutoCAD-Version 11               :
;:      Version 1.0        ab Version 2.6                   :
;:                                                          :
;:      OFA.LSP            Gesetzte Fangmodi als Text       :
;:..........................................................:
;
;Deklaration:
;       ostr    alle ges. Fangmodi              Str
;       osms    zustzlicher Fangmodus          Str
;       osmo    OSMODE zum abzhlen             Int

(DEFUN osst (osms)
                        ;Stringaufbereitungs-Funktion
                        ;Parameter, neu anzufgender String
        (IF ostr
                        ;wenn ostr vorhanden
             (SETQ ostr (STRCAT osms ", " ostr))
                        ;dann ostr auf osms + ostr setzen
             (SETQ ostr osms)
                        ;sonst ostr auf osms setzen
        )
)

(DEFUN C:ofa ()         ;Gesetzter Fangmodus zurckgeben
     (SETQ osmo (GETVAR "OSMODE")
                        ;OSMODE in osmo speichern
         ostr NIL
                        ;ostr initialisieren
     )
     (IF (> osmo 0)
                        ;wenn osmo grsser 0
        (PROGN
             (WHILE (> osmo 0)
                        ;solange osmo grsser 0
                (COND
                ((>= osmo 1024)
                        ;wenn osmo grsser 1024
                    (SETQ osmo (- osmo 1024))
                        ;dann osmo minus 1024
                    (osst "QUIck")
                        ;osst aufrufen und QUIck mitgeben
                )
                        ;ende wenn
                ((>= osmo 512)
                    (SETQ osmo (- osmo 512))
                    (osst "NChster")
                )
                ((>= osmo 256)
                    (SETQ osmo (- osmo 256))
                    (osst "TANgente")
                )
                ((>= osmo 128)
                    (SETQ osmo (- osmo 128))
                    (osst "LOT auf")
                )
                ((>= osmo 64)
                    (SETQ osmo (- osmo 64))
                    (osst "BASispt.")
                )
                ((>= osmo 32)
                    (SETQ osmo (- osmo 32))
                    (osst "SCHNittpunkt")
                )
                ((>= osmo 16)
                    (SETQ osmo (- osmo 16))
                    (osst "QUAdrant")
                )
                ((>= osmo 8)
                    (SETQ osmo (- osmo 8))
                    (osst "PUNkt")
                )
                ((>= osmo 4)
                    (SETQ osmo (- osmo 4))
                    (osst "ZENtrum")
                )
                ((>= osmo 2)
                    (SETQ osmo (- osmo 2))
                    (osst "MITtelpunkt")
                )
                ((>= osmo 1)
                    (SETQ osmo (- osmo 1))
                    (osst "ENDpunkt")
                )
                )
                        ;ende wenn
             )
                        ;ende solange osmo grsser 0
             (PRINC (STRCAT ostr " ist aktiv\n"))
                        ;Meldung ausgeben
        )
        (PRINC "Kein Fangmodus aktiv\n")
                        ;sonst Meldung ausgeben
    )
    (PRINC)
                        ;unterdrcken der Rckgabe
)
