;
; Sin curve ±×¸®´Â ¸®½À ; Command : Sin-Curve ; (defun dtr (a) (* pi (/ a 180.))) (defun c:Sin-Curve ( / olderr sosmd sblip spick clay dimsc a b c r x y l an) (setq olderr *error* *error* error) (setq sosmd (getvar "OSMODE")) (setvar "osmode" 32) (setq a (getpoint "n Enter left lower point: ") b (getpoint "n Enter right upper point: ")) (setq r (/ (- (cadr b) (cadr a)) 2.0) c (list (/ (+ (car a) (car b)) 2.0) (/ (+ (cadr a) (cadr b)) 2.0)) x (abs (- (car a) (car c))) ; y (abs (- (cadr a) (cadr c))) l (/ x 25.) an (/ 90 25.) ) (setvar "OSMODE" 0) (command "PLINE" a (list (- (car c) (* l 24)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 24)) r)))) (list (- (car c) (* l 23)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 23)) r)))) (list (- (car c) (* l 22)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 22)) r)))) (list (- (car c) (* l 21)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 21)) r)))) (list (- (car c) (* l 20)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 20)) r)))) (list (- (car c) (* l 19)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 19)) r)))) (list (- (car c) (* l 18)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 18)) r)))) (list (- (car c) (* l 17)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 17)) r)))) (list (- (car c) (* l 16)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 16)) r)))) (list (- (car c) (* l 15)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 15)) r)))) (list (- (car c) (* l 14)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 14)) r)))) (list (- (car c) (* l 13)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 13)) r)))) (list (- (car c) (* l 12)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 12)) r)))) (list (- (car c) (* l 11)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 11)) r)))) (list (- (car c) (* l 10)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 10)) r)))) (list (- (car c) (* l 9)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 9)) r)))) (list (- (car c) (* l 8)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 8)) r)))) (list (- (car c) (* l 7)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 7)) r)))) (list (- (car c) (* l 6)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 6)) r)))) (list (- (car c) (* l 5)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 5)) r)))) (list (- (car c) (* l 4)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 4)) r)))) (list (- (car c) (* l 3)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 3)) r)))) (list (- (car c) (* l 2)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 2)) r)))) (list (- (car c) (* l 1)) (- (cadr c) (cadr (polar '(0 0) (dtr (* an 1)) r)))) c (list (+ (car c) (* l 1)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 1)) r)))) (list (+ (car c) (* l 2)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 2)) r)))) (list (+ (car c) (* l 3)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 3)) r)))) (list (+ (car c) (* l 4)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 4)) r)))) (list (+ (car c) (* l 5)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 5)) r)))) (list (+ (car c) (* l 6)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 6)) r)))) (list (+ (car c) (* l 7)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 7)) r)))) (list (+ (car c) (* l 8)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 8)) r)))) (list (+ (car c) (* l 9)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 9)) r)))) (list (+ (car c) (* l 10)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 10)) r)))) (list (+ (car c) (* l 11)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 11)) r)))) (list (+ (car c) (* l 12)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 12)) r)))) (list (+ (car c) (* l 13)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 13)) r)))) (list (+ (car c) (* l 14)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 14)) r)))) (list (+ (car c) (* l 15)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 15)) r)))) (list (+ (car c) (* l 16)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 16)) r)))) (list (+ (car c) (* l 17)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 17)) r)))) (list (+ (car c) (* l 18)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 18)) r)))) (list (+ (car c) (* l 19)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 19)) r)))) (list (+ (car c) (* l 20)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 20)) r)))) (list (+ (car c) (* l 21)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 21)) r)))) (list (+ (car c) (* l 22)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 22)) r)))) (list (+ (car c) (* l 23)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 23)) r)))) (list (+ (car c) (* l 24)) (+ (cadr c) (cadr (polar '(0 0) (dtr (* an 24)) r)))) b "" ) (command "PEDIT" "l" "j" c (list (- (car a) 1) (cadr a)) (list (+ (car b) 1) (cadr b)) "" "l" "on" "" ) (setvar "OSMODE" sosmd) (prin1) ) ; |