Files
Walz/STEUERG/EINGAENGE_S.LSP
T

484 lines
17 KiB
Common Lisp

;------------------------------------------------------------------------;
; EINGAENGE_S ;
;------------------------------------------------------------------------;
; 22.09.2007 16.06.2011 ;
;------------------------------------------------------------------------;
(defun Dbox (/ Dat)
(setq Dat (load_dialog (strcat lw "/acadsst/steuerg/EINGAENGE_S.DCL")))
(if (not (new_dialog "EINGAENGE_S" 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) ; B,S,E,PB,PRS,CB,I
(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 "steuerg(27072013)")
)
((= m_DWG_NAME "2")
(slide_image 0 0 breite hoehe "steuerg(27072014)")
)
((= m_DWG_NAME "3")
(slide_image 0 0 breite hoehe "steuerg(27072015)")
)
((= m_DWG_NAME "4")
(slide_image 0 0 breite hoehe "steuerg(27072016)")
)
((= m_DWG_NAME "5")
(slide_image 0 0 breite hoehe "steuerg(27074011)")
)
((= m_DWG_NAME "6")
(slide_image 0 0 breite hoehe "steuerg(27074007)")
)
((= m_DWG_NAME "7")
(slide_image 0 0 breite hoehe "steuerg(27074008)")
)
((= m_DWG_NAME "8")
(slide_image 0 0 breite hoehe "steuerg(22035037)")
)
((= m_DWG_NAME "9")
(slide_image 0 0 breite hoehe "steuerg(22035100)")
)
((= m_DWG_NAME "10")
(slide_image 0 0 breite hoehe "steuerg(22035102)")
)
((= m_DWG_NAME "11")
(slide_image 0 0 breite hoehe "steuerg(24604011)")
)
((= m_DWG_NAME "12")
(slide_image 0 0 breite hoehe "steuerg(24604012)")
)
((= m_DWG_NAME "13")
(slide_image 0 0 breite hoehe "steuerg(03001017)")
)
) ; 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 "NO-ID")
(setq m_IDENT "9999")
)
) ; end cond
; (alert verwendung)
)
(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 "827072013")
(setq BEZEICHNUNG "STAUKLAPPE 700 AP KPL.")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "SK")
(setq BEZ2 "700")
)
((= m_DWG_NAME "2")
(setq BL_NAME "827072014")
(setq BEZEICHNUNG "STAUKLAPPE 700 ST KPL.")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "SK")
(setq BEZ2 "700")
)
((= m_DWG_NAME "3")
(setq BL_NAME "827072015")
(setq BEZEICHNUNG "STAUKLAPPE 200 AP KPL.")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "SK")
(setq BEZ2 "200")
)
((= m_DWG_NAME "4")
(setq BL_NAME "827072016")
(setq BEZEICHNUNG "STAUKLAPPE 200 ST KPL.")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "SK")
(setq BEZ2 "200")
)
((= m_DWG_NAME "5")
(setq BL_NAME "827074011")
(setq BEZEICHNUNG "STAUKLAPPE 200 KF KPL.")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "SK")
(setq BEZ2 "200")
)
((= m_DWG_NAME "6")
(setq BL_NAME "827074007")
(setq BEZEICHNUNG "HALTER TRAVERSENABFRAGE ST OHNE SENSOR")
(setq BEZEICHNUNG_BG "HALTER TRAVERSENABFRAGE ST KPL.")
(setq BEZ1 "UH")
(setq BEZ2 "ST")
)
((= m_DWG_NAME "7")
(setq BL_NAME "827074008")
(setq BEZEICHNUNG "HALTER TRAVERSENABFRAGE AP OHNE SENSOR")
(setq BEZEICHNUNG_BG "HALTER TRAVERSENABFRAGE AP KPL.")
(setq BEZ1 "UH")
(setq BEZ2 "AP")
)
((= m_DWG_NAME "8")
(setq BL_NAME "822035037")
(setq BEZEICHNUNG "ROLLENSCHALTER KF KPL.")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "RS")
(setq BEZ2 "KF")
)
((= m_DWG_NAME "9")
(setq BL_NAME "822035100")
(setq BEZEICHNUNG "ROLLENSCHALTER AFS/ST KPL.")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "RF/ST")
(setq BEZ2 "AFS")
)
((= m_DWG_NAME "10")
(setq BL_NAME "822035102")
(setq BEZEICHNUNG "ROLLENSCHLATER AP KPL.")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "RS")
(setq BEZ2 "AP")
)
((= m_DWG_NAME "11")
(setq BL_NAME "824604011")
(setq BEZEICHNUNG "SCHWENKSCHIENE 450 LINKS KPL.")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "SS")
(setq BEZ2 "LINK")
)
((= m_DWG_NAME "12")
(setq BL_NAME "824604012")
(setq BEZEICHNUNG "SCHWENKSCHIENE 450 LINKS KPL.")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "SS")
(setq BEZ2 "RECH")
)
((= m_DWG_NAME "13")
(setq BL_NAME "701004005")
(setq BEZEICHNUNG "HILFSCHALTER WS/DS")
(setq BEZEICHNUNG_BG "")
(setq BEZ1 "HS")
(setq BEZ2 "WSDS")
)
) ; 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)
)
((= m_PREFIX "PREFIX_9")
(setq _PREFIX "C")
(setq ANZ_CHARACT 0)
)
((= m_PREFIX "PREFIX_10")
(setq _PREFIX "P")
(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)
)
)
;----------------------------------------------------------------------------------------------------------------
;<<<<<<<<< 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
(if (> (strlen m_SPS-NR) 0 )
(mach-block-ohne-prop P17 "0" AUSWAHL-SATZ)
(mach-block-ohne-prop P13 "0" AUSWAHL-SATZ)
)
)
(progn
(if (> (strlen m_SPS-NR) 0 )
(mach-block P17 "0" AUSWAHL-SATZ)
(mach-block P13 "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 "6")
(progn
(EINZELTEIL P0 "721000009" "REFLEXIONSLICHTTASTER" "1")
(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)
)
)
(if (= m_DWG_NAME "7")
(progn
(EINZELTEIL P0 "721000009" "REFLEXIONSLICHTTASTER" "1")
(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_S ( / 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 "0")) ; 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 "")) ; 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)
)