




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实习九 二次开发技术,9.1 the method of AutoCAD exploitation,用脚本script文件(*.SCR)开发图形库; 用AutoLISP语言开发绘图新命令; 用objectARX(AutoCAD Runtime Extension)开发 用图形数据交换文件(*.DXF)与高级语言程序 交换图形数据信息,从外部开发应用程序。 用VBA(Visual Basic Application)开发,9.2 AutoLISP 2)“defun”格式定义: _$:(函数名) 需要参数时在函数名与参数间应加空格,9.4 Load and run the AutoLISP pro
2、gram,编程求1到100的整数相加之和。,9.4 Load and run the AutoLISP program,二、在AutoCAD环境中加载、运行 AutoLISP程 序 1、加载Auto LISP程序 选择“工具” Auto LISP “加载”命令,即执行APPLOAD命令,AutoCAD将弹出“加载/卸载应用程序”对话框,实现程序的加载或卸载;或在Command命令提示符下直接输入APPLOAD命令也可实现上述功能。如下图,9.4 Load and run the AutoLISP program,2、运行Auto LISP函数 加载Auto LISP程序后 以“defun c:
3、”格式定义的函数: Command命令提示符下键入函数名,按Enter键即可执行该函数; 以“defun ”格式定义函数: 则需在Command命令提示符下键入用括号括起来的函数名,(需要参数时在函数名与参数间应加空格),按Enter键后可执行该函数。,9.5 AutoLISP programme,Program file and frame of Auto LISP Auto LISP以ASC码文本格式保存 .LSP Auto LISP采用“前缀表示法”: (setq X(*(+A B)(+C D) X=(A+B)*(C+D) 在控制台窗口中或AutoCAD的命令窗口中输入一个表达式后按En
4、ter键,可显示出表达式的值。,7.5 AutoLISP programme,二、the data type of AutoLISP Auto LISP的数据类型通常有整数型(IN)、实数型(REAL)、字符串(STR)、符号(或变量)(SYM)、表(LIST)、文件描述符、AutoCAD选择集、AutoCAD图元名、VLA对象等,其中前4种称为原子。,9.6 AutoLISP function,一、 Commons AutoLISP function 1、赋值函数 assignment function (setq 符号2表达式2 .) 依次将各表达式的值赋给对应的符号,2、数值计算函数 c
5、ounting function,(+ number number .) 返回所有数值的总和 (- number number .) 从第一个数值中减去第二个和后面的数值,返回差值 (* number number .) 返回所有数值的乘积 (/ number number .) 用第一个数值除以后面其他数值的商,返回商值 (1+ number) 返回参数增 1 后的结果 (1- number) 返回参数减 1 后的结果 (abs number) 返回参数的绝对值 (atan num1 num2) 返回一个数的反正切值(以弧度为单位),3、求值函数 evaluation function,(a
6、ngle pt1 pt2) 返回由两个端点定义的直线的角度(以弧度为单位) (distance pt1 pt2) 返回两点间的三维距离 (polar pt ang dist)返回相对于一点指定距离和角度的 点的坐标,4、交互式输入函数interactive input function,(getangle pt msg) 暂停以等待用户输入一个角度,并返回该角度(以弧度 为单位) (get dist pt msg) 暂停以等待用户输入一个距离 (getpoint pt msg) 暂停以等待用户输入一个点,并返回该点,5、关系运算函数 nexus operation function,(= nu
7、mstr numstr .)如果所有参数的数值相等则返回 T;否则返回 nil (/= numstr numstr .)如果各参数的数值不相等则返回 T;否则返回 nil ( numstr numstr .)如果每个参数的数值都大于它右边的参数则返回 T,否 则返回 nil (= numstr numstr .)如果每个参数的数值都大于或等于它右边的参数则返回 T,否则返回 nil,6、command function,(command ) 调用AutoCAD命令, 为 AutoCAD命令所需的 全部数据 (command line100,12023,116 ) 等效于按一次空格 (comma
8、nd “line“ (100,120)(23,116) ”) 画圆 (command “circle” “100,80”30) 可执行多条命令 (command “line” “100,50”20,35” “” “circle” “100,80”30),7、转换函数 transform function,(fix number) 截去实数的小数部分,将它转换成整数后返回该整数 (float number) 将一个数转换成实数后返回该实数,8、条件运算函数 condition function,(cond (test result .) .) 用作 AutoLISP 的主条件函数 (if tes
9、texpr thenexpr elseexpr) 根据条件计算表达式,9、表处理函数 list disposal function,(car lst) 返回表的第一个元素 (cdr lst)返回指定的表,表的第一个元素除外 (last lst)返回表的最后一个元素 (cons new-first-element lst)基本的表构造函数 (list expr .)将任意数目的表达式合成一个表 (nth n lst)返回表的第 n 个元素 (reverse lst)颠倒表中元素的顺序,然后返回修改后的表,10、存取AUTOCAD系统变量值函数,设置系统变量值函数 格式:(setvar ) 把值v
10、alue赋值给系统变量varname 获取系统变量值函数 格式:(getvar ) 返回系统变量varname的值,11、显示控制、输入/输出函数 display control and input/output function,(prin1 expr file-desc)在命令行打印表达式或将该表达式写入打开的文件中 (princ expr file-desc)在命令行打印表达式或将该表达式写入打开的文件中 (print expr file-desc)在命令行打印表达式或将该表达式写入打开的文件中 (graphscr) 显示 AutoCAD 图形屏幕 (textscr) 从图形屏幕切换至文
11、本屏幕(类似于 AutoCAD Flip Screen 功能键),12、defun function,用来定义用户的函数 (defun .) Visual Lisp IDE中运行: _$ () AutoCAD中运行: 命令: () 所定义的函数成为AutoCAD的命令,则函数的定义如下: (defun c:.) Visual Basic IDE中运行: _$ (c: ) AutoCAD中运行: 命令: ,二、the application example of AutoLISP function,1、赋值与求值函数 (1) 赋值函数 SETQ 使用格式为:(setq ) 该函数的功能为依次将各
12、表达式的值赋给对应的符号;给多个符号赋值,函数返回所赋的最后一个值。例如: _$ (setq a 5.0) _$ (setq a 45 c 56 d 78) _$ (setq a 2 a string) 5.0 78 string,(2) 禁止求值函数 QUOTE,使用格式为:(quote ) 或 () 该函数的功能为阻止求值器对其参数的求值;函数返回本身。例如: _$ (quote (+ 5 6) (+ 5 6),2、数值函数 numerical value function,(1) 算术运算函数 1)(+ .) 该函数返回多个相加的总和。例如: _$ (+ 20 5 13) 38 2)(-
13、 . ) 该函数返回多个- -.的结果。例如: _$ (- 20 5 13) 2 3)(1+ ) 和(1- ) 函数返回加1和减1的结果。例如: _$ (setq a -12.5) _$ (1+ a) _$ (1- a) _$ (1- 5) -12.5 -11.5 -13.5 4,Example:试编程求1到100的整数相加之和。,Run result : _$ (sum) 5050,Example: Counting the length of hypotenuse,Run result: _$ (hypot 3 4) 5.0,1)(sin ) 该函数返回 的正旋值。 是以弧度表示的角度。
14、_$ (sin -2.0) -0.909297 2)(cos ) 函数返回的余旋值。 是以弧度表示的角度。 _$ (cos 1.0) 0.540302 变量,(2)三角函数trigonometric function,3)(atan ) 该函数返回 的反正切值(单位为弧度)。 _$ (atan 1.0) 0.785398 4)( atan ) 函数返回/ 的反正切值(单位为弧度)。例如: _$ (atan 2.0 2.0) 0.785398,(3) 数的类型转换函数,1)(float ) 该函数返回 转换成实型数的结果。 为整型或实型数。例如: _$ (float 2) 2.0 2)(fix ) 该函数返回 转换成整型数的结果。 为整型或实型数。例如: _$ (fix 2.2564) 2,(4)Define function with DEFUN,在AutoLISP语言中,函数的定义可以有名或无名,而定义有名函数是主要 的。(defun sym (arguments / variables.) expr.) 参数 sym 函数名。 Arguments 函数需要的形式参数名。 / variables 函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年色散补偿器项目可行性研究报告
- 2025-2030中国织物过滤器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国管道挤出线行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国第三轨集电靴行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国社区连锁行业发展分析及发展趋势预测与投资风险研究报告
- 2025-2030中国硝唑尼特行业市场发展趋势与前景展望战略研究报告
- 2025年聚乙烯绝缘同轴射频电缆项目可行性研究报告
- 2025年安全管理员安全培训考试试题带解析答案
- 2024-2025新员工入职安全培训考试试题附答案【能力提升】
- 25年公司员工安全培训考试试题及参考答案【突破训练】
- 2024年红十字应急救护知识竞赛考试题库500题(含答案)
- TD/T 1061-2021 自然资源价格评估通则(正式版)
- 2024年江苏省泰州市姜堰区中考二模化学试题(无答案)
- 2024年四川省成都市高新区中考数学二诊试卷
- 2024年社区工作者考试必考1000题附完整答案【典优】
- WMT8-2022二手乘用车出口质量要求
- 30题质量检验员岗位常见面试问题含HR问题考察点及参考回答
- 痛经(中医妇科学)
- 智能灯具故障排除方案
- 汽车租赁服务投标方案
- 20道瑞幸咖啡营运经理岗位常见面试问题含HR常问问题考察点及参考回答
评论
0/150
提交评论