cad螺纹lisp_AutoCADLISP基本知识及函数

1.lisp数据类型

INT 整型

REAL 实数型(最多有6位小数)

STR 字符串型

2.预定义符号

nil 尚无定义或者false

T 常量

PAUSE 暂停

PI 常量π

3.赋值函数

(setq x 1.5 y 20 p "center");给x、y、p赋值,返回值center。

4.查询变量的值和数据类型

command:!a

或者直接输入a;返回a的值

command:(type a)

或者直接输入(type a);返回a的数据类型

5.quote函数

(quote(10 20 ...))

(quote(10 20))或者'(10 20);表示禁止对表求值,返回(10 20)

定义二维点(setq p '(10 20))

6.定义函数

(defun 函数名(变元.../局部变量...) 表达式... )

7.调用函数

(函数名 变量)

8.调用CAD命令

(command "autocad命令" "所需数据" ...)

如绘制圆心(2,4),半径为5的圆

(command "circle" "2,4" 5)或者(command "circle" '(2 4) 5)

9.画矩形

(defun c:rect1(/ p1 p2 p3 p4)

(setq p1 (getpoint "\n输入矩形的一个角点"))

(setq p3 (getcorner p1 "\n输入矩形的另一个角点:"))

(setq p2 (list(car p3) (cadr p1)))

(setq p4 (list(car p1) (cadr p3)))

(command "pline" p1 p2 p3 p4 "c")

)

10.cond函数

多条件判断

(cond(测试表达式1 结果表达式1) (测试表达式2 结果表达式2) ...);从第一个子表起,测试每个子表的测试表达式直至有一个子表测试表达式成立,计算该子表的结果表达式并返回这个结果表达式的值。

(setq n(cond((&lt= i 1) 1);i&lt=1时,n=1

((&lt= i 2) 4);i&lt=2时,n=4

((&lt= i 3) 10);i&lt=3时,n=10

(t 100);i取其它值时,n=100

)

)

11.if函数

条件判断

(if (&gt a 1) (setq b 2));如果a&gt1,b=2。

(if (&gt a 1) (setq b 2) (setq b 3));如果a&gt1,b=2;否则b=3。

12.progn函数

按顺序执行多个表达式

(progn 表达式...)

(if(&gt a 1)

(progn (setq b 2)

(print(+ b a))

)

(progn (setq b 4)

(print b)

)

)

13.循环结构

(repeat 整数n 表达式...)

(setq a 1 b 100)

(repeat 10

(setq a(+ 1 a))

...

(setq b(+ 10 b))

)

;执行结果a=11,b=200返回200。

14.while函数

(while 测试式子 表达式...)

(setq i 1 a 10)

(while (&lt= i 10)

(setq a (+ a 10))

...

(setq i (+ 1 i))

)

;执行结果i=11,a=110,返回值11。

15.例子:百钱买百鸡(母鸡3钱一个,公鸡2钱一个,小鸡0.5钱一个,用100钱买100鸡有几种买法?)

分析:

母鸡 公鸡 小鸡

单价 3 2 0.5

个数 20 0 80 100

总价 60 0 40 100

分析母鸡最多20只

母鸡 公鸡 小鸡

单价 3 2 0.5

个数 0 34 66 100

总价 0 68 33 101

分析公鸡最多34只

程序如下

(defun chicken(/ hen cock chick cost);定义函数和母鸡、公鸡、小鸡、费用局部变量

(setq hen 1);给母鸡赋值1

(while (&lt hen 20);母鸡最多20只

(setq cock 1)

(while (&lt cock 34);公鸡最多34只

(setq chick (- 100 hen cock))

(setq cost (+ (* 3 hen) (* 2 cock) (* 0.5 chick)));三种

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值