home *** CD-ROM | disk | FTP | other *** search
- (defun C:LKEY ()
- (setq fpt (getpoint "Enter base point:"))
- (setq yn (getstring "left of base point? (Y/N):"))
- (setq r (getdist fpt "Enter radius:"))
- (setq l (getdist fpt "Enter length:"))
- (if (or (= yn "Y") (= yn "y"))(progn
- (setq c1 (polar fpt 0 r))
- (setq c2 (polar fpt 0 (- l r)))
- (setq pa (polar fpt pi 4))
- ))
- (if (or (= yn "N") (= yn "n"))(progn
- (setq c1 (polar fpt pi (- l r)))
- (setq c2 (polar fpt pi r))
- (setq pa (polar fpt pi (+ l 4)))
- ))
- (setq pt1 (polar c1 (/ pi 2.0) r))
- (setq pt2 (polar c2 (/ pi 2.0) r))
- (setq pt3 (polar c2 (- (/ pi 2.0) pi) r))
- (setq pt4 (polar pt3 pi (- l r r)))
- (setq pt5 (polar c2 (/ pi 4.0) r))
- (setq pb (polar c2 0 (+ r 4)))
- (setq pc (polar pt1 (/ pi 2.0) 4))
- (setq pd (polar pt4 (* 3 (/ pi 2.0)) 4))
- (setq pe (polar pt2 (/ pi 2.0) 4))
- (setq pf (polar pt3 (* 3 (/ pi 2.0)) 4))
- (setq l1 (rtos l 2 1))
- (setq r1 (rtos (* r 2) 2 1))
- (setq xc (car fpt) yc (cadr fpt))
- (command "layer" "s" "1" "")
- (command "line" pa pb "")
- (command "line" pc pd "")
- (command "line" pe pf "")
- (command "layer" "s" "0" "")
- (command "pline" pt4 "w" "0.35" "" pt3 "a" "ce" c2 pt2 "l" pt1 "a" "ce" c1 pt4 "")
- (if (or (= yn "Y") (= yn "y"))(progn
- (command "dim" "hor" fpt (polar fpt 0 l) (polar pt4 (- (/ pi 2)) 10) l1 "exit")
- (command "dim" "ver" pt1 pt4 (polar fpt pi 10) r1 "exit")
- (command "line" (list (- xc 10) (+ yc r)) (list (- xc 10) (- yc r)) "")
- ))
- (if (or (= yn "N") (= yn "n"))(progn
- (command "dim" "hor" fpt (polar fpt pi l) (polar pt4 (- (/ pi 2)) 10) l1 "exit")
- (command "dim" "ver" pt1 pt4 (polar fpt pi (+ l 10)) r1 "exit")
- (command "line" (list (- xc l 10) (+ yc r)) (list (- xc l 10) (- yc r)) "")
- ))
- (command "dim" "rad" pt5 "R" 10 "exit")
- (redraw)
- (clean)
- (quit)
- )
-