Files
dxfmakros/doc/acadsst/Spinnerei/alt/pu1pu2.lsp
T

698 lines
28 KiB
Common Lisp

; PU1PU2 - Putzstation ;
; -----------------------------------------------------------------------;
; AW 1.3.98 ;
;------------------------------------------------------------------------;
(defun start()
(setq auswahl-satz nil)
(setvar "limcheck" 0)
(command "_vports" "_S" "aktiv" "_Y")
(setq BMOD (getvar "BLIPMODE")
MOSM (getvar "OSMODE")
MSNA (getvar "SNAPMODE")
MORT (getvar "ORTHOMODE")
CLAY (getvar "CLAYER") ; aktuelle Ebene
MECH (getvar "MENUECHO")
BKSYM (getvar "UCSICON")
UCSF (getvar "UCSFOLLOW")
Z-HOEHE (getvar "THICKNESS")
ERHEB (getvar "ELEVATION")
)
(princ)
)
(defun Dbox (/ Dat)
(setq Dat (load_dialog (strcat lw "/acadsst/spinne/pu1pu2.DCL")))
(if (not (new_dialog "pu1pu2" Dat))
(exit)
)
; (set_tile "SPULEN" m_SPULEN) ; Spulen pro Spulenzug - default: "36"
; (set_tile "TEILUNG" m_TEILUNG)) ; Spulenzugteilung - default: "150"
(set_tile "RICHTUNG" m_RICHTUNG) ; Drehrichtung - default: "LINKS"
(set_tile "FUSS" m_FUSS) ; FUSS - default: OPPOSITE + VERBUNDEN
(set_tile "ANTRIEB" m_ANTRIEB) ; Reibradantrieb - default: "mit Antrieb" (PU2)
(set_tile "GERUEST" m_GERUEST) ; mit Gerüst
(set_tile "BEMASS" m_BEMASS) ; keine Bemassung
(SetDia)
(ACTION_TILE "FUSS" "(zeig_dia)")
(ACTION_TILE "RICHTUNG" "(zeig_dia)")
(ACTION_TILE "ANTRIEB" "(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)
(if (and (= m_RICHTUNG "UHR")(= m_ANTRIEB "1")) ; Drehung in uhrzeigersinn+Antrieb
(progn
(if (= m_FUSS "ZURUECK") (slide_image 0 0 breite hoehe "spinne(pu2ll)"))
(if (= m_FUSS "ENTGEGEN")(slide_image 0 0 breite hoehe "spinne(pu2lr)"))
(if (= m_FUSS "ENTGVERB")(slide_image 0 0 breite hoehe "spinne(pu2lrd)"))
(if (= m_FUSS "NICHTS") (slide_image 0 0 breite hoehe "spinne(pu2lo)"))
)
)
(if (and (= m_RICHTUNG "GEGENUHR")(= m_ANTRIEB "1")) ; Drehung in gegenuhrzeigersinn+Antrieb
(progn
(if (= m_FUSS "ZURUECK") (slide_image 0 0 breite hoehe "spinne(pu2rr)"))
(if (= m_FUSS "ENTGEGEN")(slide_image 0 0 breite hoehe "spinne(pu2rl)"))
(if (= m_FUSS "ENTGVERB")(slide_image 0 0 breite hoehe "spinne(pu2rld)"))
(if (= m_FUSS "NICHTS") (slide_image 0 0 breite hoehe "spinne(pu2ro)"))
)
)
(if (and (= m_RICHTUNG "UHR") (= m_ANTRIEB "0")) ; Drehung in uhrzeigersinn und KEIN Antrieb
(progn
(if (= m_FUSS "ZURUECK") (slide_image 0 0 breite hoehe "spinne(pu1ll)"))
(if (= m_FUSS "ENTGEGEN")(slide_image 0 0 breite hoehe "spinne(pu1lr)"))
(if (= m_FUSS "ENTGVERB")(slide_image 0 0 breite hoehe "spinne(pu1lrd)"))
(if (= m_FUSS "NICHTS") (slide_image 0 0 breite hoehe "spinne(pu1lo)"))
)
)
(if (and (= m_RICHTUNG "GEGENUHR")(= m_ANTRIEB "0")) ; Drehung in gegenuhrzeigersinn und KEIN Antrieb
(progn
(if (= m_FUSS "ZURUECK") (slide_image 0 0 breite hoehe "spinne(pu1rr)"))
(if (= m_FUSS "ENTGEGEN")(slide_image 0 0 breite hoehe "spinne(pu1rl)"))
(if (= m_FUSS "ENTGVERB")(slide_image 0 0 breite hoehe "spinne(pu1rld)"))
(if (= m_FUSS "NICHTS") (slide_image 0 0 breite hoehe "spinne(pu1ro)"))
)
)
(end_image)
)
(defun zeig_dia()
(setq m_SPULEN (get_tile "SPULEN"))
(setq m_TEILUNG (get_tile "TEILUNG"))
(setq m_RICHTUNG (get_tile "RICHTUNG")) ; Drehrichtung
(setq m_FUSS (get_tile "FUSS")) ; Weichenkonfiguration am Ein- und Ausfahrt
(setq m_ANTRIEB (get_tile "ANTRIEB")) ; Reibradantrieb
(setq m_GERUEST (get_tile "GERUEST")) ; Gerüst
(setq m_BEMASS (get_tile "BEMASS")) ; Bemassung
(SetDia)
)
(defun SetPara ()
(setq m_SPULEN (get_tile "SPULEN"))
(setq m_TEILUNG (get_tile "TEILUNG"))
(setq m_RICHTUNG (get_tile "RICHTUNG"))
(setq m_FUSS (get_tile "FUSS"))
(setq m_ANTRIEB (get_tile "ANTRIEB"))
(setq m_GERUEST (get_tile "GERUEST"))
(setq m_BEMASS (get_tile "BEMASS"))
;-------------------------------------------------------
(initget (+ 2 4))
;-------------------------------------------------------
)
(defun datain ()
;-------------------------------------------------------
;>>>> Eingabeteil <<<<<<<
;-------------------------------------------------------
(if (= m_TEILUNG "0") ; 150-er Teilung
(progn
(setq A '(7250 9050 10850 12650 14450 16250 18050 19850))
(setq B '(4900 6100 7300 8500 9700 10900 12100 13300))
)
)
(if (= m_TEILUNG "1") ; 165-er Teilung
(progn
(setq A '(7790 9770 11750 13730 15710 17690 19670 21650))
(setq B '(5260 6580 7900 9220 10540 11860 13180 14500))
)
)
(setq ANZ_SPULEN (atoi m_SPULEN)) ; um Wert NULL zu vermeiden
(setq ALTFANG (getvar "osmode"))
(initget (+ 1 2 4))
(command "_layer" "_m" "A-2" "_c" "2" "" "")
(command "_ortho" "_off")
(setq P0 (getpoint "\nPick insertion point : "))
; (setq P0 (list (car P0) (cadr P0) UK-SCHIENE))
(bl-name P0) ;--> Block-Name definieren -> Rückgabe: block-kennung
(setq P1 (list (car p0) (+ (cadr p0) 2650) UK-SCHIENE))
(if (= m_RICHTUNG "GEGENUHR") ; gegenuhrzeigersinn
(progn
(setq P2 (list (+ (nth ANZ_SPULEN A)(car p1)) (- (cadr P1) 200) UK-SCHIENE))
(setq P3 (list (car p2) (cadr p0) UK-SCHIENE))
(setq P4 (list (+ (car p1) 800) (cadr p1) UK-SCHIENE))
(setq P6 (list (car p4) (- (cadr p4) 200) UK-SCHIENE))
(setq P8 (list (car p4) (- (cadr p4) 2650) UK-SCHIENE))
(setq P10 (list (car p0) (+ (cadr p0) 800) UK-SCHIENE))
(setq P11 (list (car p0) (- (cadr p1) 1050) UK-SCHIENE))
(setq P15 (list (+ (car p0) 300) (+ (cadr p0) 300) 0))
)
(progn
(setq P2 (list (+ (nth ANZ_SPULEN A)(car p1)) (cadr P1) UK-SCHIENE))
(setq P3 (list (car p2) (+ (cadr p0) 200) UK-SCHIENE))
(setq P4 (list (+ (car p0) 800) (cadr p0) UK-SCHIENE))
(setq P6 (list (car p4) (+ (cadr p4) 200) UK-SCHIENE))
(setq P8 (list (car p4) (+ (cadr p4) 2650) UK-SCHIENE))
(setq P10 (list (car p0) (+ (cadr p0) 1050) UK-SCHIENE))
(setq P11 (list (car p1) (- (cadr p1) 500) UK-SCHIENE))
(setq P15 (list (+ (car p0) 300) (+ (cadr p0) 500) 0))
)
)
(setq P14 (list (+ (nth ANZ_SPULEN B)(car p0)) (cadr P0) UK-SCHIENE))
(command "_ortho" "_on")
(setvar "osmode" 0)
(command "_elevation" "0")
(command "_ucs" "_w")
(command "_fill" "_off")
(setq M_ARTINR "821106002") ; artikel.nr fuer alu-profil APG110
)
(defun geometrie()
; ---- Bereich einstellen
(command "_vpoint" "0,0,1")
(command "_zoom" "_w" (list (- (car P0) 2000) (- (cadr P0) 2000) 0)
(list (+ (car P2) 2000) (+ (cadr P2) 2000) 0))
; --- Putzstation einfügen
(command "_layer" "_m" "Putzstation" "_c" "5" "" "")
(command "_insert" (strcat lw "/acadsst/spinne/putzstation") P15 "" "" "")
(setq auswahl-satz (ssget "_L"))
(if (= m_RICHTUNG "GEGENUHR") ; in gegenuhrzeigerrichtung
(progn
(command "_layer" "_m" "A-2" "_c" "2" "" "")
(command "_insert" (strcat lw "/acadsst/alu/b1109065")
(list (car P0) (cadr P0) (+ (caddr P0) UK-SCHIENE)) "" "" "180")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/alu/wbe2r20") P1 "" "" "")
(ssadd (entlast) auswahl-satz)
(if (= m_FUSS "ENTGEGEN")
(progn
(command "_insert" (strcat lw "/acadsst/alu/wbe2r20") P2 "" "" "180")
(ssadd (entlast) auswahl-satz)
)
)
(if (or (= m_FUSS "ZURUECK") (= m_FUSS "ENTGVERB"))
(progn
(command "_insert" (strcat lw "/acadsst/alu/wb2r20") P2 "" "" "180")
(ssadd (entlast) auswahl-satz)
)
)
(gemeinsame-el)
; Fuß bearbeiten
(if (= m_FUSS "ZURUECK")
(progn
(command "_layer" "_m" "A-2" "_c" "2" "" "")
(command "_insert" (strcat lw "/acadsst/alu/b1109065") P3 "" "" "")
(command "_mirror" (entlast) "" P8 P3 "_Y")
(ssadd (entlast) auswahl-satz)
(setq P12 (list (car p2) (+ (cadr p2) 650) UK-SCHIENE))
(ap-zeichnen (list (car p3) (+ (cadr p3) 800) UK-SCHIENE) P12)
(command "_layer" "_m" "A-10" "_c" "8" "" "")
(command "_insert" (strcat lw "/acadsst/alu/tv80") (list (car p3) (+ (cadr p3) 800) UK-SCHIENE) "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/alu/alu_ks") P12 "" "" "")
(ssadd (entlast) auswahl-satz)
)
)
(if (= m_FUSS "ENTGEGEN")
(progn
(command "_layer" "_m" "A-2" "_c" "2" "" "")
(command "_insert" (strcat lw "/acadsst/alu/b1109065") P3 "" "" "")
(ssadd (entlast) auswahl-satz)
)
)
(if (= m_FUSS "ENTGVERB")
(progn
(command "_layer" "_m" "A-2" "_c" "2" "" "")
(command "_insert" (strcat lw "/acadsst/alu/sw90l70") P3 "" "" "")
(ssadd (entlast) auswahl-satz)
(setq P12 (list (car p2) (+ (cadr p2) 650) UK-SCHIENE))
(setq P13 (list (car p3) (- (cadr p3) 440) UK-SCHIENE))
(ap-zeichnen P13 P12)
(command "_layer" "_m" "A-10" "_c" "8" "" "")
(command "_insert" (strcat lw "/acadsst/alu/alu_ks") P12 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/alu/alu_ks") P13 "" "" "")
(ssadd (entlast) auswahl-satz)
)
)
; zieren
(command "_layer" "_m" "A-1" "_c" "1" "" "")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l")
(list (+ (car p0) 2000) (cadr p0) UK-SCHIENE) "0.5" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l")
(list (+ (car p1) 2000) (cadr p1) UK-SCHIENE) "0.5" "" "180")
(ssadd (entlast) auswahl-satz)
(if (or (= m_FUSS "ZURUECK") (= m_FUSS "ENTGVERB"))
(progn
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l")
(list (car p3) (+ (cadr p3) 1300) UK-SCHIENE) "0.5" "" "90")
(ssadd (entlast) auswahl-satz)
)
)
(prompt (strcat "Modul-Länge=" (itoa (+ LAENGE 1650 (* WIEDERHOLE 6000)))))
(prompt "\n")
)
) ; ENDE (if (= m_RICHTUNG "GEGENUHR")
(if (= m_RICHTUNG "UHR") ; in uhrzeigerrichtung
(progn
(command "_layer" "_m" "A-2" "_c" "2" "" "")
(command "_insert" (strcat lw "/acadsst/alu/wbe2l20") P0 "" "" "180")
(setq auswahl-satz (ssget "_L"))
(command "_insert" (strcat lw "/acadsst/alu/b1109065") P1 "" "" "90")
(ssadd (entlast) auswahl-satz)
(if (= m_FUSS "ZURUECK")
(progn
(command "_insert" (strcat lw "/acadsst/alu/b1109065") P2 "" "" "")
(ssadd (entlast) auswahl-satz)
)
)
(if (= m_FUSS "ENTGEGEN")
(progn
(command "_insert" (strcat lw "/acadsst/alu/b1109065") P2 "" "" "180")
(command "_mirror" (entlast) "" P3 P2 "_Y")
(ssadd (entlast) auswahl-satz)
)
)
(if (= m_FUSS "ENTGVERB")
(progn
(command "_insert" (strcat lw "/acadsst/alu/sw90r70") P2 "" "" "180")
(ssadd (entlast) auswahl-satz)
)
)
(gemeinsame-el)
; Fuß bearbeiten
(if (= m_FUSS "ZURUECK")
(progn
(command "_layer" "_m" "A-2" "_c" "2" "" "")
(command "_insert" (strcat lw "/acadsst/alu/wb2l20") P3 "" "" "")
(ssadd (entlast) auswahl-satz)
(setq P12 (list (car p2) (- (cadr p2) 800) UK-SCHIENE))
(ap-zeichnen (list (car p3) (- (cadr p3) 650) UK-SCHIENE) P12)
(command "_layer" "_m" "A-10" "_c" "8" "" "")
(command "_insert" (strcat lw "/acadsst/alu/alu_ks") (list (car p3) (- (cadr p3) 650) UK-SCHIENE) "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/alu/tv80") P12 "" "" "")
(ssadd (entlast) auswahl-satz)
)
)
(if (= m_FUSS "ENTGEGEN")
(progn
(command "_layer" "_m" "A-2" "_c" "2" "" "")
(command "_insert" (strcat lw "/acadsst/alu/wbe2l20") P3 "" "" "")
(ssadd (entlast) auswahl-satz)
)
)
(if (= m_FUSS "ENTGVERB")
(progn
(command "_layer" "_m" "A-2" "_c" "2" "" "")
(command "_insert" (strcat lw "/acadsst/alu/wb2l20") P3 "" "" "")
(ssadd (entlast) auswahl-satz)
(setq P12 (list (car p2) (+ (cadr p2) 360) UK-SCHIENE))
(setq P13 (list (car p3) (- (cadr p3) 650) UK-SCHIENE))
(ap-zeichnen P13 P12)
(command "_layer" "_m" "A-10" "_c" "8" "" "")
(command "_insert" (strcat lw "/acadsst/alu/alu_ks") P12 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/alu/alu_ks") P13 "" "" "")
(ssadd (entlast) auswahl-satz)
)
)
; zieren
(command "_layer" "_m" "A-1" "_c" "1" "" "")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") (list (+ (car p1) 1500) (cadr p1) UK-SCHIENE) "0.5" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") (list (+ (car p0) 1500) (cadr p0) UK-SCHIENE) "0.5" "" "180")
(ssadd (entlast) auswahl-satz)
(if (or (= m_FUSS "ZURUECK") (= m_FUSS "ENTGVERB"))
(progn
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") (list (car p3) (+ (cadr p3) 1300) UK-SCHIENE) "0.5" "" "90")
(ssadd (entlast) auswahl-satz)
)
)
(prompt (strcat "Modul-Länge=" (itoa (+ LAENGE 1650 (* WIEDERHOLE 6000)))))
(prompt "\n")
)
) ; ENDE (if (= m_RICHTUNG "UHR")
)
(defun gemeinsame-el()
; trapezverbindungselemente
(command "_layer" "_m" "A-10" "_c" "8" "" "")
(command "_insert" (strcat lw "/acadsst/alu/tv80") P4 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/alu/tv80") P6 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/alu/tv80") P8 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/alu/tv80") P10 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/alu/tv80") P11 "" "" "")
(ssadd (entlast) auswahl-satz)
; -- ap träger zeichnen - ABSTAND ermitteln
(ap-zeichnen P10 P11)
(setq LAENGE (fix (- (nth ANZ_SPULEN A) 1650)))
(setq WIEDERHOLE (fix (/ LAENGE 6000))); wenn > 6000 ist der faktor > 0
(if (> WIEDERHOLE 0)
(progn
(repeat WIEDERHOLE
(setq P5 (list (+ (car p4) 6000) (cadr p4) UK-SCHIENE))
(ap-zeichnen P4 P5)
(setq P4 P5) ; punkte vertauschen
(setq P7 (list (+ (car p6) 6000) (cadr p6) UK-SCHIENE))
(ap-zeichnen P6 P7)
(setq P6 P7) ; punkte vertauschen
(setq P9 (list (+ (car p8) 6000) (cadr p8) UK-SCHIENE))
(ap-zeichnen P8 P9)
(setq P8 P9) ; punkte vertauschen
(setq LAENGE (- LAENGE 6000))
)
)
)
; (if (= m_RICHTUNG "GEGENUHR")
(if (= m_FUSS "ENTGEGEN")
(progn
(setq P5 (list (+ (car p4) LAENGE 50) (cadr p4) UK-SCHIENE))
(setq P7 (list (+ (car p6) LAENGE 50) (cadr p6) UK-SCHIENE))
)
(progn
(setq P5 (list (+ (car p4) LAENGE) (cadr p4) UK-SCHIENE))
(setq P7 (list (+ (car p6) LAENGE) (cadr p6) UK-SCHIENE))
)
)
; )
(ap-zeichnen P4 P5)
(ap-zeichnen P6 P7)
(if (= m_FUSS "ENTGVERB")
(setq P9 (list (+ (car p8) LAENGE 150) (cadr p8) UK-SCHIENE))
(setq P9 (list (+ (car p8) LAENGE 50) (cadr p8) UK-SCHIENE))
)
(ap-zeichnen P8 P9)
)
(defun ap-zeichnen (anfang ende)
(command "_layer" "_m" "A-2" "_c" "2" "" "")
(bl-name anfang) ;--> Block-Name definieren -> Rückgabe: element-name
(command "_line" anfang ende "")
(setq auswahl-ap (ssget "_L"))
(mach-block anfang "0" AUSWAHL-AP)
(attribute-aendern "0" "2" "3" (itoa (fix (distance anfang ende))) "" block-kennung
M_ARTINR (strcat "APG110 L= " (itoa (fix (distance anfang ende)))) "" "")
(ssadd (entlast) auswahl-satz)
(setq auswahl-ap nil)
(command "_layer" "_m" "A-10" "_c" "8" "" "")
(command "_insert" (strcat lw "/acadsst/alu/tv80") ende "" "" "")
(ssadd (entlast) auswahl-satz)
)
(defun BEMASSUNG ()
;---------
; Bemaßung
;---------
(command "_layer" "_m" "A-8" "_c" "8" "" "")
(command "_dimtad" "0")
(command "_dimtxt" "125")
(command "_dimasz" "40")
; (setvar "osmode" 0)
(command "_dimaligned" P0 P1 (list (- (car p0) 400) (cadr p0) 0))
(ssadd (entlast) auswahl-satz)
(command "_dimlinear" P11 P2 (list (- (car p11) 400) (cadr p11) 0))
(ssadd (entlast) auswahl-satz)
(if (= m_BEMASS "1")
(progn
(command "_layer" "_m" "F-8" "_c" "8" "" "")
(command "_dimlinear" P0 P14 (list (+ (car p0) 2000) (- (cadr p0) 400) 0 ))
(ssadd (entlast) auswahl-satz)
)
)
)
(defun motor()
(if (= m_RICHTUNG "GEGENUHR")
(progn
(command "_layer" "_m" "F-1" "_c" "1" "" "")
(command "_insert" (strcat lw "/acadsst/foerder/ra1") P14 "" "" "")
(command "_insert" (strcat lw "/acadsst/foerder/ra2_200") (list (car P14) (+ (cadr P14) 2450) UK-SCHIENE) "" "" "")
)
)
(if (= m_RICHTUNG "UHR")
(progn
(command "_layer" "_m" "F-1" "_c" "1" "" "")
(command "_insert" (strcat lw "/acadsst/foerder/ra2_200") P14 "" "" "")
(command "_insert" (strcat lw "/acadsst/foerder/ra1") (list (car P14) (+ (cadr P14) 2650) UK-SCHIENE) "" "" "")
)
)
)
; ---- GERUEST zeichnen ----------------------------------------------------
(defun structure ()
(setq T1 (list (- (car p0) 600) (- (cadr p0) 1175) UK-GERUEST))
(setq T2 (list (+ (car p0) 1400) (- (cadr p0) 1175) UK-GERUEST))
(setq T3 (list (- (car p3) 1400) (- (cadr p0) 1175) UK-GERUEST))
(setq T4 (list (+ (car p3) 600) (- (cadr p0) 1175) UK-GERUEST))
(setq T5 (list (car t1) (- (cadr p0) 325) UK-GERUEST))
(setq T6 (list (+ (car P0) 100) (- (cadr p0) 325) UK-GERUEST))
; ---- eine 3-Fläche als Unterlage zeichnen
(command "_layer" "_m" "Boden" "_c" "8" "" "")
(command "_3dface" (list (car T1) (cadr T1) 0) (list (car T4) (cadr T4) 0)
(list (car T4) (+ (cadr T4) 5000) 0) (list (car T1) (+ (cadr T4) 5000) 0) "")
(ssadd (entlast) auswahl-satz)
; ---- RT80/80 zeichnen ---------------------------------------------------
(setq auswahl-rt nil)
(command "_layer" "_m" "D-5" "_c" "5" "" "")
; -- das kurze Stück zwischen DRT80
(bl-name T6) ;--> Block-Name definieren -> Rückgabe: element-name
(command "_line" (list (car T6) (+ (cadr T6) 35) (caddr T6)) (list (car T6) (+ (cadr T6) 3265) (caddr T6)) "")
(setq auswahl-rt (ssget "_L"))
(mach-block T1 "0" AUSWAHL-rt)
(attribute-aendern "0" "2" "5" "3230" "115-115" block-kennung
"825144004" "RT 80/80 L= 3230" "" "")
(ssadd (entlast) auswahl-satz)
(if (not (= m_FUSS "NICHTS"))
(progn
(command "_copy" (entlast) "" T6 (list (+ (car T6) (- (fix (distance T1 T4)) 1400)) (cadr T6) (caddr T6)))
(ssadd (entlast) auswahl-satz)
)
)
(setq auswahl-rt nil)
(bl-name T1) ;--> Block-Name definieren -> Rückgabe: element-name
(command "_line" T1 (list (car T1) (+ (cadr T1) 5000) (caddr T1)) "")
(setq auswahl-rt (ssget "_L"))
(mach-block T1 "0" AUSWAHL-rt)
(attribute-aendern "0" "2" "5" "5000" "250-250" block-kennung
"825144005" "RT 80/80 L= 5000" "" "")
(ssadd (entlast) auswahl-satz)
(setq auswahl-rt nil)
; -------- wie oft kopieren ? -------------------------------------------
(setq wieoft (+ (fix (/ (distance P0 P3) 3000)) 1))
(setq copyabstand (fix (/ (distance P0 P3) wieoft)))
(setq wieoft (- wieoft 2))
(copy_element T1 T2 T3 T4)
; --- DRT 80 -> 1-mal zeichnen und 4 mal kopieren
(command "_layer" "_m" "D-1" "_c" "1" "" "")
(bl-name T5) ;--> Block-Name definieren -> Rückgabe: element-name
(command "_line" (list (+ (car T5) 35) (cadr T5) (caddr T5))
(list (+ (car T5) 1965) (cadr T5) (caddr T5)) "")
(setq auswahl-rt (ssget "_L"))
(mach-block T5 "0" AUSWAHL-rt)
(attribute-aendern "0" "2" "5" "1930" "250-180" block-kennung
"825084002" "DRT 80 L= 1930" "" "")
(ssadd (entlast) auswahl-satz)
(setq auswahl-rt nil)
(command "_copy" (entlast) "" T5 (list (car T5) (+ (cadr T5) 3300) (caddr T5)))
(ssadd (entlast) auswahl-satz)
(if (not (= m_FUSS "NICHTS"))
(progn
(command "_copy" (entlast) "" (list (car T5) (+ (cadr T5) 3300) (caddr T5))
(list (+ (car T5) (fix (distance T1 T3))) (+ (cadr T5) 3300) (caddr T5)))
(ssadd (entlast) auswahl-satz)
(command "_copy" (entlast) "" (list (+ (car T5) (fix (distance T1 T3))) (+ (cadr T5) 3300) (caddr T5))
(list (+ (car T5) (fix (distance T1 T3))) (cadr T5) (caddr T5)))
(ssadd (entlast) auswahl-satz)
)
)
; 2" Säulen ---------------------------------------------------------
(setq AUSWAHL-STR nil)
(setq TS1 (list (car T1) (- (cadr T1) 35) 0))
(setq TS2 (list (car T2) (- (cadr T2) 35) 0))
(setq TS3 (list (car T3) (- (cadr T3) 35) 0))
(setq TS4 (list (car T4) (- (cadr T4) 35) 0))
(command "_layer" "_m" "D-1" "_c" "1" "" "")
(bl-name T1) ;--> Block-Name definieren -> Rueckgabe: element-name
(setq PT1 (list (- (car TS1) 100) (- (cadr TS1) 150) 0))
(setq PT2 (list (+ (car TS1) 100) (- (cadr TS1) 150) 0))
(setq PT3 (list (+ (car TS1) 100) (+ (cadr TS1) 150) 0))
(setq PT4 (list (- (car TS1) 100) (+ (cadr TS1) 150) 0))
(setvar "thickness" 10)
(setvar "elevation" 0)
(command "_solid" PT1 PT2 PT4 PT3 "")
(setq AUSWAHL-STR (ssget "_L"))
(setvar "thickness" 2990)
(setvar "elevation" 10)
(command "_circle" TS1 "30")
(ssadd (entlast) AUSWAHL-STR)
(setvar "thickness" 0)
(setvar "elevation" 0)
(mach-block TS1 "0" AUSWAHL-STR)
(attribute-aendern "0" "0" "25" "3000" "" block-kennung "821004025" "SL 2\" mit Fussplatte" "" "")
(ssadd (entlast) auswahl-satz)
(setq AUSWAHL-STR nil)
(copy_element TS1 TS2 TS3 TS4)
; ----- UPAT Duebel 4 Stück ----------------------------------------
(command "_layer" "_m" "D-10" "_c" "10" "" "")
(setq WINKEL 0)
(setvar "thickness" 0)
(setvar "elevation" 0)
(command "_insert" (strcat lw "/acadsst/rohr/d_einzel") TS1 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "25" "" "" block-kennung "922021003" "HST M12/20" "4" "")
(ssadd (entlast) AUSWAHL-SATZ)
(copy_element TS1 TS2 TS3 TS4)
(setq WINKEL (+ WINKEL 5))
(command "_insert" (strcat lw "/acadsst/rohr/d_einzel") TS1 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "25" "" "" block-kennung "923014001" "UPAT PSL-ANKER TYP B 14/10" "4" "")
(ssadd (entlast) AUSWAHL-SATZ)
(copy_element TS1 TS2 TS3 TS4)
; ---- KLEMMRING EINFACH
(command "_layer" "_m" "D-4" "_c" "4" "" "")
(command "_insert" (strcat lw "/acadsst/rohr/" "D_1KR") (list (car TS1) (cadr TS1) 2620) "" "" "")
(ssadd (entlast) AUSWAHL-SATZ)
(copy_element TS1 TS2 TS3 TS4)
(command "_insert" (strcat lw "/acadsst/rohr/" "D_1KR") (list (car TS1) (cadr TS1) 2500) "" "" "")
(ssadd (entlast) AUSWAHL-SATZ)
(copy_element TS1 TS2 TS3 TS4)
; Säulen und Klemmringe spiegeln auf die andere Seite
(command "_mirror" "_w" (list (- (car T1) 500) (- (cadr T1) 500) 0)
(list (+ (car T4) 500) (+ (cadr T4) 500) 4000) ""
(list (car P0) (+ (cadr P0) 1325) 0)
(list (+ (car P0) 500) (+ (cadr P0) 1325) 0) "_N"
)
)
; ---- ELEMENTE KOPIEREN -----------------------------------------------------------------
(defun copy_element (TK1 TK2 TK3 TK4)
(command "_copy" (entlast) "" TK1 TK2)
(ssadd (entlast) auswahl-satz)
(setq AP_BEF_90 (+ AP_BEF_90 3)) ; Rohrschelle für AP kpl.
(setq TM (list (+ (car TK1) 2000) (cadr TK1) (caddr TK1)))
(repeat wieoft
(setq TN (list (+ (car TM) copyabstand) (cadr TM) (caddr TM)))
(command "_copy" (entlast) "" TM TN)
(ssadd (entlast) auswahl-satz)
(setq AP_BEF_90 (+ AP_BEF_90 3)) ; Rohrschelle für AP kpl.
(setq TM TN)
)
(command "_copy" (entlast) "" TM TK3)
(ssadd (entlast) auswahl-satz)
(setq AP_BEF_90 (+ AP_BEF_90 3)) ; Rohrschelle für AP kpl.
(if (not (= m_FUSS "NICHTS"))
(progn
(command "_copy" (entlast) "" TK3 TK4)
(ssadd (entlast) auswahl-satz)
)
)
)
(defun schluss()
(IF clay
(progn
(command "_layer" "_set" clay "")
(setvar "BLIPMODE" bmod)
(setvar "CMDECHO" 1)
(setvar "MENUECHO" mech)
(setvar "OSMODE" mosm)
(setvar "SNAPMODE" msna)
(setvar "ORTHOMODE" mort)
(setvar "UCSICON" bksym)
(setvar "UCSFOLLOW" ucsf)
(setvar "THICKNESS" Z-HOEHE)
(setvar "ELEVATION" ERHEB)
)
)
(command "_vports" "_R" "aktiv")
(princ)
)
;------------------------------------------------------------------------------
(defun c:pu1pu2 ( / A B C P1 P2 P3 p4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15
T1 T2 T3 T4 T5 TS1 TS2 TS3 TS4 AUSWAHL-STR UK-SCHIENE UK-GERUEST AB_BEF_90
AB_BEF_BOG DRT80_8080 BMOD MOSM MSNA MORT CLAY MECH BKSYM UCSF HOEHE ERHEB BREITE
Z-HOEHE)
(start)
(setq auswahl-ap nil) ; auswahlsatz fuer die Bildung der traeger
(prompt "******* SPINNING MODULES - CLEANING STATIONS P1 & P2 *******")
(prompt "")
(setq UK-SCHIENE 2390)
(setq UK-GERUEST 2500)
; --- Zaehler für die Ermittlung der Kleinteile
; --- Die Kleinteile werden auf D-10 in P0 gesetzt
(setq AP_BEF_90 0) ; Rohrschelle für AP kpl. 821114019 - Abhängig von der Länge - pro RT80/80 3 Stück
(setq AP_BEF_BOG 5) ; Bogenschelle für AP kpl. 821114028 - am Ende des Moduls
(setq DRT80_8080 4) ; ?????????????????????
(if (null m_SPULEN) (setq m_SPULEN "0")) ; Spulen pro Spulenzug - default: "36"
(if (null m_TEILUNG) (setq m_TEILUNG "0")) ; Spulenzugteilung - default: "150"
(if (null m_RICHTUNG) (setq m_RICHTUNG "GEGENUHR")) ; Drehrichtung - default: "gegenuhrzeigersinn"
(if (null m_FUSS) (setq m_FUSS "ENTGVERB")) ; FUSS
(if (null m_ANTRIEB) (setq m_ANTRIEB "1")) ; Reibradantrieb - default: "mit Antrieb" (PU2)
(if (null m_GERUEST) (setq m_GERUEST "1")) ; mit Gerüst
(if (null m_BEMASS) (setq m_BEMASS "0")) ; keine Bemassung
;-------------------------------------------------------------------------------------------------------
(Dbox)
(datain)
(geometrie)
(if (= m_BEMASS "1")
(bemassung)
)
(if (= m_ANTRIEB "1")
(motor)
)
(if (= m_GERUEST "1")
(structure)
)
; (mach-block P0 "0" auswahl-satz)
; (command "_rotate" "_l" "" P0 pause)
; --- Die Kleinteile in 0,0
(command "_layer" "_m" "D-10" "_c" "10" "" "")
(setq WINKEL 0)
(setvar "thickness" 0)
(setvar "elevation" 0)
; ---- Rohrschelle für AP kpl. (für die geraden Stücke)
(command "_insert" (strcat lw "/acadsst/rohr/d_einzel") P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "25" "" "" block-kennung "821114019" "Rohrschelle für AP kpl." (rtos AP_BEF_90) "")
(setq WINKEL (+ WINKEL 5))
; ---- Bogenschelle für AP kpl. (für die Bögenabhängung)
(command "_insert" (strcat lw "/acadsst/rohr/d_einzel") P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "25" "" "" block-kennung "821114028" "Bogenschelle für AP kpl." (rtos AP_BEF_BOG) "")
(setq WINKEL (+ WINKEL 5))
; ---- DRT 80 an RT80/80 ????????????????
(command "_insert" (strcat lw "/acadsst/rohr/d_einzel") P0 "" "" (rtos WINKEL))
(attribute-aendern "0" "0" "25" "" "" block-kennung "?????????" "????????" (rtos DRT80_8080) "")
(setq WINKEL (+ WINKEL 5))
; ---- ENDE der Einfügug der Kleinteile
(command "_rotate" auswahl-satz "" P0 pause)
(schluss)
)