Files
Walz/STEUERG/KLKASTEN.LSP
T

225 lines
9.7 KiB
Common Lisp

;------------------------------------------------------------------------;
; Klemmkasten generieren ;
;------------------------------------------------------------------------;
; AW 21.09.94 ;
;------------------------------------------------------------------------;
(defun datain ()
(setq ALTFANG (getvar "osmode"))
(setq AUSWAHL-SATZ nil)
(command "_ortho" "_off")
;---- Kastenecke unten und Punkte definieren ----------------
(setq P0 (getpoint "\nEcke UNTEN-LINKS antippen: "))
(setq P2 (getcorner P0 "\nEcke OBEN-RECHTS antippen: "))
; (setq M_EBENE (strcase (getstring T "\nAnlagenebene: ")))
(setq M_KLKAST (strcase (getstring T "\nKlemmkasten-Nr.: ")))
; (setq M_IBS-UV (strcase (getstring T "\nInterbus-S Unterverteiler: ")))
(setq P1 (list (car P2) (cadr P0) (caddr P0)))
(setq P3 (list (car P0) (cadr P2) (caddr P0)))
(setq P5 (list (+ (car P0) 30) (+ (cadr P0) 30) (caddr P0)))
(setq P6 (list (+ (car P3) 150) (- (cadr P3) 200) (caddr P0)))
(bl-name P6) ;--> Block-Name definieren -> Rckgabe: block-kennung
;---- Anzahl Eing„nge und Ausg„nge feststellen --------------
; (setq EINGANG (ssget "_W" P0 P2 '((8 . "Y-EINGANG"))))
; (if (not EINGANG)
; (setq SUMME_E 0)
; (setq SUMME_E (sslength EINGANG)) ; Anzahl Eing„nge
; )
; (setq AUSGANG (ssget "_W" P0 P2 '((8 . "Y-AUSGANG"))))
; (if (not AUSGANG)
; (setq SUMME_A 0)
; (setq SUMME_A (sslength AUSGANG)) ; Anzahl Ausg„nge
; )
; (setvar "osmode" 0)
(setq ASATZ (ssget) ; Auswahlsatz bilden
ALEN (sslength ASATZ) ; Auswahlsatzl„nge
ALAUF 0 ; Laufvariable initialisieren
SUMME_E 0 ; Summe Eing„nge initialisieren
SUMME_A 0) ; Summe Ausg„nge initialisieren
(while (< alauf alen)
(Setq E (ssname ASATZ ALAUF))
(Setq B (Cdr (Assoc 8 (Entget E))))
(if (= B "Y-EINGANG")
(progn
(setq SUMME_E (+ SUMME_E 1))
; (einzel-attr-aendern "KLKAST" M_KLKAST 0)
; (einzel-attr-aendern "IBS-UV" M_IBS-UV 0)
; (einzel-attr-aendern "EBENE" M_EBENE 0)
)
)
(if (= B "Y-AUSGANG")
(progn
(setq SUMME_A (+ SUMME_A 1))
; (einzel-attr-aendern "KLKAST" M_KLKAST 0)
; (einzel-attr-aendern "IBS-UV" M_IBS-UV 0)
; (einzel-attr-aendern "EBENE" M_EBENE 0)
)
)
(setq ALAUF (1+ ALAUF))
)
(if (and (= SUMME_E 0) (= SUMME_A 0))
(progn
(alert "Kein Eingang und kein Ausgang.Programmende !!!")
(exit)
)
)
)
(defun geometrie()
; Kasten in Abh„ngigkeit von der Anzahl EIN+AUSGŽNGE definieren
(if (<= (+ SUMME_E SUMME_A) 16) ; Anzahl E+A <= 16
(progn
(command "_layer" "_m" "Y-6" "_c" "6" "" "")
(setq KAST_BEZ "Klemmkasten 200x200x120 kpl.")
(setq ARTINR "824804002")
)
)
(if (and (> (+ SUMME_E SUMME_A) 16) (<= (+ SUMME_E SUMME_A) 30))
(progn
(command "_layer" "_m" "Y-4" "_c" "4" "" "")
(setq KAST_BEZ "Klemmkasten 300x200x120 kpl.")
(setq ARTINR "824604001")
)
)
(if (> (+ SUMME_E SUMME_A) 30) ; Anzahl E+A > 30 -> EXIT
(progn
(alert "Summe EINGŽNGE+AUSGŽNGE = " (itoa (+ SUMME_E SUMME_A)) "(> 30 !)")
(exit)
)
(progn
(alert (strcat "Eing„nge: " (itoa SUMME_E) " - Ausg„nge: " (itoa SUMME_A) " - " KAST_BEZ))
(setq OK_NOT (getstring "Klemmkasten generieren ? (<J>/N): "))
(if (or (= OK_NOT "N") (= OK_NOT "n"))
(exit)
)
)
)
(command "_pline" P0 P1 P2 P3 P0 "")
(setq auswahl-satz (ssget "_L"))
(command "_text" P5 "75" "0" (strcat M_KLKAST " X3" " E:" (itoa SUMME_E) " A:" (itoa SUMME_A)))
(ssadd (entlast) auswahl-satz)
(mach-block P6 "0" auswahl-satz)
(attribute-aendern "0" "2" "9" "" "" block-kennung ARTINR KAST_BEZ "1" "J")
(setq auswahl-satz nil)
(setq auswahl-satz (ssget "_L")) ; der Block wird das 1.Element des Satzes
; -----------------------------------------------
; nun die Komponenten fr die EINGŽNGE definieren
; -----------------------------------------------
(prompt "\n**** Dreistock.Initiatorklemme DIK 1,5 *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065265"
"Dreistock-Initiatorenklemme DIK 1,5" (itoa SUMME_E) "")
(ssadd (entlast) auswahl-satz)
(prompt "\n**** Einlegebrcke,blau *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065260"
"Einlegebrcke,blau,10-pol,EB 10-DIK BU" (itoa (+ SUMME_E SUMME_A)) "")
(ssadd (entlast) auswahl-satz)
(prompt "\n**** Einlegebrcke,rot *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065261"
"Einlegebrcke,rot,10-pol,EB 10-DIK RD" (itoa SUMME_E) "")
(ssadd (entlast) auswahl-satz)
(prompt "\n**** Aderendhlse *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065113"
"Aderendhlse 0,5 qmm" (itoa (* SUMME_E 3)) "")
(ssadd (entlast) auswahl-satz)
; -----------------------------------------------
; nun die Komponenten fr die AUSGŽNGE definieren
; -----------------------------------------------
(prompt "\n**** Dreistock-Aktorenklemme DOK 1,5 *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065266"
"Dreistock-Aktorenklemme DOK 1,5" (itoa SUMME_A) "")
(ssadd (entlast) auswahl-satz)
(prompt "\n**** Einlegebrcke,blau ******* siehe EINGŽNGE")
(prompt "\n**** Aderendhlse *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065118"
"Aderendhlse 0,75 qmm" (itoa (* SUMME_A 3)) "")
(ssadd (entlast) auswahl-satz)
; -----------------------
; nun die Montageelemente
; -----------------------
(prompt "\n**** Verschraubung ST21 *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065270"
"Verschraubung ST21" (rtos (* (/ (+ SUMME_E SUMME_A) 3) 1.1)) "")
(ssadd (entlast) auswahl-satz)
(prompt "\n**** Gegenmutter GMP-GL21 *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065275"
"Gegenmutter GMP-GL21" (rtos (* (/ (+ SUMME_E SUMME_A) 3) 1.1)) "")
(ssadd (entlast) auswahl-satz)
(prompt "\n**** Mehrfach-Dichteinsatz PG21 *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065138"
"Mehrfach-Dichteinsatz PG21" (rtos (* (/ (+ SUMME_E SUMME_A) 3) 1.1)) "")
(ssadd (entlast) auswahl-satz)
; -----------------------
; nun die Schutzschl„uche
; -----------------------
(prompt "\n**** Schutzschlauch Typ 2020.101.021 PG21 *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065285"
"Schutzschlauch Typ 2020.101.021 PG21" "6" "")
(ssadd (entlast) auswahl-satz)
(prompt "\n**** Befestigungsschelle 28 mm *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065280"
"Befestigungsschelle 28 mm" "24" "")
(ssadd (entlast) auswahl-satz)
(prompt "\n**** Selbstbohrschraube 4,8x16 DIN 7976 *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "911281005"
"Selbstbohrschraube 4,8x16 DIN 7976" "24" "")
(ssadd (entlast) auswahl-satz)
(prompt "\n**** Spreiz-Clip *******")
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "9" "" "" block-kennung "821436011"
"Spreiz-Clip" "24" "")
(ssadd (entlast) auswahl-satz)
)
;------------------------------------------------------------------------------
(defun c:klkasten ( / P0 P1 P2 P3 P4 P5 P6 SUMME_E SUMME_A EINGANG AUSGANG
KAST_BEZ WINKEL BEZ ARTINR OK_NOT ALEN ALAUF ASATZ E)
(setvar "limcheck" 0)
(setq WINKEL 0)
(prompt "\n**** KLEMMKASTEN *******")
(prompt "\n")
(datain)
(geometrie)
(mach-block P6 "0" auswahl-satz)
(setq auswahl-satz nil)
(attribute-aendern "0" "2" "9" "" "" block-kennung "111111111" (strcat KAST_BEZ " E:" (itoa SUMME_E) " A:" (itoa SUMME_A)) "" "") ; in SSTBASE.LSP
(setvar "osmode" ALTFANG)
)
;------------------------------------------------------------------------------