lisp 里 defun 函数 为什么这样写运行总是提示参数太少

(defunC:pqx(/pjelsabcrttlyla0a1a2aa0aa1aa2p1p2p3p4p5)(setqpj(getangle"\n请输入路线偏角角度:"))... (defun C:pqx (/pj e ls a b c r tt ly l a0 a1 a2 aa0 aa1 aa2 p1 p2 p3 p4 p5)
(setq pj (getangle "\n 请输入路线偏角角度:")) ;输入角度getangle返回弧度
(setq e (getreal "\n 请输入控制外距E:"))
(setq ls (getreal"\n 请输入拟定缓和曲线长Ls:"))
(setq a (- (/ 1 (cos (/ pj 2))) 1))
(setq b (- 0 e))
(setq c (* (/ 1 (cos (/ pj 2))) (/ (* ls ls) 24)))
(setq r (/ (- (sqrt (- (* b b) (* 4 a c))) b) (* 2 a))) ;
(setq tt (+ (* (+ r (/ (* ls ls) (* 24 r))) (/ (sin (/ pj 2)) (cos (/ pj 2)))) (/ ls 2)))
(setq e (- (/ (+ r (/ (* ls ls) (* 24 r))) (cos (/ pj 2))) r))
(setq ly (- (* pj r) ls))
(setq l (+ ly (* 2 ls)))
(setq a0 (* (/ l r) (/ 180 pi)))
(setq a1 (- 90 (/ a0 2)))
(setq a2 (+ 90 (/ a0 2)))
(setq aa0 (* (/ ly r) (/ 180 pi)))
(setq aa1 (- 90 (/ aa0 2)))
(setq aa2 (+ 90 (/ aa0 2)))
(setq p1 (list (* r (cos (/ (* a1 pi) 180))) (* r (sin (/ (* a1 pi) 180)))
)
)
(setq p2 (list (* r (cos (/ (* a2 pi) 180))) (* r (sin (/ (* a2 pi) 180)))
)
)
(setq p3 (list (- (car p1) (* tt (cos (/ pi 2)))) (+ (cadr p1) (* tt (sin (/ pi 2))))
)
)
(setq p4 (list (* r (cos (/ (* aa1 pi) 180))) (* r (sin (/ (* aa1 pi) 180)))
)
)
(setq p5 (list (* r (cos (/ (* aa2 pi) 180))) (* r (sin (/ (* aa2 pi) 180)))
)
)
;绘制平曲线
(command "line" p1 p4 p3 p5 p2 "")
(command "arc" p4 "en" p5 "r" r "")
(command "zoom" "e" "")
(command "regen" "")
;在平曲线上注写参数
(command "text" "j" "tl" (list (car p5) (- (cadr p5) 3)) "2" ""
(strcat "路线偏角pj=" (rtos pj)) ""
)
(command "text" "j" "tl" (list (car p5) (- (cadr p5) 6)) "2" ""
(strcat "圆曲线半径R=" (rtos r)) ""
)
(command "text" "j" "tl" (list (car p5) (- (cadr p5) 9)) "2" ""
(strcat "缓和曲线长LS=" (rtos ls)) ""
)
(command "text" "j" "tl" (list (car p5) (- (cadr p5) 12)) "2" ""
(strcat "切线长T=" (rtos tt)) ""
)
(command "text" "j" "tl" (list (car p5) (- (cadr p5) 15)) "2" ""
(strcat "圆曲线长ly=" (rtos ly)) ""
)
(command "text" "j" "tl" (list (car p5) (- (cadr p5) 18)) "2" ""
(strcat "平曲线长l=" (rtos l)) ""
)
;在命令行打印参数
(princ (strcat "\n 路线偏角pj=" (rtos pj)))
(princ (strcat "\n 圆曲线半径R=" (rtos r)))
(princ (strcat "\n 缓和曲线长ls=" (rtos ls)))
(princ (strcat "\n 切线长T=" (rtos tt)))
(princ (strcat "\n 圆曲线长ly=" (rtos ly)))
(princ (strcat "\n 平曲线总长L=" (rtos l)))
展开
 我来答
dh_peng_jpec
2009-11-02 · 超过15用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:36.6万
展开全部
第一行 (defun C:pqx (/pj e ls a b c r tt ly l a0 a1 a2 aa0 aa1 aa2 p1 p2 p3 p4 p5)中"(/pj" 改为" (/ pj " 就可以了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式