Files

195 lines
8.4 KiB
Common Lisp

;------------------------------------------------------------------------;
; Bgelpl„tze zeichnen - TYP 2 - ;
; 3 Arten von Bgelpl„tzen: ;
; -----------------------------------------------------------------------;
; a) fr REINIGUNG - Abnahme von RECHTS geschlossener Bgelhaken LINKS ;
; (fr ca. 30% der Anwendungsf„lle) ;
; b) fr REINIGUNG - Abnahme von RECHTSKB geschlossener Bgelhaken RECHTS;
; (fr ca. 70% der Anwendungsf„lle) ;
; c) fr FERTIGUNG und PRODUKTION - Abnahme von LINKS ;
; -----------------------------------------------------------------------;
; AW 22.3.93 ;
;------------------------------------------------------------------------;
(defun datain()
;-------------------------------------------------------
;>>>> Eingabeteil <<<<<<<
;-------------------------------------------------------
(setq P0 (getpoint "\nUntere linke Ecke definieren: "))
(initget (+ 2 4))
(setq L1 (getreal "\nBreite eingeben [1600-5000] <2600>: "))
(If
(= nil L1)
(Setq L1 2600)
)
(setq L3 (getreal "\nTiefe eingeben [1600-10000] <2300>: "))
(If
(= nil L3)
(Setq L3 2300)
)
(setq L2 (getreal "\nStreckenabstand eingeben [700-2000] <800>: "))
(If
(= nil L2)
(Setq L2 800)
)
(setq KO (getint "\nAnzahl Pl„tze eingeben <1>: "))
(If
(= nil KO)
(Setq KO 1)
)
;-------------------Prfung ob die Grenzwerte eingehalten ---
(while (or (< L1 1600) (> L1 5000))
(initget (+ 1 2 4))
(setq L1 (getreal "\nBreite eingeben [1600-5000]: "))
)
(while (or (< L3 1600) (> L3 10000))
(initget (+ 1 2 4))
(setq L1 (getreal "\nTiefe eingeben [1600-10000]: "))
)
(while (or (< L2 700) (> L2 2000))
(initget (+ 1 2 4))
(setq L2 (getint "\nBreite eingeben [700-2000]: "))
)
;----- Bgelplatzart ------------------------------
(initget (+ 2 4))
(setq ART (getint "\nPlatz-Art(1,2 oder 3)-->
1=REIN-LINKS;2=REIN-RECHTS;3=PRODUKTION <3>: "))
(If
(= nil ART)
(Setq ART 3)
)
)
(defun punkte()
;--------------------------------------------------------
;<<<<< Konstruktionspunkte definieren >>>>>>>
;--------------------------------------------------------
(setq P1 (list (+ (car p0) L1 400) (+ (cadr p0) L2)))
(setq P2 (list (car p0) (+ (cadr p0) L2)))
(setq P3 (list (car p0) (+ (cadr p0) L2 L3)))
(setq P4 (list (+ (car p0) L1) (cadr p3)))
(setq P5 (list (car p4) (cadr p2)))
(setq P6 (list (car p5) (+ (cadr p5) 400)))
(setq P7 (list (car p0) (cadr p6)))
(setq P8 (list (- (car p1) L2) (cadr p0)))
(setq P9 (list (+ (car p1) L2) (cadr p0)))
(setq P10 (list (car p3) (- (cadr p3) 800)))
(setq P11 (list (car p2) (+ (cadr p2) 670)))
(setq P12 (list (car p4) (- (cadr p4) 800)))
(setq P13 (list (car p5) (+ (cadr p5) 670)))
(setq P14 (list (+ (car p3) 800) (cadr p3)))
(setq P15 (list (- (car p4) 800) (cadr p4)))
(setq P16 (list (- (car p1) 283) (- (cadr p1) 283)))
(setq P17 (list (+ (car p8) 400) (+ (cadr p8) 400)))
(setq P18 (list (+ (car p1) 283) (- (cadr p1) 283)))
(setq P19 (list (- (car p9) 400) (+ (cadr p9) 400)))
(setq P20 (list (+ (car p8) 375) (cadr p8)))
(setq P21 (list (- (car p9) 375) (cadr p9)))
(setq P22 (list (- (car p8) 425) (cadr p8)))
(setq P23 (list (+ (- (car p0) 400) L2 425) (cadr p0)))
(setq P24 (list (- (car p3) 400) (+ (cadr p3) 400)))
(setq P25 (list (+ (car p9) 400) (- (cadr p9) 400)))
(cond
((= ART 1)
(setq P26 (list (+ (car p11) (/ L1 2)) (cadr p11)))
(setq P27 (list (- (car p26) 700) (+ (cadr p26) 450)))
(setq P28 (list (- (car p26) 1000) (- (cadr p26) 400)))
(setq P29 (list (+ (car p26) 500) (+ (cadr p26) 200)))
)
((= ART 2)
(setq P26 (list (+ (car p11) (/ L1 2)) (- (cadr p10) 200)))
(setq P27 (list (- (car p12) 450) (+ (cadr p13) 500)))
(setq P28 (list (- (car p26) 750) (- (cadr p26) 350)))
(setq P29 (list (+ (car p26) 1100) (+ (cadr p26) 100)))
)
((= ART 3)
(setq P26 (list (+ (car p11) (/ L1 2)) (cadr p10)))
(setq P27 (list (- (car p13) 300) (cadr p13)))
(setq P28 (list (- (car p26) 1200) (- (cadr p26) 200)))
(setq P29 (list (- (car p5) 500) (+ (cadr p5) 700)))
)
)
)
(defun geometrie()
;----------------------------------------------------------
;<<<<<< Bl”cke einfgen >>>>>>
;----------------------------------------------------------
(command "_layer" "_m" "L-2" "_c" "2" "" "")
(command "_insert" (strcat lw "/acadsst/layout/kw800_8x") P1 "" "" "0")
(command "_insert" (strcat lw "/acadsst/layout/s90650l8") P3 "" "" "180")
(command "_insert" (strcat lw "/acadsst/layout/s90650l8") P4 "" "" "90")
(command "_insert" (strcat lw "/acadsst/layout/s45400r4") P7 "" "" "270")
(command "_insert" (strcat lw "/acadsst/layout/s45400l4") P6 "" "" "270")
(command "_insert" (strcat lw "/acadsst/layout/w45650l4") P8 "" "" "0")
(command "_insert" (strcat lw "/acadsst/layout/w45650r4") P9 "" "" "180")
(command "_line" p2 p5 "")
(command "_line" p10 p11 "")
(command "_line" p12 p13 "")
(command "_line" p14 p15 "")
(command "_line" p16 p17 "")
(command "_line" p18 p19 "")
(command "_line" p20 p21 "")
(command "_line" p22 p23 "")
;----------------- Pfeile setzen ---------------------------------------
(command "_layer" "_m" "Z-1" "_c" "1" "" "")
(cond
((= ART 1)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") p10 "" "" "270")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_v") p13 "" "" "90")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_v") p19 "" "" "135")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") p16 "" "" "225")
(command "_insert" (strcat lw "/acadsst/zier2d/maus") p26 "" "" "0")
(command "_insert" (strcat lw "/acadsst/zier2d/vario14") p27 "" "" "270")
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") p22 "" "" "90")
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") p12 "" "" "0")
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") p11 "" "" "180")
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") p28 "" "" "45")
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") p29 "" "" "315")
)
((= ART 2)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_v") p10 "" "" "90")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") p13 "" "" "270")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") p19 "" "" "315")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_v") p17 "" "" "45")
(command "_insert" (strcat lw "/acadsst/zier2d/maus") p26 "" "" "180")
(command "_insert" (strcat lw "/acadsst/zier2d/vario14") p27 "" "" "90")
(command "_insert" (strcat lw "/acadsst/zier2d/buegel") p22 "" "" "270")
(command "_insert" (strcat lw "/acadsst/zier2d/buegel") p12 "" "" "180")
(command "_insert" (strcat lw "/acadsst/zier2d/buegel") p11 "" "" "0")
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") p28 "" "" "225")
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") p29 "" "" "180")
)
((= ART 3)
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") p10 "" "" "270")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_v") p13 "" "" "90")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_v") p19 "" "" "135")
(command "_insert" (strcat lw "/acadsst/zier2d/pf0_l") p5 "" "" "180")
(command "_insert" (strcat lw "/acadsst/zier2d/maus") p26 "" "" "180")
(command "_insert" (strcat lw "/acadsst/zier2d/dobli-fw") p27 "" "" "180")
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") p22 "" "" "90")
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") p12 "" "" "0")
(command "_insert" (strcat lw "/acadsst/zier2d/buegelr") p11 "" "" "180")
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") p28 "" "" "0")
(command "_insert" (strcat lw "/acadsst/zier2d/pfeil") p29 "" "" "315")
)
)
(IF (> KO 1)
(command "_array" "k" p24 p25 "" "r" "1" KO (+ L1 800))
)
)
;-----------------------------------------------------------------
(defun c:b_typ2 (/ L1 L2 L3 KO ART P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11
P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 P27 P28 P29)
(setvar "limcheck" 0)
(prompt "**** Bgelplatz TYP 2 *******")
(prompt "")
(datain)
(punkte)
(geometrie)
)
;------------------------------------------------------------------