Erste Fassung der Skripte von Alexander Walz eingestellt
This commit is contained in:
@@ -0,0 +1,225 @@
|
||||
;------------------------------------------------------------------------;
|
||||
; 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 -> R�ckgabe: 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 f�r 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**** Einlegebr�cke,blau *******")
|
||||
(setq WINKEL (+ WINKEL 5))
|
||||
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
|
||||
P0 "" "" (rtos WINKEL))
|
||||
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065260"
|
||||
"Einlegebr�cke,blau,10-pol,EB 10-DIK BU" (itoa (+ SUMME_E SUMME_A)) "")
|
||||
(ssadd (entlast) auswahl-satz)
|
||||
(prompt "\n**** Einlegebr�cke,rot *******")
|
||||
(setq WINKEL (+ WINKEL 5))
|
||||
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
|
||||
P0 "" "" (rtos WINKEL))
|
||||
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065261"
|
||||
"Einlegebr�cke,rot,10-pol,EB 10-DIK RD" (itoa SUMME_E) "")
|
||||
(ssadd (entlast) auswahl-satz)
|
||||
(prompt "\n**** Aderendh�lse *******")
|
||||
(setq WINKEL (+ WINKEL 5))
|
||||
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
|
||||
P0 "" "" (rtos WINKEL))
|
||||
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065113"
|
||||
"Aderendh�lse 0,5 qmm" (itoa (* SUMME_E 3)) "")
|
||||
(ssadd (entlast) auswahl-satz)
|
||||
; -----------------------------------------------
|
||||
; nun die Komponenten f�r 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**** Einlegebr�cke,blau ******* siehe EINGŽNGE")
|
||||
(prompt "\n**** Aderendh�lse *******")
|
||||
(setq WINKEL (+ WINKEL 5))
|
||||
(command "_insert" (strcat lw "/acadsst/steuerg/p_einzel")
|
||||
P0 "" "" (rtos WINKEL))
|
||||
(attribute-aendern "0" "0" "9" "" "" block-kennung "929065118"
|
||||
"Aderendh�lse 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)
|
||||
)
|
||||
;------------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user