195 lines
8.4 KiB
Common Lisp
195 lines
8.4 KiB
Common Lisp
;------------------------------------------------------------------------;
|
|
; B�gelpl„tze zeichnen - TYP 2 - ;
|
|
; 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 RECHTSKB geschlossener B�gelhaken RECHTS;
|
|
; (f�r ca. 70% der Anwendungsf„lle) ;
|
|
; c) f�r 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)
|
|
)
|
|
;-------------------Pr�fung 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]: "))
|
|
)
|
|
;----- B�gelplatzart ------------------------------
|
|
(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 einf�gen >>>>>>
|
|
;----------------------------------------------------------
|
|
(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 "**** B�gelplatz TYP 2 *******")
|
|
(prompt "")
|
|
(datain)
|
|
(punkte)
|
|
(geometrie)
|
|
)
|
|
;------------------------------------------------------------------ |