Files
Walz/LAYOUT/OLD/L_BG_DRW.LSP
T

259 lines
8.6 KiB
Common Lisp

;------------------------------------------------------------------------;
; Baugruppe aus DW/DRW (STAHL) ;
;------------------------------------------------------------------------;
; AW 12.05.93 ;
;------------------------------------------------------------------------;
(defun Dbox (/ Dat)
(setq Dat (load_dialog (strcat lw "/acadsst/layout/l_bg_drw.DCL")))
(if (not (new_dialog "l_bg_drw" Dat)) (exit))
(set_tile "ART_" m_ART)
(setq breite (dimx_tile "anzeige"))
(setq hoehe (dimy_tile "anzeige"))
(set_tile "BEMASSEN" m_BEMASSEN)
(start_image "anzeige")
(slide_image 0 0 breite hoehe "layout(l_bg_drw)")
(end_image)
(action_tile "accept" "(SetPara) (done_dialog)")
(action_tile "cancel" "(exit) (done_dialog)")
(start_dialog)
(unload_dialog Dat)
)
(defun SetPara ()
(setq m_ART (get_tile "ART_")
m_BEMASSEN (get_tile "BEMASSEN")
)
(if (= m_ART "ART_DRW")
(setq ART 1)
)
(if (= m_ART "ART_DW")
(setq ART 2)
)
)
(defun datain ()
(setq ALTFANG (getvar "osmode"))
(setq MUFFE-ZAEHLER 0)
;------------------------
;>>>> Eingabeteil <<<<<<<
;------------------------
(setq auswahl-satz nil)
(initget (+ 1 2 4))
(setq PT0 (getpoint "\nSchnittpunkt antippen: "))
(setq PT01 (getpoint PT0 "\n1. Schenkel: "))
(setq PT02 (getpoint PT0 "\n2. Schenkel: "))
(setq PT03 (getpoint PT0 "\n3. Schenkel: "))
(bl-name PT0) ;--> Block-Name definieren -> Rckgabe: element-name
(setvar "osmode" 0)
(setq WINK_RAD1 (angle PT0 PT01))
(setq WINK_GRA1 (/ (* WINK_RAD1 180) pi))
(setq WINK_RAD2 (- WINK_RAD1 (/ pi 2)))
(setq WINK_GRA2 (/ (* WINK_RAD2 180) pi))
(setq WINK_RAD3 (+ WINK_RAD1 (/ pi 2)))
(setq WINK_GRA3 (/ (* WINK_RAD3 180) pi))
;------------------;
;Abst„nde berechnen;
;------------------;
(setq L1 (* (fix (/ (+ (distance PT0 PT01) 1) 2)) 2))
(setq L2 (* (fix (/ (+ (distance PT0 PT02) 1) 2)) 2))
(setq L3 (* (fix (/ (+ (distance PT0 PT03) 1) 2)) 2))
(if (or (< L1 700) (< L2 700) (< L3 700)
(> L1 1800) (> L2 1800) (> L3 1800))
(progn
(alert "Abstand zu groá oder zu klein ...")
(setvar "osmode" ALTFANG)
(exit)
)
)
(princ (strcat "\nL1= " (rtos L1) " | L2= " (rtos L2) " | L3= "
(rtos L3) "\n"))
; (setq PTA (getpoint "\nAufbaupunkt antippen: "))
)
(defun geometrie()
;--------------------------------------------------------
;<<<<< Konstruktionspunkte definieren >>>>>>>
;--------------------------------------------------------
(setq PT1 (polar PT0 WINK_RAD1 L1)
PT2 (polar PT0 WINK_RAD2 L2)
PT3 (polar PT0 WINK_RAD3 L3)
)
;-----------------
; Muffen dazugeben
;------------------
(command "_layer" "_m" "L-6" "_c" "6" "" "")
(command "_insert" (strcat lw "/acadsst/layout/muffe") PT1 "" "" "0")
(attribute-aendern "0" "0" "" "" "" block-kennung "825002016" "MUFFE ANGESCHWEISST (BG)" "" "")
(setq auswahl-satz (ssget "_L"))
(setq MUFFE-ZAEHLER (+ MUFFE-ZAEHLER 1))
(command "_insert" (strcat lw "/acadsst/layout/muffe") PT2 "" "" "0")
(attribute-aendern "0" "0" "" "" "" block-kennung "825002016" "MUFFE ANGESCHWEISST (BG)" "" "")
(ssadd (entlast) auswahl-satz)
(setq MUFFE-ZAEHLER (+ MUFFE-ZAEHLER 1))
(command "_insert" (strcat lw "/acadsst/layout/muffe") PT3 "" "" "0")
(attribute-aendern "0" "0" "" "" "" block-kennung "825002016" "MUFFE ANGESCHWEISST (BG)" "" "")
(ssadd (entlast) auswahl-satz)
(setq MUFFE-ZAEHLER (+ MUFFE-ZAEHLER 1))
;-----------------------------------------
; Abst„nde analysieren und Elemente setzen
;-----------------------------------------
;***********************
; 1. Abstand bearbeiten
;***********************
(if (or (< L1 800) (< L2 800) (< L3 800))
(command "_layer" "_m" "L-1" "_c" "1" "" "")
(command "_layer" "_m" "L-3" "_c" "3" "" "")
)
(cond
((< L1 800)
(if (= ART 1)
(command "_insert" (strcat lw "/acadsst/layout/drw1400x") PT0 "" "" WINK_GRA1)
(command "_insert" (strcat lw "/acadsst/layout/dw1400xx") PT0 "" "" WINK_GRA1)
)
(attribute-aendern "0" "0" "" "" "" block-kennung "" " (BG)" "" "")
(ssadd (entlast) auswahl-satz)
(if (> L1 700)
(progn
(setq PT4 (polar PT0 WINK_RAD1 700))
(command "_line" PT1 PT4 "")
(ssadd (entlast) auswahl-satz)
)
)
)
((and (>= L1 800) (<= L1 1800))
(if (= ART 1)
(command "_insert" (strcat lw "/acadsst/layout/drw1600x") PT0 "" "" WINK_GRA1)
(command "_insert" (strcat lw "/acadsst/layout/dw1600xx") PT0 "" "" WINK_GRA1)
)
(attribute-aendern "0" "0" "" "" "" block-kennung "" " (BG)" "" "")
(ssadd (entlast) auswahl-satz)
(if (> L1 800)
(progn
(setq PT4 (polar PT0 WINK_RAD1 800))
(command "_insert" (strcat lw "/acadsst/layout/verbind") PT4 "0.5" "0.5" "0")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/layout/stbg") PT4 (- L1 800) "1" WINK_GRA1)
(attribute-aendern "0" "0" "" (rtos (- L1 800)) "" block-kennung ""
(strcat " L=" (rtos (- L1 800))) "" "")
(ssadd (entlast) auswahl-satz)
)
))
) ; endcond
;***********************
; 2. Abstand bearbeiten
;***********************
(cond
((< L2 800)
(if (> L2 700)
(progn
(setq PT5 (polar PT0 WINK_RAD2 700))
(command "_line" PT2 PT5 "")
(ssadd (entlast) auswahl-satz)
)
))
((and (>= L2 800) (<= L2 1800))
(if (> L2 800)
(progn
(setq PT5 (polar PT0 WINK_RAD2 800))
(command "_insert" (strcat lw "/acadsst/layout/verbind") PT5 "0.5" "0.5" "0")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/layout/stbg") PT5 (- L2 800) "1" WINK_GRA2)
(attribute-aendern "0" "0" "" (rtos (- L2 800)) "" block-kennung ""
(strcat " L=" (rtos (- L2 800))) "" "")
(ssadd (entlast) auswahl-satz)
)
))
) ; endcond
;***********************
; 3. Abstand bearbeiten
;***********************
(cond
((< L3 800)
(if (> L3 700)
(progn
(setq PT6 (polar PT0 WINK_RAD3 700))
(command "_line" PT4 PT6 "")
(ssadd (entlast) auswahl-satz)
)
))
((and (>= L3 800) (<= L3 1800))
(if (> L3 800)
(progn
(setq PT6 (polar PT0 WINK_RAD3 800))
(command "_insert" (strcat lw "/acadsst/layout/verbind") PT6 "0.5" "0.5" "0")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/layout/stbg") PT6 (- L3 800) "1" WINK_GRA3)
(attribute-aendern "0" "0" "" (rtos (- L3 800)) "" block-kennung ""
(strcat " L=" (rtos (- L3 800))) "" "")
(ssadd (entlast) auswahl-satz)
)
))
) ; endcond
)
(defun BEMASSUNG ()
;---------
; Bemaáung
;---------
(command "_layer" "_m" "L-10" "_c" "10" "" "")
(command "_dim")
(command "_dimtad" "0")
(command "_dimtxt" "125")
(command "_dimasz" "40")
(command "_align" PT0 PT01 (polar PT0 (+ WINK_RAD1 (/ pi 2)) 200) "")
(command "_align" PT0 PT02 (polar PT0 (+ WINK_RAD1 pi) 200) "")
(command "_align" PT0 PT03 (polar PT0 (+ WINK_RAD1 pi) 200) "")
(command "_exit")
(command "_layer" "_m" "L-3" "_c" "3" "" "")
)
;------------------------------------------------------------------------------
(defun c:l_bg_drw ( / PT0 PT01 PT02 PT03 PT1 PT2 PT3 WINK_RAD1 WINK_RAD2
WINK_RAD3 WINK_GRA1 WINK_GRA2 WINK_GRA3 pt4 pt5 pt6 art
l1 l2 l3)
(setvar "limcheck" 0)
(prompt "**** BG aus DW/DRW *******")
(prompt "")
(if (null m_ART) (setq m_ART "ART_DRW")) ; DRW
(if (null m_BEMASSEN) (setq m_BEMASSEN "1")) ; mit Bemaáung
(dbox)
(datain)
(geometrie)
(mach-block PT0 "0" auswahl-satz)
(setq auswahl-satz nil)
(if (or (< L1 800) (< L2 800) (< L3 800))
(setq PREFIX "SONDER-")
(setq PREFIX "BG-")
)
(if (= ART 1)
(setq BEZ (strcat PREFIX "** BG DRW R650 -" (itoa L1) "-" (itoa L2) "-"
(itoa L3) " + " (rtos MUFFE-ZAEHLER) " MUFFE(N)"))
(setq BEZ (strcat PREFIX "** BG DW R650 -" (itoa L1) "-" (itoa L2) "-"
(itoa L3) " + " (rtos MUFFE-ZAEHLER) " MUFFE(N)"))
)
(attribute-aendern "0" "2" "1" "" "" block-kennung "111111111" (strcat BEZ " [BG1]") "" "") ; in SSTBASE.LSP
(if (= m_BEMASSEN "1")
(bemassung)
)
(setvar "osmode" ALTFANG)
)
;------------------------------------------------------------------------------