;------------------------------------------------------------------------;
; ALU-KOMPONENTEN - ALU_K4.LSP  - WBs mit 180 Abstand                    ;
;------------------------------------------------------------------------;
; AW 10.09.94                                                            ;
;------------------------------------------------------------------------;
(defun Dbox (/ Dat)
  (setq Dat (load_dialog (strcat lw "/acadsst/steuerg/PRITSCHE.DCL")))
  (if (not (new_dialog "PRITSCHE" Dat)) (exit))
  (set_tile "KOMP" m_KOMP)            ; Komponente
  (set_tile "BREI"     m_BREI)        ; Komponentenbreite - def. 300
  (set_tile "DECKEL"     m_DECKEL)    ; Deckel - default = mit Deckel
  (ACTION_TILE "KOMP" "(zeig_dia)")
  (ACTION_TILE "DECKEL" "(zeig_dia)")
  (action_tile "accept" "(SetPara) (done_dialog)")
  (action_tile "cancel" "(exit) (done_dialog)")
  (start_dialog)
  (unload_dialog Dat)
)

(defun zeig_dia()
  (setq m_KOMP (get_tile "KOMP"))
  (setq breite (dimx_tile "anzeige"))
  (setq hoehe  (dimy_tile "anzeige"))
  (start_image "anzeige")
  (FILL_IMAGE 0 0 breite hoehe -18)
  (if (= m_KOMP "0")
    (progn
      (if (= m_DECKEL "DECKEL_1")
      (slide_image 0 0 breite hoehe "steuerg(p_rinne-)")
      (slide_image 0 0 breite hoehe "steuerg(p_rinne)")
    )
  )
  (if (= m_KOMP "1") 
    (slide_image 0 0 breite hoehe "steuerg(p_bog45)")
  )
  (if (= m_KOMP "2") 
    (slide_image 0 0 breite hoehe "steuerg(p_bog90)")
  )
  (if (= m_KOMP "3") 
    (slide_image 0 0 breite hoehe "steuerg(p_abz_t)")
  )
  (if (= m_KOMP "4") 
    (slide_image 0 0 breite hoehe "steuerg(p_kreuz)")
  )
  (if (= m_KOMP "5") 
    (slide_image 0 0 breite hoehe "steuerg(p_an_abz)")
  )
  (if (= m_KOMP "6") 
    (slide_image 0 0 breite hoehe "steuerg(p_tabzbr)")
  )
  (if (= m_KOMP "7") 
    (slide_image 0 0 breite hoehe "steuerg(p_tabzsc)")
  )
  (if (= m_KOMP "8") 
    (slide_image 0 0 breite hoehe "steuerg(p_reduz)")
  )
  (if (= m_KOMP "9") 
    (slide_image 0 0 breite hoehe "steuerg(p_bend)")
  )
  (if (= m_KOMP "10") 
    (slide_image 0 0 breite hoehe "steuerg(p_langvb)")
  )
  (if (= m_KOMP "11") 
    (slide_image 0 0 breite hoehe "steuerg(p_wandau)")
  )
  (if (= m_KOMP "12") 
    (slide_image 0 0 breite hoehe "steuerg(p_mka)")
  )
  (if (= m_KOMP "13") 
    (slide_image 0 0 breite hoehe "steuerg(p_winkv)")
  )
  (if (= m_KOMP "14") 
    (slide_image 0 0 breite hoehe "steuerg(p_flrund)")
  )
  (if (= m_KOMP "15") 
    (slide_image 0 0 breite hoehe "steuerg(p_gelenk)")
  )
  (if (= m_KOMP "16") 
    (slide_image 0 0 breite hoehe "steuerg(p_trenn)")
  )
  (if (= m_KOMP "17") 
    (slide_image 0 0 breite hoehe "steuerg(p_shs)")
  )
  (if (= m_KOMP "18") 
    (slide_image 0 0 breite hoehe "steuerg(p_shs_e)")
  )
  (end_image)
)

(defun SetPara ()
  (setq m_KOMP   (get_tile "KOMP"))
  (setq m_BREI   (get_tile "SATZ"))
  (setq m_DECKEL (get_tile "AUSF"))  

  ;------ Komponente definieren
  (if (= m_KOMP "0") 
    (progn
      (setq BL_NAME "WBE2L18")
      (setq BEZ "WB 1SW+APB R550/90-L-180")
    )
  )
  (if (= m_KOMP "1") 
    (progn
      (setq BL_NAME "WBE2R18")
      (setq BEZ "WB 1SW+APB R550/90-R-180")
    ) 
  )
  (if (= m_KOMP "2") 
    (progn
      (setq BL_NAME "WB1L18")
      (setq BEZ "WB 1SW R550/90-L-180")
    )
  )
  (if (= m_KOMP "3") 
    (progn
      (setq BL_NAME "WB1R18")
      (setq BEZ "WB 1SW R550/90-R-180")
    )
  )
  (if (= m_KOMP "4") 
    (progn
      (setq BL_NAME "WB2L18")
      (setq BEZ "WB 2SW R550/90-L-180")
    )
  )
  (if (= m_KOMP "5") 
    (progn
      (setq BL_NAME "WB2R18")
      (setq BEZ "WB 2SW R550/90-R-180")
    )
  )
  (if (= m_KOMP "6") 
    (progn
      (setq BL_NAME "WB3L18")
      (setq BEZ "WB 2SW+APB R550/90-L-180")
    )
  )
  (if (= m_KOMP "7") 
    (progn
      (setq BL_NAME "WB3R18")
      (setq BEZ "WB 2SW+APB R550/90-R-180")
    )
  )
  (if (= m_KOMP "8") 
    (progn
      (setq BL_NAME "SWL18")
      (setq BEZ "SW R550/PARALLEL-L-180")
    )
  )
  (if (= m_KOMP "9") 
    (progn
      (setq BL_NAME "SWR18")
      (setq BEZ "SW R550/PARALLEL-R-180")
    )
  )
  (if (= m_KOMP "10") 
    (progn
      (setq BL_NAME "DSWPA18")
      (setq BEZ "DSW R550/PARALLEL-180")
    )
  )
  (if (= m_KOMP "11") 
    (progn
      (setq BL_NAME "3SWPA18")
      (setq BEZ "SW3 R550/PARALLEL-180")
    )
  )
)
;........... Ende SetPara()............................


(defun datain ()  
  (setq AUSWAHL-SATZ nil)
)

(defun geometrie()
  (setq auswahl-satz nil)
  (command "_layer" "_m" "PRITSCHE-5" "_c" "5" "" "")
  (setq P0  (getpoint "\nEinfgepunkt antippen: "))
  (bl-name P0) ;--> Block-Name definieren -> Rckgabe: block-kennung
  (setq BL_NAME (strcat lw "/acadsst/alu/" BL_NAME))

  (command "_insert" BL_NAME P0 "" "" "0")

  (if (= EINZEL 0) ; kein APB -> BG bilden
    (progn

      (setq auswahl-satz (ssget "_L"))
      (command "_layer" "_m" "A-4" "_c" "4" "" "")
      (schaltung)
      (if (or (= m_KOMP "4") (= m_KOMP "5") 
              (= m_KOMP "6") (= m_KOMP "7")) ; 2 Weichen
        (schaltung)
      )
      (if (= m_VERW "VERW_1") 
        (block-op P0 "0" auswahl-satz)  ; fr Angebot
        (progn
          (mach-block P0 "0" auswahl-satz)
          (attribute-aendern "0" "2" "1" "" "" block-kennung "111111111" (strcat BEZ " [BG1]") "" "")  ; in SSTBASE.LSP
        )
      )
    )
  )

  (command "_rotate" "_l" "" P0 pause)

  (if (= EINZEL 0)
    (progn
      (if (= m_VERW "VERW_1") ; fr Angebote die obere Gruppe zerstren
        (command "_explode" "_l")
      )
    )
  )
  (setq EINZEL 0)  ; auf BG Status zurcksetzen
)

;------------------------------------------------------------------------------
(defun c:PRITSCHE ( / KOMP BREITE BREITE_1 BREITE_2 DECKEL DECKEL_1 DECKEL_2) 
  (setvar "limcheck" 0)
  (setvar "CMDECHO" 0)
  (setvar "BLIPMODE" 0)
  (setq auswahl-satz nil)
  (setq EINZEL 0) ; fr EINZEL=0 Baugruppen / EINZEL=1 fr APB
  (prompt "**** ALU KOMPONENTEN *******")
  (prompt "")
  (if (null m_KOMP)     (setq m_KOMP "0"))          ; Komponente
  (if (null m_BREI)     (setq m_BREI "BREI_2"))     ; Breite 300
  (if (null m_DECKEL)   (setq m_DECKEL "DECKEL_1")) ; mit Deckel 
  (Dbox)
  (prompt "")
  (datain)
  (geometrie)
)
