版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、AutoCAD高级培训教程2开发AutoCAD应用程序,第3部分AutoLISP基本函数,1,3 AutoLISP基本函数,3.1分配的函数3.2数据类型转换函数3.3数学几何函数3.4关系逻辑函数3.5条件季度函数3.6循环函数3.7表处理函数3.8字符串处理函数3.9交互式数据输入函数3.10打印输出函数3.11命令13使用者函数和子节目3.14参数式程式设计例证、2和AutoLISP提供了许多函数,每个函数均可实现特定功能。调用AutoLISP函数、进行适当的组合和排列后,可以编写AutoLISP程序来完成用户的特定任务。AutoLISP语言是函数的语言,AutoLISP例程由函数语句组
2、成。牙齿部分介绍最常用的AutoLISP函数,以便读者可以更快地学习和理解AutoLISP编程。有关详细的全面函数说明,请参见AutoLISP帮助。3,3.1分配函数,格式:(setq) 5.2.4。4,3.2数据类型转换函数,(float x)整数返回实数,x返回整数,x返回实数。范例:(float 3)传回3.0。(itoa x)整数转换为字符串,x转换为整数,x转换为字符串。范例:(itoa 53)传回53。(fix x)返回实形为整数,x为实数或整数,x为整数。舍入是直接修剪x的小数部分,而不是舍入。例如:(fix 3.7)返回3。(RTOS number mode precision
3、)实数格式函数RTOS,它根据指定模式mode和精度precision将实数数number(也可以是整数)转换为字符串。括号“”中的参数可以不写。收购number可以是整数或实数常量、变量或表达式。5,mode参数是线性单位的格式编码,与AutoCAD中的线性格式相对应,如表5-4所示。如果未指定Mode值,则将使用LUNITS系统变量的值设置当前线性单位的格式。表5-4 RTOS函数的mode值对应于线性单位格式,参数6,precision指定数值的显示精度,对于表5-4中的前三种格式,指定小数点后的小数位数。对于最后两种格式,用于设置最小分数的分母。如果未指定Precision值,请使用L
4、UPREC系统变量设定当前精度的值。例如,在命令行上,输入命令: (setq x 17.5) 17.5命令:(setq fmt val(RTOS x1 4)1.7500 e01命令3360(setq fmt val(RTOS x2)17Angle参数可以是整数或实数常量、变量或表达式。Mode参数以角度格式编码,其系统变量为ANNITS。Mode的值为0十进制度数、1度/分/秒、2百分度、3弧度和4勘测单位的角度。Precision参数根据AUPREC系统变量指定转换的小数点后的小数位数。例如,在命令行上,输入命令: (angtos 0.785398 0 4) 45.0000命令:(ang t
5、os-0.78539804)315.0000命令3360 (ang tos-0.7853984)示例(atof string)字符串转换为实体,string为字符串。范例:(atof -1.25)会传回-1.25。9,3.3数学几何函数,(1)数学函数(x1 x2)加法运算得出x1 x2的和。(-x1 x2)减法运算可得出x1-x2-的差值。(* x1 x2)进行乘法运算,得出x1 * x2 *的乘积。(/x1 x2)除计算外,求出x1/x2/的商。(1 x)增量运算返回x 1。(1- x)减量操作返回x-1。(ABS x)求x绝对值的绝对值函数。(sqrt x)求x的平方根的平方根函数。(e
6、xpt XP)求XP值的任意平方函数。取得,10,(exp p)e的任意平方函数,EP的值。(log x)获取ln(x)值的自然日志函数。(sin x)使用正弦函数获取sin(x)的值。其中x是弧度。(cos x)馀弦函数获得cos(x)的值。其中x是弧度。(atan x y)得出atan(x)或atan(x/y)值的反正切函数。其中x,y是弧度。(rem x y)求x/y馀数。其中x,y是整数或实数。(max x1 x2)获取最大函数,x1,x2,的最大值。(min x1 x2)取得最小值函数x1,x2,中的最小值。返回,11,(2)几何函数,(angle pt1 pt2)角度计算函数,点p
7、t1和点pt2两点连接与x轴正方向之间的角度(以弧度为单位)。从当前构造平面的x轴逆时针计算。如果Pt1和pt2是3d点,请先投影到目前建构平面,然后再计算投影线和x轴正方向之间的角度。例如,在命令行上输入命令:(angle(1 . 0 1 . 0)(1 . 0 4 . 0)1.5708命令3360(angle(1 . 0 1 . 0 2 . 0)(3 . 0 4 . 0 5 . 0)0.98270,例如在命令行上输入命令示例:命令:(Polar(50 40)0.785 50)(85.3694 75.3413),图5-5 Polar函数,13,(inters P1 p2 P3 P4 onseg
8、 Onseg如果省略Onseg参数或将onseg设置为t(真),则如果两条线段没有延伸,则可以为图5-6的(a)情况找到交点,但为(b)情况找不到交点。示例:(setq a(1 . 0 1 . 0)b(9 . 0 9 . 0)c(4 . 0 1 . 0)d(4 . 0 2 . 0)(inters a b c d);返回Nil (inters a b c d T)。返回inters a b c d Nil(inters a b c d Nil)。(4.0 4.0),14,图5-6 Inters函数的两个茄子为:、如果函数只有一个参数,则返回true。如果参数不存在,则会发生错误。其中,参数类型为
9、整数、实数或字符串。例如,(=10.5 10.5)返回t,(=String string)返回nil。确保(/=x1 x2)函数不相等,并且x1,x2参数的值不相等。按顺序比较两个相邻参数的值,如果两个相邻参数的值不相等,则返回t,否则返回nil。如果函数只有一个参数,则返回t。如果参数不存在,则会发生错误。例如:(/=Str str) t,返回(/=Str Str)nil,返回(/=str 1.0) t。16,3.4关系逻辑函数,(x1 x2)大于函数,判断x1 x2是否成立。如果每个参数值大于右侧的参数值,则返回t;否则返回nil。如果函数只有一个参数,则返回t。如果参数不存在,则会发生错
10、误。例如:(12 13)返回nil,(Abd ABC)返回t。(=x1 x2)大于或等于函数,用法大于函数。但是,将执行大于或等于判断。(x1 x2)检查小于函数的x1 x2是否为真。如果每个参数值小于右侧的参数值,则返回t;否则返回nil。如果函数只有一个参数,则返回t。如果参数不存在,则会发生错误。例如:(12 13)返回t,(ABC Abd)返回t。17,(=x1 x2)仅判断小于或等于函数,用法小于函数,但小于或等于函数。(equal expr1 expr2 fuzz)通过确定两个表达式的值是否相同,可以完成表比较。参数expr1和expr2是用于比较的表达式,参数fuzz是实数,定义
11、expr1和expr2之间的最大容差。如果两个表达式相同,或者两个表达式在收购fuzz范围内,如果认为两个表达式相同,则返回t,否则返回nil。如果未提供参数fuzz,则系统默认错误值为0。例如,在命令行上,命令:(setq exp 1(X Y Z)exp 2(X Y Z)(X Y Z)命令3360 (setq exp3 exp2) (X Y Z)命令3360 (equaa)如果一个收购的值为null,则函数停止计算并返回false (nil)。如果在没有提供参数的情况下调用函数,则还会返回真(t)。示例:(setq a 103 b nil c string);A=103b=0c=字符串(an
12、d 1.4a c);返回T (and 1.4 a b c)。返回nil,因为它是B=0(或expr1 expr2 expr3) or函数、表达式的逻辑OR运算、参数expr1、expr2和AutoLISP表达式。如果所有参数中有一个不是空牙齿,(t)函数将停止计算,并返回true (t)。仅当所有参数的值都为null时,才会返回false (nil)。如果在没有提供参数的情况下调用函数,则还将返回false (nil)。示例: (或nil 45();返回T (or nil()。Nil、19、(not item) not函数、表达式中“逻辑NOT”操作的单个目的运算符、参数item和AutoLI
13、SP表达式。如果Item参数的值为null (nil),则函数返回非null牙齿(t)。如果收购值不是null牙齿,则返回(t) null (nil)。如果在没有提供参数的情况下调用函数,则会显示错误。示例:(setq a 123 b字符串c nil);A=123 b=string c=0(非A);返回Nil (not b)。返回Nil (not c)。T(not();返回T (null item) NULL函数,然后测试参数表达式是否为空。NULL函数与NOT函数的功能基本相同,不同之处在于NULL函数通常用于表(也可用于其他数据类型),而NOT函数可用于所有数据类型。示例:(null();
14、返回T(x y z)。返回Nil、20,3.5条件分支函数。条件分支函数实现程序的流程控制,确定条件是否真,并根据条件选择不同的操作。AutoLISP提供了以下条件分支函数:(if testexpr thenexpr elseexpr)选择运行其他语句的条件函数,具体取决于条件是否为真。其中testexpr是条件表达式,如果条件为true (t),则执行第一个表达式thenexpr牙齿,如果条件为false (nil),则执行第二个表达式elseexpr牙齿。示例:(if (=2 (3 4)是!否);返回否。以下语句包含变量x,y中的较大值,但不包含表达式z(setq x 8.9y 9.0)(if(x y)(setq z x)(setq z y),21,(progn ex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GH/T 1472-2024鲜切果蔬包装通用技术要求
- (正式版)DB37∕T 3105-2018 《向日葵种子纯度蛋白电泳检测标准》
- 安防设备设施维保方案
- 产科护理循证实践
- 浙江省绍兴市越城区袍江中学2026届全国初三模拟考三全国I卷数学试题含解析
- 安全技术专项施工方案
- 2026年陕西省西安市西安交通大附属中学初三5月大联考(三)英语试题试卷含解析
- 山东省平邑县温水镇中学2026届初三2月第一次调研英语试题理试题含解析
- 安徽合肥市中学国科技大附属中学2025-2026学年中考一模试题含解析
- 广东省韶关市乐昌县市级名校2026年初三考前抢分(三)英语试题含解析
- 四年级下简便计算题100道
- 高效课堂国内外研究现状综述
- 监理员培训内部资料课件
- 2024年中职农林牧渔类《农业经营与管理》职教高考复习题库(浓缩600题)
- (高清版)DZT 0209-2020 矿产地质勘查规范 磷
- 【拆书阅读笔记】-《战略的本质》
- 华为公司的内部审计制度
- 幼儿园小班班本课程《嘿鸡蛋》
- 视频制作服务方案
- 《电力安全工作规程》-线路部分课件
- 有机蔬菜种植技术规程培训课件
评论
0/150
提交评论