Visual LISP集成开发环境简介

   2017-01-02 互联网10350

(setq os (getvar ”OSMODE”))   ;

(setvar ”OSMODE” 0)            ;

(setq origin (getpoint ”n图案的中心:”))

(setq radius (getdist ”n图案的半径:” origin))

(setq i-radius (getdist ”n内部圆的半径:” origin))

(if (> i-radius radius) (setq i-radius (/ radius 4)))

(setq half-r (/ radius 2))

(setq origin-x (car origin))

(setq origin-y (cadr origin))

(command ”CIRCLE” origin radius)

(command ”ARC”

“C”

(list origin-x (+ origin-y half-r))

(list origin-x (+ origin-y radius))

origin

)

(command ”ARC”

“C”

(list origin-x (- origin-y half-r))

(list origin-x (- origin-y radius))

origin

)

(command ”CIRCLE”

(list origin-x (+ origin-y half-r))

i-radius

)

(command ”CIRCLE”

(list origin-x (- origin-y half-r))

i-radius

)

(setvar ”OSMODE” os)

(princ)                  ;

)

2. 绘制正弦函数曲线:Y=ASin(X)

;给定坐标原点、周期数和振幅,绘制正弦曲线,自变量以“弧度”为单位

(defun c:drawsin () ;

(initget 1) ;见辅导材料P47

(setq lp  (getpoint ”n 坐标原点:”) ;

lpx (car lp)

lpy (cadr lp)

)

(initget 7) ;

(setq n (getint ”n 周期数:”)) ;

(setq a (getint ”n 振幅:”))

(setq x    0

step 0.02

)

(command ”pline”) ;

(while (<= x (* 2 n pi)) ;

(command (list (+ lpx x) ;

(+ lpy (* a (sin x)))

)

)

(setq x (+ x step))

)

(command ”")                     ;结束正弦曲线绘制

(command ”line” lp (list (+ lpx (* 2 n pi)) lpy) ”")

;画水平轴

(command ”line”

(list lpx (+ lpy (* 2 a)))

(list lpx (- lpy (* 2 a)))

“”

)                         ;画垂直轴

(command ”zoom” ”e” ”")           ;图形极大化

(command)                        ;中断执行任何命令

)

3.绘制极坐标方程R=1+2cos2a在区间[0,2p]的图像

;绘制极坐标方程曲线

(defun c:draw (/ cp)

(setq cp (getpoint ”n基点:”))

(command ”ucs” ”w” ”ucs” ”o” cp ”pline”)

(drawl 0)                ;函数调用

 
举报收藏 0打赏 0评论 0
点击排行