版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.0,1, 1,1,第3章AutoLISP绘图计程仪编程,主要内容是1.AutoLISP的特征2.AutoLISP函数的使用方法3.AutoLISP程序的结构4.AutoLISP程序的执行方法、2020/7/10、2,3.AutoLISP的二次开发是以AutoCAD软件为平台,添加自各儿所需的功能。 发展过程是普计程仪编制的过程。 二次开发通讯端口的语言以VB、c、大型二次开发、c为主,小型二次开发,一般以AutoLISP为主。2020/7/1.0,3,(需要在AutoCAD环境中执行的(内嵌) ) (3)AutoLISP可创建计程仪程序,并调用AutoCAD中的许多命令的:在水平方向上绘制
2、了n个相同大小的圆。 调用 AutoCAD命令绘制圆(defun cc : hy () (setpoint0(获得点第一个圆中心坐标:) (setq a 1 (获得实际半径:) (setq a 1 (获得实际圆中心距离: ) ) (长圆的个数为: ) (长圆的个数为0 r ) (长圆的个数为0 l )、2020/7/10, 4、(4)在AutoLISP语言中使用了很多函数(有200个以上的函数)进行各种各样的运算(5)AutoLISP作成的程序的特征(学习中的注意): 用表的形式记述数据处理过程,程序执行过程是函数评价过程各程序是函数人机交互的处理、2020/7/1.0、5,2.AutoLIS
3、P的数据类型,(1)整数(INT ) :由0、1、2.9、-构成。 (2)实数(REAL ) :例如,0.4(0不得少)、-1.23、0.526E9(0.526109 )。 (3)符号(SYM ) :除法(,),*, 其他字符串,并非全部都是数字。 符号中经常使用Command:(setq X 12 )等变量。整数Command:(setq X 12.0 )实数command 3360 (setq x“1.2”)字符串、2020/7/1.0、6、(4)字符串(str):ABC (5)表(LIST ) :附有括号对,由几个要素构成。 (元素体1元素体2元素体n )示例: (2 4 f )元素体的
4、个数称为表的长度。 元素也可以是像(45 (3 6) 7)那样的表。 这被称为嵌套。 元素之间必须用空格分隔。 表的定义方法: (list 56 ) (56 )也可以在defun中定义(后述)。 (setq P(list 12.36 -26.58 ) )结果: (12.36-26.58 )结果: (12.36-26.58 )在提供表格嵌套时应用括号“” (2)以西文状态输入! 啊! 啊!2020/7/1.0、8、(6)文件描述符(7)AutoLISP内部函数(8)AutoCAD的选择定径套(9)AutoCAD的实体名在上述数据类型中,前4个名称原子包含数值原子(整数、实数)、符号原子、字符串原
5、子。 AutoLISP的基本数据类型是原子和表,着重于前五种数据类型。2020/7/1.0、9、9、2,若干基本概念1 .常数PI数学中的(3.1415929) T逻辑真成立。 NIL逻辑假,即不成立。 表示天空。 没有价值。 注意: (1)大小写相同(2)这些个不能作为变量。 2 .原子是普计程仪拉姆处理中最小的数据犹针织面料。 3 .式原子和表的总称。 例如: (setq P (12.36 -26.58 ) )、2020/7/10、1.0、4 .点以表的形式,也称为点表。为了得到点,(1)表示(120.35 253.24 ) (2)用list函数定义点(setqx 12.36 y-26.5
6、8 ) (setqm (listxry ) )的结果M=(12.36 -26.58) (setq M (X Y ) )的结果, 有三种方法(由getpoint函数得到的点的形式: (getpointn输入一点:),2020/7/1.0,1.1,3,AutoLISP柱计程仪结构1 .例(1); 在画面上显示ASCII查询密码(6590 )的文字(defun C:zm(/as )的自定义命令(setia s 65 n 100 ) (while (=as90 ) (命令文本(listn 100 ) 1.5 (chr as ) )、2020/7/10 (2)绘制正多边形的1.2 (defun c :
7、dbx () (setq n (getintn输入多边形边数:) (setq L (getrealn输入多边形边长:) (setq P1(getpointn输入多边形的第一个角) (轮询1.01p2)、2020/7/10、1.3、示例(3); 画圆函数(setq r (getrealn半径: ) )、2020/7/10、1.4、例子(4) (setq p1(get point 13360 ) 输入两点(setq d (distance p1 p2) ); 求出距离(角度p1p2); (打印d ) (绘制直线)、2020/7/10、1.5、2 .结构(1)在注释行开始或结束时,可以提高计程仪的可
8、读性。 不用了。 (2)除字符串外,大小写相等。 (3)广告老虎钳表和表之间可以没有空格。 例如,在(distance(3 4)(56 32 ) )或(distance (3 4) (56 32) (4)函数名称之后必须至少有一个空格,并且在函数名称和表之间可以有空格。 2020/7/10、1.6、3 .特征(1)都以表格形式表现。 (2)所有的成分都是作为函数给出的。 (3)普计程仪程序执行过程是求函数值的过程。 四、AutoLISP计程仪程序的执行方式有行方式、源文件方式、编译文件方式三种方式。 1 .在AutoCAD的command :提示符下,输入表后换行。 command:(156.
9、3 ) command:(setq a10 ) (setqb (a5 ) )、2020/7/10、1.7、2 .以源文件格式使用平板电脑或记事板保存AutoLISP计程仪程序(后缀为. LSP )。 然后使用LOAD命令加载并调用。 例如,(1)是在“e:zm.lsp”中保存以下的程序”画面中显示ASCII查询密码(6590 )的文字(defun C:zm(/as )的自定义指令(setia s 65 n 100 ) (while (=as90 ) (Chile (=as90 ) ) 1.5,2020/7/1.0, 1.8 (2)用“load”加载后,在命令行中输入(load“e : zm.L
10、SP”) (3)在命令行中编译zm 3.文件的方式(重点掌握) (1)启动、界面和退出visual lisp (3) 创建Visual LISP LISP计程仪程序(4)在visual LISP上运行lisp计程仪程序的提示建议您在:visualLISP上创建并运行lisp程序计程仪程序。 举例来说,2020/7/1.0,1.9,3.2基本函数集合,算术运算函数1 .加法形式: (num1num2num3,命令: (2.5 )为7命令3360 (2.030.04.050.0 )为86.0命令、2020/7/10、2.0、2 .减法格式: (- num1 num2 num3. )“减法”函数(-
11、)是从第一个数字到下一个数字的和num1-(num2 num3) . 例如,命令3360 (-2.8 1.4 )是14命令3360 (-2.571.1 ),7命令3360 (-5.0 2.0 10.0 )是20.0命令: (-20.0 30.0 )是- 10.0,2020/7/1.0, 返回2.13.乘法格式: (/num1 num2 num3,)4.除法格式: (/num1 num2 num3, )除法函数将第一个数除以所有其他运算数的乘积,得到num1/(num2*num3, )。 例如, (* 2 5 3 2.0 )返回:60.0 (* 2 5 3)返回关3.0字(/3 )。 返回1.5
12、,2020/7/1.0,2.2,5 .增量格式。 (1 number )注意: 1和“”之间不能空白。 此外,与1 number之间必须为空白。6 .减重形式: (1- number )注意: 1和“-”之间不能留空。 -和number之间需要空间。 例如求出:1 (setqb (1- 12.5 ) ) (setqc (1-16.4 ) )、2020/7/10、2.3,例如:1.a、b、c这三个个数的平方和。 2 .根据前后的看法,求两点之间的台阶。 3 .求封闭水平线路的台阶封闭差。 2020/7/10, 2.4回答13360 (获得实际输入第一个数a : ) (获得实际输入第二个数b 33
13、60 ) (获得实际输入第三个数c 3360 ) (获得实际输入第二个数b 3360 ) ) 作为参考,参考答案23360 (setq a (获得实际输入后视差读取值a : ) ) (setqb (获得实际输入前视差读取值b:) (setq h (- a b ) ),和2020/7/10, 2.5参考回答3: (setq n (getint输入段差个数: ) ) (重复(getrealn顺序输入段差:) (setq fh( fh h ) )、2020/7/1.0、2.6, 2、标准函数1 .绝对值(abs )、平方根(sqrt )、签名(sin )、馀弦(cos )、反正切(atan )以上的
14、函数格式3360 (函数名称)2.函数(expt )、(exp )格式3360 (应该是expt基础)格式3360 作为3 .例子,2020/7/10,2.7,例如:在AutoLISP中表示下式:将(1)计算三角标高的式(2)计算坐标增量的式(3)度变换为弧度单位,2020/7/1.0, 2.8参考答案3360 (1) (获得实际输入i: ) (获得实际输入i: ) (获得实际输入i: ) (获得实际输入i: ) ) 输入v 3360,输入v 3360,输入v 3360,输入v 3360,输入v 3360,输入v 3360,输入v 3360,输入v 3360,输入v 3360,输入v 3360
15、 af的怎么破是以度数(setq af (/180 (* pi af ) ) )分秒为弧度的吗? 另外,2020/7/1.0、3.0、3、代入函数、代入函数有两个:setq和set 1.setq格式: (setq变量1式1变量2式2 )对变量赋予的值可以是任意的式(数值、字符串、字母)。 注意:请勿使用AutoLISP函数名称和常量作为变量。 (1) (setqa关3.2字b 33.26 cyes ) (2) (setqa (sin (/pi4) ) (3) (setqx 34.3 y5. 23 p (列表) ) (4) (setq pt (获得点输入一点: ) )、2020/7/1.0、3.1 例如,(set a 9)结果a是9的函数是非常有用的,并且可以通过与其它函数结合使用来获得一维阵列。 例如: (1) (set(read(getstringn输入变量名:)(getpointn输入点坐标:) (2) (set(read(getstringn输入变量名:)(getrealn输入变量值: ) )、2020/7/1.0 4、字符串处理函数1.strcat格式: (strcat字符串1字符串2)“字符串1”、“字符串2”等连接到新字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年阜阳市界首市高新技术产业投资有限公司招聘考试真题
- 2025年自贡市大安区选调教体系统事业单位人员真题
- 2025年济宁中小学教师招聘考试真题
- 2025年张家界市慈利县经济投资集团有限公司招聘考试真题
- 国能河北衡丰发电储灰厂改造项目水土保持方案报告表
- 主题词 07 立德树人-备战2022年中考语文之“真题+模拟”主题作文专项训练(原卷版)
- 第一天-人际+面试语言素材积累(26三支)
- 市政排水管网专项施工方案
- 焦虑症心理治疗知情同意书
- 机关干部业务不精问题整改措施
- 《DL-T 1482-2023架空输电线路无人机巡检作业技术导则》2025实施指南(完整版)
- 北京中考英语听力高频词汇
- 工业企业无组织排放排查整治技术指南
- 《出口管制法》(中英对照)
- 2026年科技局事业单位招聘考试试题及答案
- 中国宗法制度论
- 2026年协作机器人在生产线的优势与挑战
- 血透室消毒隔离制度
- DBJ33-T 1358-2025 建筑与市政工程有限空间作业安全技术规程
- 2025贵州贵阳修文县招聘县管国有企业领导人员3人笔试参考题库附带答案详解
- 羊屠宰安全生产制度
评论
0/150
提交评论