;------------------------------------------------------------------------; ; EINGAENGE_B ; ;------------------------------------------------------------------------; ; 02.02.2007 / 22.09.2007 ; ;------------------------------------------------------------------------; (defun Dbox (/ Dat) (setq Dat (load_dialog (strcat lw "/acadsst/steuerg/EINGAENGE_B.DCL"))) (if (not (new_dialog "EINGAENGE_B" Dat)) (exit)) (set_tile "DWG_NAME" m_DWG_NAME); Blockname (set_tile "INPUT" m_INPUT) (set_tile "IDENT" m_IDENT) (set_tile "COMPONENT" m_COMPONENT) (set_tile "BEZEICHNUNG" m_BEZEICHNUNG) (set_tile "KENNZEICHNUNG" m_KENNZEICHNUNG) (set_tile "FAKT" m_FAKT) (set_tile "ZUSATZ" m_ZUSATZ) (set_tile "PREFIX" m_PREFIX) ; B,S oder E (set_tile "IO-BEZ" m_IO-BEZ) (set_tile "IO-BEZ-RECHTS" m_IO-BEZ-RECHTS) (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 "ils2100(i00)") ) ((= m_DWG_NAME "1") (slide_image 0 0 breite hoehe "ils2100(i01)") ) ((= m_DWG_NAME "2") (slide_image 0 0 breite hoehe "ils2100(i02)") ) ((= m_DWG_NAME "3") (slide_image 0 0 breite hoehe "ils2100(i03)") ) ((= m_DWG_NAME "4") (slide_image 0 0 breite hoehe "ils2100(i04)") ) ((= m_DWG_NAME "5") (slide_image 0 0 breite hoehe "ils2100(i05)") ) ((= m_DWG_NAME "6") (slide_image 0 0 breite hoehe "ils2100(i06)") ) ((= m_DWG_NAME "7") (slide_image 0 0 breite hoehe "ils2100(i07)") ) ((= m_DWG_NAME "8") (slide_image 0 0 breite hoehe "ils2100(i08)") ) ((= m_DWG_NAME "9") (slide_image 0 0 breite hoehe "ils2100(i09)") ) ((= m_DWG_NAME "10") (slide_image 0 0 breite hoehe "ils2100(i10)") ) ((= m_DWG_NAME "11") (slide_image 0 0 breite hoehe "ils2100(i11)") ) ((= m_DWG_NAME "12") (slide_image 0 0 breite hoehe "ils2100(i12)") ) ((= m_DWG_NAME "13") (slide_image 0 0 breite hoehe "ils2100(i13)") ) ((= m_DWG_NAME "14") (slide_image 0 0 breite hoehe "ils2100(i14)") ) ((= m_DWG_NAME "15") (slide_image 0 0 breite hoehe "ils2100(i15)") ) ((= m_DWG_NAME "16") (slide_image 0 0 breite hoehe "ils2100(i16)") ) ((= m_DWG_NAME "17") (slide_image 0 0 breite hoehe "ils2100(i17)") ) ((= m_DWG_NAME "18") (slide_image 0 0 breite hoehe "ils2100(i18)") ) ) ; end cond (end_image) ) (defun zeig_dia() (setq WINKEL1 0) (setq m_DWG_NAME (get_tile "DWG_NAME")) (setq m_COMPONENT (get_tile "COMPONENT")) (setq m_PREFIX (get_tile "PREFIX")) (setq m_FAKT (get_tile "FAKT")) (setq m_ZUSATZ (get_tile "ZUSATZ")) (setq m_IO-BEZ (get_tile "IO-BEZ")) (setq m_IO-BEZ-RECHTS (get_tile "IO-BEZ-RECHTS")) (SetDia) ) (defun setpara() (setq m_PREFIX (get_tile "PREFIX")) (setq m_INPUT (get_tile "INPUT")) (setq m_IDENT (get_tile "IDENT")) (setq m_COMPONENT (get_tile "COMPONENT")) (setq m_BEZEICHNUNG (get_tile "BEZEICHNUNG")) (setq m_KENNZEICHNUNG (get_tile "KENNZEICHNUNG")) (setq m_DWG_NAME (get_tile "DWG_NAME")) (setq m_FAKT (get_tile "FAKT")) (setq m_IO-BEZ (get_tile "IO-BEZ")) (setq m_IO-BEZ-RECHTS (get_tile "IO-BEZ-RECHTS")) (setq m_ZUSATZ (get_tile "ZUSATZ")) (setq FAKTO (atof m_FAKT)) (InputStringAnalyse) ) (defun InputStringAnalyse() (setq DisplayString "") (setq InputLaenge (strlen m_INPUT)) ; (alert (itoa InputLaenge)) (if (or (> InputLaenge 4) (= InputLaenge 0)) (progn (alert "Mehr als 4 Stellen nicht bzw. LEERE Eingabe nicht erlaubt") (exit) ) ) (cond ((= InputLaenge 1) (setq DisplayString (strcat "000" m_INPUT)) ) ((= InputLaenge 2) (setq DisplayString (strcat "00" m_INPUT)) ) ((= InputLaenge 3) (setq DisplayString (strcat "0" m_INPUT)) ) ((= InputLaenge 4) (setq DisplayString m_INPUT) ) ) ; end cond (cond ((= m_COMPONENT "0") (setq VERWENDUNG "SEP1_2Y+1B") ) ((= m_COMPONENT "1") (setq VERWENDUNG "SEP1_1Y+1B") ) ((= m_COMPONENT "2") (setq VERWENDUNG "SEP2_2Y+1B") ) ((= m_COMPONENT "3") (setq VERWENDUNG "SEP2_1Y+1B") ) ((= m_COMPONENT "4") (setq VERWENDUNG "SW_2Y+1B") ) ((= m_COMPONENT "5") (setq VERWENDUNG "SW_2Y+3B") ) ((= m_COMPONENT "6") (setq VERWENDUNG "MOT_1M+1B") ) ((= m_COMPONENT "7") (setq VERWENDUNG "INPUT-1B") ) ((= m_COMPONENT "8") (setq VERWENDUNG m_ZUSATZ) (setq m_IDENT "9999") ) ) ; end cond ) (defun datain () (setq dummy nil) ) (defun geometrie() (cond ((= m_DWG_NAME "0") (setq BL_NAME "") ;Blinde Eintragung (setq BEZEICHNUNG "") (setq BEZ1 "") (setq BEZ2 "") (setq BEZEICHNUNG_BG "") ) ((= m_DWG_NAME "1") (setq BL_NAME "829426303") ;SENSOR INDUKTIV M18/12 KPL.-RASTERSENSOR FÜR KREISEL 300 (setq BEZEICHNUNG "RASTER 300[SI] KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "RS") (setq BEZ2 "300") ) ((= m_DWG_NAME "2") (setq BL_NAME "720002003") ;SENSOR INDUKTIV M18/12 ET-RASTERSENSOR FÜR KREISEL 800 -> Bohrung bereits vorhanden (setq BEZEICHNUNG "RASTER 800[SI] ET") (setq BEZEICHNUNG_BG "") (setq BEZ1 "RS") (setq BEZ2 "800") ) ((= m_DWG_NAME "3") (setq BL_NAME "829422025") ;SENSOR INDUKTIV M18/12 KPL.-BT SYNC 300 (BT Sync im Rad) (setq BEZEICHNUNG "BT-SYNC 300[SI] KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "SI") (setq BEZ2 "SYNC") ) ((= m_DWG_NAME "4") (setq BL_NAME "829434304") ;SENSOR INDUKTIV M18/12 KPL.-BT SYNC 800 (BT Sync im Rad) (setq BEZEICHNUNG "BT-SYNC 800[SI] KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "SI") (setq BEZ2 "SYNC") ) ((= m_DWG_NAME "5") (setq BL_NAME "829434300") ; LICHTTASTER WT 14 KPL.-STAUABFRAGE (setq BEZEICHNUNG "STAUABFRAGE[LT]") (setq BEZEICHNUNG "STAUABFRAGE[LT] KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "LT") (setq BEZ2 "STAU") ) ((= m_DWG_NAME "6") (setq BL_NAME "829434308") ; INKREMENTALGEBER KPL. 300-ER KREISEL (setq BEZEICHNUNG "DREHGEBER-300 KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "DG") (setq BEZ2 "300") ) ((= m_DWG_NAME "7") (setq BL_NAME "829434307") ; INKREMENTALGEBER KPL. 800-ER KREISEL (setq BEZEICHNUNG "DREHGEBER-800 KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "DG") (setq BEZ2 "800") ) ((= m_DWG_NAME "8") (setq BL_NAME "829434301") ; LASERLICHTTASTER WT12-PIN SYNCHRONISATION (setq BEZEICHNUNG "PIN SYNC[LT] KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "LT") (setq BEZ2 "PIN") ) ((= m_DWG_NAME "9") (setq BL_NAME "827422001") (setq BEZEICHNUNG "WEICHE VERL.R800 RECHTS[SI] KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "SI") (setq BEZ2 "VERL") ) ((= m_DWG_NAME "10") (setq BL_NAME "827422002") (setq BEZEICHNUNG "WEICHE VERL.R800 LINKS[SI] KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "SI") (setq BEZ2 "VERL") ) ((= m_DWG_NAME "11") (setq BL_NAME "827422003") (setq BEZEICHNUNG "WEICHE VERL.RG-800 RECHTS[SI] KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "SI") (setq BEZ2 "VERL") ) ((= m_DWG_NAME "12") (setq BL_NAME "827422004") (setq BEZEICHNUNG "WEICHE VERL.RG-800 LINKS[SI] KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "SI") (setq BEZ2 "VERL") ) ((= m_DWG_NAME "13") (setq BL_NAME "827422026") (setq BEZEICHNUNG "BT SENSOR F.LP[SI] KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "SI") (setq BEZ2 "VERL") ) ((= m_DWG_NAME "14") (setq BL_NAME "829434003") (setq BEZEICHNUNG "BT SCANNER IM SEPARATOR KPL.") (setq BEZEICHNUNG_BG "") (setq BEZ1 "BT") (setq BEZ2 "SCAN") ) ((= m_DWG_NAME "15") (setq BL_NAME "720002003") (setq BEZEICHNUNG "IN-SENSOR SEPARATOR[SI] ET") (setq BEZEICHNUNG_BG "") (setq BEZ1 "SI") (setq BEZ2 "INSP") ) ((= m_DWG_NAME "16") (setq BL_NAME "720002004") (setq BEZEICHNUNG "BT BELADEN M30[SI] ET") (setq BEZEICHNUNG_BG "") (setq BEZ1 "BT") (setq BEZ2 "BELA") ) ((= m_DWG_NAME "17") (setq BL_NAME "829434302") (setq BEZEICHNUNG "SPS F.DOPPEL BUEGEL ERKENNUNG") (setq BEZEICHNUNG_BG "LICHTSCHRANKE F. DOPPEL-B ERKENNUNG KPL.") (setq BEZ1 "DB") (setq BEZ2 "DETC") ) ((= m_DWG_NAME "18") (setq BL_NAME "721000020") (setq BEZEICHNUNG "LICHTTASTER IN SEPARATOR") (setq BEZEICHNUNG_BG "") (setq BEZ1 "LT") (setq BEZ2 "INSP") ) ) ; end cond (cond ((= m_PREFIX "PREFIX_1") (setq _PREFIX "B") (setq ANZ_CHARACT 0) ) ((= m_PREFIX "PREFIX_2") (setq _PREFIX "E") (setq ANZ_CHARACT 0) ) ((= m_PREFIX "PREFIX_3") (setq _PREFIX "S") (setq ANZ_CHARACT 0) ) ((= m_PREFIX "PREFIX_4") (setq _PREFIX "IPB") (setq ANZ_CHARACT 2) ) ((= m_PREFIX "PREFIX_5") (setq _PREFIX "PB") (setq ANZ_CHARACT 1) ) ((= m_PREFIX "PREFIX_6") (setq _PREFIX "PRS") (setq ANZ_CHARACT 2) ) ((= m_PREFIX "PREFIX_7") (setq _PREFIX "CB") (setq ANZ_CHARACT 1) ) ((= m_PREFIX "PREFIX_8") (setq _PREFIX "I") (setq ANZ_CHARACT 0) ) ) (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 (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 P1 (list (+ (car p12) (* FAKTO 380)) (+ (cadr p12) (* FAKTO 90)) (caddr p12))) (setq P2 (list (+ (car p12) (* FAKTO 550)) (+ (cadr p12) (* FAKTO 90)) (caddr p12))) (setq P3 (list (+ (car p12) (* FAKTO 20)) (+ (cadr p12) (* FAKTO 220)) (caddr p12))) (setq P4 (list (+ (car p12) (* FAKTO 20)) (+ (cadr p12) (* FAKTO 120)) (caddr p12))) (setq P5 (list (+ (car p12) (* FAKTO 20)) (+ (cadr p12) (* FAKTO 10)) (caddr p12))) (setq P6 (list (+ (car p12) (* FAKTO 20)) (+ (cadr p12) (* FAKTO 20)) (caddr p12))) (setq P7 (list (+ (car p12) (* FAKTO 1200)) (+ (cadr p12) (* FAKTO 100)) (caddr p12))) (command "_layer" "_m" "EINGANG" "_c" "6" "" "") ;<<< IO Einfügen (command "_insert" (strcat lw "/acadsst/steuerg/io") P6 FAKTO "" "") (if (= m_IO-BEZ "1") ; IO-Bezeichnung = Artikelbezeichnung (ATTRIBUTE-AENDERN_IO (strcat _PREFIX DisplayString) m_IDENT VERWENDUNG BEZEICHNUNG m_KENNZEICHNUNG) (ATTRIBUTE-AENDERN_IO (strcat _PREFIX DisplayString) m_IDENT VERWENDUNG m_BEZEICHNUNG m_KENNZEICHNUNG) ) (setq AUSWAHL-SATZ-ROTATE (ssget "_L")) ;>>> Byteweise arbeiten. Wenn die letzte Zahl "7" dann auf "10" aufrunden (setq LAENGE_m_INPUT (strlen m_INPUT)) (if (= (substr m_INPUT LAENGE_m_INPUT 1) "7") (setq m_INPUT (itoa (+ 3 (atoi m_INPUT)))) (setq m_INPUT (itoa (+ 1 (atoi m_INPUT)))) ) ;<<< Korpus zeichnen --------------------------------------- (command "_layer" "_m" "EINGANG-HW" "_c" "7" "" "") (command "_pline" P0 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) ;<<< Beschreibung als Text hinzufügen (command "_text" P3 (rtos (* FAKTO 70)) "0" BEZ1) (ssadd (entlast) AUSWAHL-SATZ) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) (command "_text" P4 (rtos (* FAKTO 70)) "0" BEZ2) (ssadd (entlast) AUSWAHL-SATZ) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) ;<<<< Zusatztext >>>>>>> (if (and (> (strlen m_ZUSATZ) 0 ) (/= m_COMPONENT "8")) (progn (setq x_length (+ 1170 (* (strlen m_Zusatz) 160))) (setq P15 (list (+ (car p0) (* FAKTO x_length)) (+ (cadr p0) (* FAKTO 0)) (caddr p0))) ;Zusatztext (setq P16 (list (+ (car p0) (* FAKTO x_length)) (- (cadr p0) (* FAKTO 330)) (caddr p0))) ;Zusatztext (command "_text" P7 (rtos (* FAKTO 150)) "0" m_ZUSATZ) (ssadd (entlast) AUSWAHL-SATZ) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) (command "_pline" P10 P15 "") (ssadd (entlast) AUSWAHL-SATZ) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) (command "_pline" P15 P16 "") (ssadd (entlast) AUSWAHL-SATZ) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) (command "_pline" P16 P11 "") (ssadd (entlast) AUSWAHL-SATZ) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) ) (progn (setq P15 (list (car p10) (cadr p10) (caddr p10))) (setq P16 (list (car p11) (cadr p11) (caddr p11))) ) ) ;<<<<<<<<< IO-Bezeichnung auch als TEXT rechts einfügen (if (= m_IO-BEZ-RECHTS "1") (progn (setq P8 (list (+ (car p16) (* FAKTO 100)) (+ (cadr p16) (* FAKTO 100)) (caddr p16))) (command "_text" P8 (rtos (* FAKTO 150)) "0" m_BEZEICHNUNG) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) ) ) (if (= m_DWG_NAME "0") (progn (mach-block-ohne-prop P0 "0" AUSWAHL-SATZ) ) (progn (mach-block P0 "0" AUSWAHL-SATZ) (attribute-aendern "0" "0" "9" "0" (strcat _PREFIX DisplayString) block-kennung BL_NAME BEZEICHNUNG "1" "") ) ) (ssadd (entlast) AUSWAHL-SATZ-ROTATE) (setq AUSWAHL-SATZ (ssget "_L")) ; Auswahlsatz reinitialieren :<<<------------------------------------------------------------------- ;<<<< BAUGRUPPEN >>> (if (= m_DWG_NAME "16") (progn (EINZELTEIL P0 "827334016" "HALTER F. LT DOPPEL-B ERKENNUNG KPL." "1") ;BG-> Sensor Induktiv 12mm Schaltabstand 720002003=1St.+ 826906133=1St. (command "_layer" "_m" "A-GRUPPE" "_c" "7" "" "") (mach-block P0 "0" AUSWAHL-SATZ) (attribute-aendern "0" "2" "9" "0" (strcat _PREFIX DisplayString) block-kennung "333333333" BEZEICHNUNG_BG "1" "") (ssadd (entlast) AUSWAHL-SATZ-ROTATE) ) ) (command "_rotate" AUSWAHL-SATZ-ROTATE "" P0 pause) ) (defun EINZELTEIL (P1 E_ARTINR E_BEZEICHNUNG E_MENGE) (setq WINKEL1 (+ WINKEL1 10)) (command "_insert" (strcat lw "/acadsst/steuerg/d_einzel") P0 "" "" (rtos WINKEL1)) (attribute-aendern "0" "0" "29" "" "" block-kennung E_ARTINR E_BEZEICHNUNG E_MENGE "") (ssadd (entlast) AUSWAHL-SATZ) ) ;------------------------------------------------------------------------------ (defun c:EINGAENGE_B ( / 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 "**** EINGÄNGE B *******") (prompt "") (if (null m_DWG_NAME) (setq m_DWG_NAME "0")) ; Auswahl (if (null m_INPUT) (setq m_INPUT "1")) ; Input Bit (if (null m_IDENT) (setq m_IDENT "1000")) ; ID (if (null m_COMPONENT) (setq m_COMPONENT "1")) ; Verwendung (if (null m_BEZEICHNUNG) (setq m_BEZEICHNUNG "xxxxxxxxxxxxxxx")) ; BEZEICHNUNG (if (null m_KENNZEICHNUNG) (setq m_KENNZEICHNUNG "=Axx+Exxx-Axxx")) ; KENNZEICHNUNG (if (null m_FAKT) (setq m_FAKT "1")) ; Skalierungsfaktor (if (null m_ZUSATZ) (setq m_ZUSATZ "")) ; Zusatztext (if (null m_PREFIX) (setq m_PREFIX "PREFIX_1")) ; Prefix (B,E oder S) (if (null m_IO-BEZ) (setq m_IO-BEZ "0")) ; Bezeicnung nicht der Artikelbezeichnung gleichsetzen (if (null m_IO-BEZ-RECHTS) (setq m_IO-BEZ-RECHTS "0")) ; Bezeicnung als Text rechts andrucken (Dbox) (prompt "") (datain) (geometrie) (setvar "osmode" ALTFANG) )