;-----------------------------------------------------------------; ; ASI ; ;-----------------------------------------------------------------; ; 16.7.2008 ; ;-----------------------------------------------------------------; (defun Dbox (/ Dat) (setq Dat (load_dialog (strcat lw "/acadsst/steuerg/ASI.DCL"))) (if (not (new_dialog "ASI" Dat)) (exit)) (set_tile "DWG_NAME" m_DWG_NAME); Blockname (set_tile "FAKT" m_FAKT) (mode_tile "anzeige" 0) (SetDia) (ACTION_TILE "DWG_NAME" "(zeig_dia)") (action_tile "accept" "(SetPara) (done_dialog)") (action_tile "cancel" "(exit) (done_dialog)") (start_dialog) (unload_dialog Dat) ) (defun SetDia() (setq breite (dimx_tile "anzeige")) (setq hoehe (dimy_tile "anzeige")) (start_image "anzeige") (FILL_IMAGE 0 0 breite hoehe -18) (cond ((= m_DWG_NAME "0") (slide_image 0 0 breite hoehe "steuerg(90000001)") ) ((= m_DWG_NAME "1") (slide_image 0 0 breite hoehe "steuerg(90000002)") ) ((= m_DWG_NAME "2") (slide_image 0 0 breite hoehe "steuerg(90000003)") ) ((= m_DWG_NAME "3") (slide_image 0 0 breite hoehe "steuerg(90000004)") ) ((= m_DWG_NAME "4") (slide_image 0 0 breite hoehe "steuerg(90000005)") ) ((= m_DWG_NAME "5") (slide_image 0 0 breite hoehe "steuerg(90000006)") ; LED Leuchte ) ) ; end cond (end_image) ) (defun zeig_dia() (setq WINKEL1 0) (setq m_DWG_NAME (get_tile "DWG_NAME")) (setq m_FAKT (get_tile "FAKT")) (SetDia) ) (defun setpara() (setq m_FAKT (get_tile "FAKT")) (setq FAKTO (atof m_FAKT)) (setq ANZ_CHARACT 0) ) (defun datain () (setq dummy nil) ) (defun geometrie() (cond ((= m_DWG_NAME "0") (setq BL_NAME "790000001") ;ASI KOMPAKT K60 4E/4A M12 KPL. (setq BEZEICHNUNG "ASI KOMPAKT K60 4E/4A M12 KPL.") ) ((= m_DWG_NAME "1") (setq BL_NAME "790000002") ;ASI KOMPAKT F90 4E/4A IP20 KPL. (setq BEZEICHNUNG "ASI KOMPAKT F90 4E/4A IP20 KPL.") ) ((= m_DWG_NAME "2") (setq BL_NAME "790000003") ;ASI NOT-AUS IN 1 FACH GEHÄUSE KPL. (setq BEZEICHNUNG "ASI NOT-AUS IN 1 FACH GEHÄUSE KPL.") ) ((= m_DWG_NAME "3") (setq BL_NAME "790000004") ;ASI-TABLEAU MIT 2 BEFEHLSSTELLEN KPL. (setq BEZEICHNUNG "ASI-TABLEAU MIT 2 BEFEHLSSTELLEN KPL.") ) ((= m_DWG_NAME "4") (setq BL_NAME "790000005") ;ASI-TABLEAU MIT 1 BEFEHLSSTELLEN KPL. (setq BEZEICHNUNG "ASI-TABLEAU MIT 1 BEFEHLSSTELLEN KPL.") ) ((= m_DWG_NAME "5") (setq BL_NAME "790000006") (setq BEZEICHNUNG "LED LEUCHTE KPL.") ) ) ; end cond (setq AUSWAHL-SATZ-ROTATE nil) ; wird am Ende ROTATE (setq AUSWAHL-SATZ nil) ; Blockbildung (setq P0 (getpoint "\nPick insert point: ")) (setvar "osmode" 0) (bl-name P0) ;--> Block-Name definieren -> Rückgabe: element-name ;<<< Schalter einfügen (command "_layer" "_m" "ASI" "_c" "7" "" "") (command "_insert" (strcat lw "/acadsst/steuerg/" BL_NAME) P0 "1" "" "") (setq AUSWAHL-SATZ-ROTATE (ssget "_L")) (cond ((= m_DWG_NAME "0") ;790000001-ASI KOMPAKT K60 4E/4A M12 KPL. ) ((= m_DWG_NAME "1") ;790000002-ASI KOMPAKT F90 4E/4A IP20 KPL. ) ((= m_DWG_NAME "2") ;790000003-ASI NOT-AUS IN 1 FACH GEHÄUSE KPL. (IO_ZEICHNEN P0 "EINGANG" "6" "S0000" "EMERGENCY STOP" "A1+Kx-Axxx" ) (setq P0 (list (+ (car p0) (* FAKTO 0)) (- (cadr p0) (* FAKTO 330)) (caddr p0))) (IO_ZEICHNEN P0 "EINGANG" "6" "S0000" "EMERGENCY STOP" "A1+Kx-Axxx") ) ((= m_DWG_NAME "3") ;790000004-ASI-TABLEAU MIT 2 BEFEHLSSTELLEN KPL. (IO_ZEICHNEN P0 "EINGANG" "6" "S0000" "RESTART AFTER TROUBLE" "A1+Kx-Axxx") (setq P0 (list (+ (car p0) (* FAKTO 0)) (- (cadr p0) (* FAKTO 330)) (caddr p0))) (IO_ZEICHNEN P0 "OUTPUT" "3" "H0000" "RESTART AFTER TROUBLE" "A1+Kx-Axxx") (setq P0 (list (+ (car p0) (* FAKTO 1170)) (+ (cadr p0) (* FAKTO 330)) (caddr p0))) (IO_ZEICHNEN P0 "EINGANG" "6" "S0000" "TRAVELTIME ERROR" "A1+Kx-Axxx") (setq P0 (list (+ (car p0) (* FAKTO 0)) (- (cadr p0) (* FAKTO 330)) (caddr p0))) (IO_ZEICHNEN P0 "OUTPUT" "3" "H0000" "TRAVELTIME ERROR" "A1+Kx-Axxx") ) ((= m_DWG_NAME "4") ;790000005-ASI-TABLEAU MIT 1 BEFEHLSSTELLEN KPL. (IO_ZEICHNEN P0 "EINGANG" "6" "S0000" "TRAIN REQUEST" "A1+Kx-Axxx") (setq P0 (list (+ (car p0) (* FAKTO 0)) (- (cadr p0) (* FAKTO 330)) (caddr p0))) (IO_ZEICHNEN P0 "OUTPUT" "3" "H0000" "TRAIN REQUEST" "A1+Kx-Axxx") ) ((= m_DWG_NAME "5") ;790000006-LED LEUCHTE KPL. (IO_ZEICHNEN P0 "OUTPUT" "3" "H0000" "TROUBLE/WARNING" "A1+Kx-Axxx") ) ) ; end cond (command "_rotate" AUSWAHL-SATZ-ROTATE "" P0 pause) ) (defun IO_ZEICHNEN (P0 IO_EBENE IO_FARBE IO_ADRESSE IO_BEZEICHNUNG IO_VERWENDUNG) ;<<< IO Einfügen (setq P10 (list (+ (car p0) (+ (* FAKTO 1170)) (* 150 ANZ_CHARACT)) (+ (cadr p0) (* FAKTO 0)) (caddr p0))) (setq P11 (list (+ (car p0) (+ (* FAKTO 1170)) (* 150 ANZ_CHARACT)) (- (cadr p0) (* FAKTO 330)) (caddr p0))) (setq P12 (list (+ (car p0) (* FAKTO 0)) (- (cadr p0) (* FAKTO 330)) (caddr p0))) (setq P13 (list (+ (car p0) (* FAKTO 340)) (+ (cadr p0) (* FAKTO 0)) (caddr p0))) (setq P14 (list (+ (car p0) (* FAKTO 340)) (- (cadr p0) (* FAKTO 330)) (caddr p0))) (setq P15 (list (+ (car p12)(* FAKTO 20)) (+ (cadr p12) (* FAKTO 20)) (caddr p12))) (command "_layer" "_m" IO_EBENE "_c" IO_FARBE "" "") (command "_insert" (strcat lw "/acadsst/steuerg/io") P15 FAKTO "" "") (ATTRIBUTE-AENDERN_IO IO_ADRESSE "9999" "NO-ID" IO_BEZEICHNUNG IO_VERWENDUNG) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) ;<<< Korpus zeichnen --------------------------------------- (command "_layer" "_m" IO_EBENE "_c" IO_FARBE "" "") (command "_pline" P0 "_w" "0" "0" P10 P11 P12 P0 "") (setq AUSWAHL-SATZ (ssget "_L")) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) (command "_pline" P13 P14 "") (ssadd (entlast) AUSWAHL-SATZ) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) ; (setq AUSWAHL-SATZ (ssget "_L")) ; Auswahlsatz reinitialieren :<<<------------------------------------------------------------------- ) ;------------------------------------------------------------------------------ (defun c:ASI ( / DWG_NAME BL_NAME P0) (setvar "limcheck" 0) (setvar "CMDECHO" 0) (setvar "BLIPMODE" 0) (setq ALTFANG (getvar "osmode")) (setq EINZEL 0) ; fuer EINZEL=0 Baugruppen / EINZEL=1 fuer APB (prompt "**** ASI KOMPONENTEN *******") (prompt "") (if (null m_DWG_NAME) (setq m_DWG_NAME "0")) ; Auswahl (if (null m_FAKT) (setq m_FAKT "0.5")) ; Skalierungsfaktor (Dbox) (prompt "") (datain) (geometrie) (setvar "osmode" ALTFANG) )