;------------------------------------------------------------------------; ; 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 ? (/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) ) ;------------------------------------------------------------------------------