;; --------------------------------------------------------------------------------------------------- ;; ;; -- LAYOUT_GET_DATEN : Liest Layoutinformationen aus der aktuellen Zeichnung aus und liefert -- ;; ;; -- diese in Form einer Liste zurück -- ;; ;; --------------------------------------------------------------------------------------------------- ;; (defun LAYOUT_GET_DATEN (/ LAYOUTS LAYOUT_EINTRAG LAYOUT_LISTE LAYOUT) (setq LAYOUTS (entget (cdr (assoc 350 ; Layoutsliste auslesen (member '(3 . "ACAD_LAYOUT") (entget (namedobjdict)) ) ) ) ) ) (while (> (length LAYOUTS) 0) ; alle definierten Layouts durchlaufen... (setq LAYOUTS (member (cons 3 (cdr (assoc 3 LAYOUTS))) LAYOUTS)) ;.. ab ersten LAYOUTNAMEN beginnen.. (if (and (= (type (cdr (assoc 350 LAYOUTS))) 'ENAME) ; Layoutdefinition gefunden ? (= (cdr (assoc 0 (entget (cdr (assoc 350 LAYOUTS))))) "LAYOUT" ) ) (progn (setq LAYOUT_EINTRAG (entget (cdr (assoc 350 LAYOUTS)))) ; Layouteigenschaften auslesen (setq LAYOUT_LISTE (append LAYOUT_LISTE (list (cons (cdr (assoc 71 LAYOUT_EINTRAG)) ; LAYOUT-Nummer (cdr (assoc 3 LAYOUTS)) ) ) ) ; LAYOUT-Name ) ) ) (setq LAYOUTS (cddr LAYOUTS)) ) LAYOUT_LISTE ) ;; --------------------------------------------------------------------------------------------------- ;; ;; --------------------------------------------------------------------------------------------------- ;; ;; -- LAYOUT_GET_NAME : Gibt den Namen des Layouts mit der angegebenen Nummer zurück. -- ;; ;; --------------------------------------------------------------------------------------------------- ;; (defun LAYOUT_GET_NAME (NUMMER / LAYOUT LAYOUTLISTE NAME) (setq LAYOUTLISTE (LAYOUT_GET_DATEN)) (while (and (> (length LAYOUTLISTE) 0) (not NAME)) (if (= NUMMER (nth 0 (car LAYOUTLISTE))) (setq NAME (nth 1 (car LAYOUTLISTE))) ) (setq LAYOUTLISTE (cdr LAYOUTLISTE)) ) NAME ) ;; --------------------------------------------------------------------------------------------------- ;; ;; --------------------------------------------------------------------------------------------------- ;; ;; -- Switch_LAYOUTS : Schaltet auf das Layout mit der angegebenen Nummer -- ;; ;; --------------------------------------------------------------------------------------------------- ;; (defun Switch_LAYOUTS (NR / LAYOUTS OLDCMD) (if (and(=(type NR) 'INT)(>= NR 0)) (progn (setq OLDCMD (getvar "CMDECHO")) (setvar "CMDECHO" 0) (setq LAYOUTS (LAYOUT_GET_DATEN)) (if (assoc NR LAYOUTS) (progn (setvar "CTAB" (cdr(assoc NR LAYOUTS))) (command "_zoom" "_e") ) ) (setvar "CMDECHO" OLDCMD) ) ) ) ;; --------------------------------------------------------------------------------------------------- ;; ;; Aufruf dann mit (Switch_LAYOUTS 1) oder (Switch_LAYOUTS A) usw. (defun C:1 (/) (switch_layouts 0)) (defun C:A (/) (switch_layouts 1)) (defun C:B (/) (switch_layouts 2)) (defun C:C (/) (switch_layouts 3)) (defun C:D (/) (switch_layouts 4)) (defun C:E (/) (switch_layouts 5)) (defun C:F (/) (switch_layouts 6)) (defun C:G (/) (switch_layouts 7)) (defun C:H (/) (switch_layouts 8)) (defun C:I (/) (switch_layouts 9)) (defun C:J (/) (switch_layouts 10)) (defun C:K (/) (switch_layouts 11)) (defun C:L (/) (switch_layouts 12)) (defun C:M (/) (switch_layouts 13)) (defun C:N (/) (switch_layouts 14)) (defun C:O (/) (switch_layouts 15)) (defun C:P (/) (switch_layouts 16)) (defun C:Q (/) (switch_layouts 17)) (defun C:R (/) (switch_layouts 18)) (defun C:S (/) (switch_layouts 19)) (defun C:T (/) (switch_layouts 20)) (defun C:U (/) (switch_layouts 21)) (defun C:V (/) (switch_layouts 22)) (defun C:W (/) (switch_layouts 23)) (defun C:X (/) (switch_layouts 24)) (defun C:Y (/) (switch_layouts 25)) (defun C:z (/) (switch_layouts 26)) (defun C:T1 (/) (switch_layouts 27)) (defun C:T2 (/) (switch_layouts 28)) (defun C:T3 (/) (switch_layouts 29)) (defun C:T4 (/) (switch_layouts 30)) (defun C:T5 (/) (switch_layouts 31)) (defun C:T6 (/) (switch_layouts 32)) (defun C:T7 (/) (switch_layouts 33)) (defun C:T8 (/) (switch_layouts 34)) (defun C:T9 (/) (switch_layouts 35)) (defun C:T10 (/) (switch_layouts 36)) (defun C:T11 (/) (switch_layouts 37))