一个画方框的问题
www.dimcax.com
一个画方框的问题
我想用lisp画一个方框。。
但是怎么也画不出来。。。请大家帮忙看一下:
;;定义启动命令
(prompt "\n 启动命令:mod")
(defun c:mod()
;;定义输入
(setq o (getpoint "\n点击任意点以确定起点:");设定起点
b (getdist "\n第一点:");提示用户输入数据
l (getdist "\n第二点:");提示用户输入数据
)
;;定义并计算各点
(setq p1 (polar o 0 (+(/ b 2) 10))
p2 (polar p1 90 l) :这里角度不知道怎么调才能成直角。。所以画出来老是扭着的四边型。
p3 (polar p2 0 (+(/ b 2) 10))
)
;;画点之间连线
(command "line" o p1 p2 p3 "c")
)
1.角度输入是弧度值,例90度为(/ 2 pi)
2.要先设置系统变量关闭对象捕捉
勤能补拙
( / 2 pi)是什么意思啊?
pi代表什么意思?我找了好多书都找不到.
还有就是..我把p2 (polar p1 90 l) 改成了p2 (polar p1 (/ 2 pi) l)
运行还是不对。。。
刚刚从网上找到了,pi是圆周率,那就是说pi=3.1415926……
用你说的那样(/ 2 pi)
最后得出来的图片
还不是长方型啊。。。
上面的问题我找到方法了。。(/ pi 2)这样就对了..
还有就是负角度的问题...怎么样变成负角度?
直接调用画矩形命令不就好咯!搞那么多直线
(prompt "rect1 command draws a rectangle")
(setq p1 (getpoint "enter first corner:"))
(setq p3 (getpoint "enter opposite corner:"))
(setq p2 (list (car p3) (cadr p1)))
(setq p4 (list (car p1) (cadr p3)))
(command "line" p1 p2 p3 p4 "c")
re:一個畫方框的問題
(defun c:mod ()
;;定义输入
(setq o (getpoint "\n点击任意点以确定起点:") ;设定起点
b (getdist o "\n第一点:") ;提示用户输入数据
l (getdist o "\n第二点:") ;提示用户输入数据
)
;;定义并计算各点
(setq p1 (polar o 0 (+ (/ b 2) 10))
p3 (polar o (/ pi 2) l)
; 这里角度不知道怎么调才能成直角。。所以画出来老是扭着的四边型。
p2 (polar p3 0 (+ (/ b 2) 10))
)
;;画点之间连线
(command "line" "none" o p1 p2 p3 "c")
)
0000000000000000000000000
(command "line" "none" o p1 p2 p3 "c")
这里“line”后面为什么要加一个“none”?
???????????????