;------------------------------------------------------------------------;
; EINGAENGE_B                                                            ;
;------------------------------------------------------------------------;
; 02.02.2007 / 22.09.2007 / 18.06.2011                                   ;
;------------------------------------------------------------------------;
(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 "SPS-NR"         m_SPS-NR)
  (set_tile "PREFIX"         m_PREFIX)
  (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_SPS-NR           (get_tile "SPS-NR"))
  (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 m_SPS-NR        (get_tile "SPS-NR"))  
  (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    
  
 ;jh (setq P10  (list (+ (car p0) (+ (* FAKTO 1170)) (* 150 ANZ_CHARACT)) (+ (cadr p0) (* FAKTO 0))    (caddr p0)))
  (setq P10  (list (+ (car p0) (+ (* FAKTO 830)) (* 150 ANZ_CHARACT)) (+ (cadr p0) (* FAKTO 0))    (caddr p0)))
  ;(setq P11  (list (+ (car p0) (+ (* FAKTO 1170)) (* 150 ANZ_CHARACT)) (- (cadr p0) (* FAKTO 360))  (caddr p0)))
  (setq P11  (list (+ (car p0) (+ (* FAKTO 830)) (* 150 ANZ_CHARACT)) (- (cadr p0) (* FAKTO 360))  (caddr p0)))
  (setq P12  (list (+ (car p0) (* FAKTO 0))                            (- (cadr p0) (* FAKTO 360))  (caddr p0)))
 ;jh (setq P13  (list (+ (car p0) (* FAKTO 340))                          (+ (cadr p0) (* FAKTO 0))    (caddr p0)))
  (setq P13  (list (+ (car p0) (* FAKTO 0))                          (+ (cadr p0) (* FAKTO 0))    (caddr p0)))
  (setq P14  (list (+ (car p0) (* FAKTO 0))                          (- (cadr p0) (* FAKTO 360))  (caddr p0)))
  ;jh (setq P14  (list (+ (car p0) (* FAKTO 340))                          (- (cadr p0) (* FAKTO 360))  (caddr p0)))
    
  ;<<<Text>>>
  (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 320))                            (+ (cadr p12) (* FAKTO 20))  (caddr p12)))
 ;jh (setq P6  (list (+ (car p12) (* FAKTO 20))                           (+ (cadr p12) (* FAKTO 20))  (caddr p12)))
  (setq P7  (list (+ (car p0) (+ (* FAKTO 1200)) (* 150 ANZ_CHARACT))  (+ (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 m_SPS-NR) 
    (ATTRIBUTE-AENDERN_IO (strcat _PREFIX DisplayString) m_IDENT VERWENDUNG m_BEZEICHNUNG m_KENNZEICHNUNG m_SPS-NR) 
  )

  (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" P13 P10 P11 P14 P13 "")
  (setq AUSWAHL-SATZ (ssget "_L"))	
  (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) (* 150 ANZ_CHARACT)) (+ (cadr p0) (* FAKTO 0))   (caddr p0)))  ;Zusatztext
      (setq P16  (list (+ (car p0) (* FAKTO x_length) (* 150 ANZ_CHARACT)) (- (cadr p11) (* FAKTO 0))  (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)
      (command "_point" P12)
      (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)))
      (command "_point" P12)
      (ssadd (entlast) AUSWAHL-SATZ)
      (ssadd (entlast) AUSWAHL-SATZ-ROTATE)            
    )
  )	
  ;<<<< SPS-NR checken - wenn eingetragen dann einrahmen >>>>>>>
  (if (> (strlen m_SPS-NR) 0 ) 
    (progn
      (setq left_length (* (strlen m_SPS-NR) 160))
      (setq P17  (list (- (car p13) (* FAKTO left_length)) (+ (cadr p13) (* FAKTO 0))   (caddr p0))) 
      (setq P18  (list (- (car p13) (* FAKTO left_length)) (- (cadr p13) (* FAKTO 360)) (caddr p0)))
      
      (command "_layer" "_m" "EINGANG-HW" "_c" "7" "" "")
      (command "_pline" P13 P14 P18 P17 P13 "")
      (ssadd (entlast) AUSWAHL-SATZ)
      (ssadd (entlast) AUSWAHL-SATZ-ROTATE)			
    )
  )
  ;----------------------------------------------------------------------------------------------------------------
  
  (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") P13 "" "" (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_SPS-NR)        (setq m_SPS-NR ""))                      ; SPS Prefix  
  (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)  
)
