Files
Walz/MODULE/B_TYP1.LSP
T

260 lines
12 KiB
Common Lisp

;-----------------------------------------------------------------------;
; Bügelplätze zeichnen - TYP 1 - ;
; 3 Arten von Bügelplätzen: ;
; --------------------------------------------------------------------- ;
; a) für REINIGUNG - Abnahme von RECHTS geschlossener Bügelhaken LINKS ;
; ( für ca. 30% der Anwendungsfälle ) ;
; b) für REINIGUNG - Abnahme von RECHTS geschlossener Bügelhaken RECHTS ;
; ( für ca. 70% der Anwendungsfälle ) ;
; c) für FERTIGUNG und PRODUKTION - Abnahme von LINKS ;
; --------------------------------------------------------------------- ;
; 21.06.93 / 12.06.1998 ;
;-----------------------------------------------------------------------;
(defun Dbox (/ Dat)
(setq Dat (load_dialog (strcat lw "/acadsst/module/b_typ1.dcl")))
(if (not (new_dialog "b_typ1" Dat)) (exit))
(set_tile "L1" m_L1)
(set_tile "L2" m_L2)
(set_tile "K0" m_K0)
(set_tile "ART" m_ART)
(SetDia)
(ACTION_TILE "ART" "(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 (= m_ART "ART_1") ; Nr 1
(slide_image 0 0 breite hoehe "arbplz(btyp01_1)")
)
(if (= m_ART "ART_2") ; Nr 2
(slide_image 0 0 breite hoehe "arbplz(btyp01_2)")
)
(if (= m_ART "ART_3") ; Nr 3
(slide_image 0 0 breite hoehe "arbplz(btyp01_3)")
)
(end_image)
)
(defun zeig_dia()
(setq m_ART (get_tile "ART"))
(SetDia)
)
(defun SetPara ()
(setq m_L1 (get_tile "L1") ; Breite
m_L2 (get_tile "L2") ; Tiefe
m_K0 (get_tile "K0") ; Anzahl Plätze
m_ART (get_tile "ART") ; Art
)
)
(defun datain()
(setq L1 (atof m_L1)) ; Breite
(setq L2 (atof m_L2)) ; Tiefe
(setq K0 (atof m_K0)) ; Anzahl Plätze
(setq ART (atoi (substr m_ART 5 1))) ; Art
;---------------------------------------------------------------------;
; >>>>>> EINGABETEIL <<<<<< ;
;---------------------------------------------------------------------;
(setq P0 (getpoint "\nUntere linke Ecke definieren: "))
(initget (+ 2 4))
;---------------------------------------------------------------------;
; >>>>>> Prüfung ob die Grenzwerte eingehalten sind <<<<<< ;
;---------------------------------------------------------------------;
(while (or (< L1 4600) (> L1 8000))
(initget (+ 1 2 4))
(setq l1 (getreal "\nBreite eingeben [4600-8000]: "))
)
(while (or (< L2 2200) (> L2 6000))
(initget (+ 1 2 4))
(setq l2 (getreal "\nTiefe eingeben [2200-6000]: "))
)
)
(defun punkte()
;---------------------------------------------------------------------;
; >>>>>> Konstruktionspunkte definieren <<<<<< ;
;---------------------------------------------------------------------;
(setq P1 (list (car P0) (+ (cadr P0) 800)))
(setq P2 (list (+ (car P0) 800) (cadr P1)))
(setq P3 (list (+ (car P1) (/ (- L1 1850) 2)) (cadr P1)))
(setq P4 (list (+ (car P3) 425) (cadr P1)))
(setq P5 (list (+ (car P3) 825) (- (cadr P1) 400)))
(setq P6 (list (+ (car P3) 1025) (- (cadr P1) 600)))
(setq P7 (list (+ (car P3) 1425) (- (cadr P1) 1000)))
(setq P8 (list (+ (car P3) 1850) (cadr P7)))
(setq P9 (list (+ (car P0) (- L1 800)) (cadr P7)))
(setq P10 (list (+ (car P0) L1) (cadr P7)))
(setq P11 (list (car P10) (+ (cadr P7) 800)))
(setq P12 (list (car P10) (+ (cadr P7) L2)))
(setq P13 (list (car P0) (+ (cadr P0) L2)))
(setq P14 (list (- (car P0) 400) (- (cadr P0) 400)))
(setq P15 (list (+ (car P12) 400) (+ (cadr P12) 400)))
(cond
((= ART 1)
(setq P16 (list (- (car P4) 1400) (- (cadr P4) 1090)))
(setq P17 (list (- (car P4) 700) (- (cadr P16) 560)))
(setq P18 (list (+ (car P4) 200) (- (cadr P4) 1350)))
(setq P19 (list (+ (car p18) 750) (+ (cadr P18) 350)))
(setq P20 (list (car P1) (+ (cadr P1) (/ (- L2 800) 2))))
(setq P21 (list (car P10) (+ (+ (cadr P10) 800) (/ (- L2 800) 2))))
(setq P22 (list (- (car P4) 650) (cadr P4)))
)
((= ART 2)
(setq P16 (list (+ (car P7) 1400) (+ (cadr P7) 1090)))
(setq P17 (list (+ (car P7) 700) (+ (cadr P16) 560)))
(setq P18 (list (- (car P7) 200) (+ (cadr P7) 1350)))
(setq P19 (list (- (car p18) 750) (- (cadr P18) 350)))
(setq P20 (list (car P1) (+ (cadr P1) (/ (- L2 800) 2))))
(setq P21 (list (car P10) (+ (+ (cadr P10) 800) (/ (- L2 800) 2))))
(setq P22 (list (- (car P4) 400) (cadr P4)))
(setq P23 (list (+ (car P8) 250) (cadr P8)))
)
((= ART 3)
(setq P16 (list (- (car P7) 300) (- (cadr P4) 1750)))
(setq P17 (list (- (car P7) 1200) (+ (cadr P16) 850)))
(setq P18 (list (+ (car P4) 200) (- (cadr P4) 1350)))
(setq P19 (list (+ (car p18) 750) (+ (cadr P18) 350)))
(setq P20 (list (car P1) (+ (cadr P1) (/ (- L2 800) 2))))
(setq P21 (list (car P10) (+ (+ (cadr P10) 800) (/ (- L2 800) 2))))
(setq P22 (list (- (car P4) 400) (cadr P4)))
(setq P23 (list (+ (car P8) 250) (cadr P8)))
)
)
)
(defun geometrie()
;---------------------------------------------------------------------;
; >>>>>> Blöcke einfügen <<<<<< ;
;---------------------------------------------------------------------;
(command "_layer" "_m" "L-2" "_c" "2" "" "")
(command "_insert" (strcat lw "/acadsst/layout/w90650R8") P1 "" "" "90")
(setq auswahl-satz (ssget "_L"))
(command "_insert" (strcat lw "/acadsst/layout/s45650R4") P4 "" "" "0")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/layout/s45650R4") P7 "" "" "180")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/layout/w90650R8") P10 "" "" "-90")
(ssadd (entlast) auswahl-satz)
(command "_line" P2 P3 "")
(ssadd (entlast) auswahl-satz)
(command "_line" P5 P6 "")
(ssadd (entlast) auswahl-satz)
(command "_line" P8 P9 "")
(ssadd (entlast) auswahl-satz)
(command "_line" P11 P12 "")
(ssadd (entlast) auswahl-satz)
(command "_line" P1 P13 "")
(ssadd (entlast) auswahl-satz)
;---------------------------------------------------------------------;
; >>>>>> Pfeile + Maschinen setzen <<<<<< ;
;---------------------------------------------------------------------;
(command "_layer" "_m" "Z-1" "_c" "1" "" "")
(cond
((= ART 1)
(command "_insert" (strcat lw "/acadsst/zier2d/buegel") P20 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegel") P21 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegel") P2 "" "" "-90")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegel") P5 "" "" "-135")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegel") P9 "" "" "-90")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/vario14") P16 "" "" "-90")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/maus") P17 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") P18 "" "" "45")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") P19 "" "" "-135")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") P8 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_v") P22 "" "" "")
(ssadd (entlast) auswahl-satz)
)
((= ART 2)
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") P20 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") P21 "" "" "")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") P2 "" "" "-90")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") P5 "" "" "-135")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") P9 "" "" "-90")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/vario14") P16 "" "" "90")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/maus") P17 "" "" "180")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") P18 "" "" "-135")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") P19 "" "" "45")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_v") P23 "" "" "180")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") P22 "" "" "180")
(ssadd (entlast) auswahl-satz)
)
((= ART 3)
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") P20 "" "" "180")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") P21 "" "" "180")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") P2 "" "" "90")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") P5 "" "" "45")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") P9 "" "" "90")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/dobli-fw") P16 "" "" "180")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/maus") P17 "" "" "180")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") P18 "" "" "45")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") P19 "" "" "-135")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_v") P23 "" "" "180")
(ssadd (entlast) auswahl-satz)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") P22 "" "" "180")
(ssadd (entlast) auswahl-satz)
)
)
(If (> K0 1)
;(command "_array" "_c" P14 P15 "" "_r" m_K0 "1" m_L2)
(command "_array" auswahl-satz "" "_r" m_K0 "1" m_L2)
)
)
;---------------------------------------------------------------------;
; >>>>>> Programm <<<<<< ;
;---------------------------------------------------------------------;
(defun c:b_typ1 ( / L1 L2 K0 ART P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23)
(setvar "limcheck" 0)
(prompt "*** Bügelplatz TYP 1 ***")
(if (null m_L1) (setq m_L1 "4600" )) ; Breite
(if (null m_L2) (setq m_L2 "2400" )) ; Tiefe
(if (null m_K0) (setq m_K0 "1" )) ; Anzahl der Plätze
(if (null m_ART) (setq m_ART "ART_1" )) ; Art
(setq auswahl-satz nil)
(Dbox)
(prompt "")
(datain)
(punkte)
(geometrie)
)
;---------------------------------------------------------------------;
; >>>>>> Ende <<<<<< ;
;---------------------------------------------------------------------;