lisp"^“是啥运算符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lisp"^“是啥运算符号相关的知识,希望对你有一定的参考价值。

在autolisp里面,没有这个运算函数,在autolisp里面,平方计算是函数【expt】,例:

    (expt 2 4) ;16;整数

    (expt 2.0 2.0);4.0实数平方

    (expt 4 0.5);2开方

参考技术A 平方?代码错了吧

lisp错误: 参数太多

(defun c:7test2a();以下 pa、ww、hh、n 值须由用户输入
(setq pa (getpoint "请求输入基准点: "))
(setq ww (getdist pa "\n请求输入楼梯宽度: "))
(setq hh (getdist pa "\n请求输入楼梯高度: "))
(setq n (getint "\n请求输入楼梯阶数: "));先画出 pa ? pb ? pc
(setq aa_2 0)
(initget"L r")
(setq aa_1 (getkword "请输入方向<L或R>?: "))
(if (null aa_1) (setq aa_1 "L"))
(if(= "R" aa_1)
(setq aa_2 pi))
(setq pb (polar pa aa_2 ww))
(setq pc (polar pb (/ pi 2) hh))
(command "line" pa pb pc "")
;请留意以下三行dw、dh、pp值须由程序依据ww、hh 与 n求出
(setq dw (/ ww n))
(setq dh (/ hh n))
(setq pp pa)
;以下准备进入repeat循环了
(repeat n
(setq p1 (polar pp (/ pi 2) dh))
(setq p2 (polar p1 aa_2 dw))
(command "line" pp p1 p2 "")
(setq pp p2)
)
(prin1)
)
(prompt “\n << 7TEST2>>快速自动楼梯绘制程序”)
(prin1)

1、将(initget"L r")改为→(initget"L R"),注意r的大小写;
2、将(prompt “\n << 7TEST2>>快速自动楼梯绘制程序”)改为→(prompt "\n << 7TEST2>>快速自动楼梯绘制程序"),注意双引号的中英文区别;
3、增加系统变量的保存与恢复。
整个程序如下:
(defun c:7test2a()
;储存系变量原始值
(setq cm (getvar "cmdecho")
os (getvar "osmode")
)
(setvar "cmdecho" 0) ;关闭命令行的回显

;以下 pa、ww、hh、n 值须由用户输入
(setq pa (getpoint "请求输入基准点: "))
(setq ww (getdist pa "\n请求输入楼梯宽度: "))
(setq hh (getdist pa "\n请求输入楼梯高度: "))
(setq n (getint "\n请求输入楼梯阶数: "))
;先画出 pa ? pb ? pc
(setq aa_2 0)
(initget"L R")
(setq aa_1 (getkword "请输入方向<L或R>?: "))
(if (null aa_1) (setq aa_1 "L"))
(if(= "R" aa_1)(setq aa_2 pi))
(setq pb (polar pa aa_2 ww))
(setq pc (polar pb (/ pi 2) hh))

(setvar "osmode" 0) ;关闭对象捕捉

(command "line" pa pb pc "")
;请留意以下三行dw、dh、pp值须由程序依据ww、hh 与 n求出
(setq dw (/ ww n))
(setq dh (/ hh n))
(setq pp pa)
;以下准备进入repeat循环了
(repeat n
(setq p1 (polar pp (/ pi 2) dh))
(setq p2 (polar p1 aa_2 dw))
(command "line" pp p1 p2 "")
(setq pp p2)
)
;恢复系变量原始值
(setvar "osmode" os)
(setvar "cmdecho" cm)

(prin1)
)
(prompt "\n << 7TEST2>>快速自动楼梯绘制程序")
(prin1)
参考技术A 貌似运行起来没什么错误吧~

以上是关于lisp"^“是啥运算符号的主要内容,如果未能解决你的问题,请参考以下文章

lisp"^“是啥运算符号

AUTO CAD Lisp代码总是出现 参数太多的问题

lisp错误: 参数太多

Lisp 简单问题

如何在lisp中以指定格式将数字打印为浮点数?

将“EngMath”(数学本体)从 lisp 转换为 OWL