版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Cad二次开发- AUTOLISP入门,第1步,LISP编程语言概述,Autodesk corporation牙齿开发的LISP编程语言(LISP是List Processor的缩写)。关于LISP的第一份参考文献是John McCarthy于1960年在四月ACM通信上发表的。除了FORTRAN和COBOL之外,60年代初开发的大部分语言都过时了,但LISP出生后成为人工智能(AI)首选节目的序言。AutoLISP解释器位于AutoCAD软件包中,但AutoCAD R2.17版和早期版本不包含AutoLISP解释器,因此只能通过AutoCAD R2.17或更高版本使用AutoLISP语言。A
2、utoCAD软件包包含用于生成图形的大多数命令,但在某些命令的末尾提供。例如,AutoCAD在图形文字对象中没有矩形绘制和全局更改命令。通过AutoLISP,用户可以使用AutoLISP编程语言编写程序,以便在图形文本对象中有选择地更改矩形或全局更改。事实上,您可以使用AutoLISP建立所有程式或将其包括在功能表中,因此自订系统可以提高效率。第二,基本语法,1,表达式必须使用成对的括号。2、数学运算1。加法格式(num1 num2 num3.)牙齿函数()是加号()右侧所有数字的总和(num1 num2 num3).)2 .减法格式(-num1 num2 num3.如果有多个数字,则第一个数
3、字为所有后续数字的乘积num1/(num2 num3.),3,关系表达式1。格式(=atom1 atom2)。函数(=)确保两个元素相同。等于,如果条件为真,则函数返回。同样,如果指定的元素值不相等,则条件为false时返回函数nil 2。不等于格式(=atom1 atom2)。函数(=)确保两个元素不相同。如果条件不相等,则函数返回。同样,指定的元素,如果条件为false,则函数返回nil。3.小于“格式”(atom1 atom2)的牙齿函数()检查第一个元素(atom)是否小于第一个元素(atom)。如果为真,则函数返回,否则返回nil。4.小于或等于格式(=atom1 atom2.)牙齿
4、函数(=)检查第一个元素(atom1)是否小于或等于第二个元素(atom2),如果不等于,则返回函数,否则返回nil。5 .大于格式(atom1 atom2)的牙齿函数()确保第一个元素(atom1)大于第二个元素(atom2)。如果为,则函数返回,否则返回nil。6.大于或等于格式(=atom1 atom2)牙齿函数(=)会检查第一个元素(atom1)的值是否大于或等于第二个元素(atom2)。如果为,则函数返回,否则返回nil。3,默认函数,1.defun函数defun函数AutoLISP程序使用“用于定义函数:”(defun nameargument)格式。其中name函数名称argum
5、ent参数列表示例:(defun ADNUM(),表示程序中使用的所有变量都是全局变量。全局变量值在程序结束时不会丢失。(定义包含defun ADNUM (b c)、3个参数和c的函数ADNUM。从变量,节目外部获取值。(defun ADNUM(/)、两个局部变量和,定义函数ADNUM。局部变量在节目执行过程中保留其值,并且只能在具有该变量的程序中使用。您可以透过以下方式执行函数作业:(defun :ADNUM(),在函数名称前附加:然后在AutoCAD的Command:提示后输入函数名称。未使用:函数名称必须括在括号中。AutoLISP包含几个内置函数。不要将这些名称中的任何一个用作函数名或
6、变量名。以下是某些AutoLISP内建函数的保留名称清单。2.setq用于以函数setq函数(setq Name valueName value)格式为变量赋值。其中,name变量名value可以将赋予变量的值指定给变量指定的值指定为任意表达式(数字表达式、字符串表达式或同时包含字母和数字的表达式)。如果牙齿值是字符串,则长度不能超过100个字符。Command:(setq 12)Command:(setq 8.5 12),3,用于在命令函数命令函数AutoLISP节目中运行标准AutoCAD命令。AutoCAD命令名和命令选项必须用双引号括起来。Command函数格式为(Command Co
7、mmandname )。其中CommandAutoLISP函数CommandnameAutoCAD命令示例:(command line Pt1 Pt2 )4 . getpoint函数get point函数暂停节目运行对应于“回车符”键。您可以输入点的、座标或、座标。可以使用键盘或屏幕光标输入点的坐标。Getpoint函数格式为(getPointPointPrompt)。其中point是输入点或选择点prompt时屏幕上的提示示例:(setq pt1 (getpoint) (setq pt1)牙齿时,程序的输入是三点的坐标,所需的输出是三角形。用于生成牙齿三角形的过程是绘制从P1到P2、P2到P
8、3、P3到P1的直线。理解牙齿的三个部分将使编程过程更加明确。程序提示用户输入3点,1。提示输入点时,可以在屏幕上选择,也可以输入坐标2。程序将根据牙齿的三个点创建三角形3 4(defun:triang 1()5(set qp 1(get point“选择第一点:”)6 (setq 2(getPoint“选择第二点”)如果需要,可以使用注释。所有注释行都以分号(;)开始。加载程序时,将忽略这些行。第4行:分隔节目和注释部分的空行行为。空行也可以用于分隔程序中的其他模块。这样很容易区分程序的不同部分。空行不会影响程序。在第5行:(defun C: TRIANG1()行中,defun是定义函数TR
9、IANG1的AutoLISP函数。TRIANG1是函数函数名称。牙齿函数名称前面带有:因此牙齿文件可以像运行AutoCAD命令一样运行。否则,TRIANG1命令只能在括号内运行(TRIANG1)。牙齿函数有三个全局变量(P1、P2和P3)。建议您在首次编写AutoLISP程序时将变量保持为全局变量状态。加载并运行程序后,AutoCAD命令提示字元行中的感叹号(!),然后输入变量名称以查看变量值(Command:P1)。如果程序通过测试并且正常工作,则必须使其成为本地变量(defun :TRIANG1(P1 P2 P3)第6行:(set q P1(get point enter first po
10、int triangle:);提示信息显示在Enter first Point of triangle牙齿屏幕的提示区域。您可以键盘输入点的座标,或使用萤幕游标选取点。然后,setq函数将这些坐标赋给变量P1。回车。以下表达式打印在以下行上(“”表示“”)、行8:(set Q2(get point“enter second point of triangle:”)和(;的角色是回车,因此在下一行显示输入提示。第9行:(Commandline P1 P2 P3 )在牙齿行中,Command函数输入AutoCAD中的line命令,然后分别从P1到P2、P2到P3绘制直线。“”(表示“”选项)将最后
11、一个点3与第一个点P1连接。在AutoLISP程序中使用时,所有AutoCAD命令和选项都必须用双引号括起。变量P1,2 .3在空格分隔行10中仅包含一个右括号,表示函数TRIANG1定义完成。括号也可以写在前一行。把它单独放在一行是个好习惯。因为这样很容易确认任何程序员的定义都结束了。但是,某些程序需要明确区分同一节目中的多个定义和模块。括号和空行有助于明确定义或节目段的起点和终点。添加更多函数,SSGET格式:(ssget sel-method Pt1,pt2 Pt-list filter-list)格式解释:sel-method:字符串,指定对象选择方法PTT(sslength ss)格
12、式说明:ss,使用选择集名称Ssname:提取选择集中指定的图元的图元名格式:(ssname ssins选择集中的第一个元素。第一个是(ssname ss 0),依此类推。Repeat用法:计算循环中每个表达式的指定次数的格式:(repeat int expr.)格式说明:int3360整数,int3360整数创意:算法配置,算法1,使用CAD自身的命令创建选择集填充两个算法,使用图元组码生成填充第一名算法第一步,第一步:1,创建选择集2,使用单独的图元提取命令填充(defunc:tch。(repeat(s slength en);以打印节。(开始循环(setq en _ n(ssname en n);)列印区段,或萃取图元名称n(1n);(柜台加1,准备提取下一个选定对象)(command-bhatch p solid s en _ n);发送CAD命令,执行操作);),高级:图元组码,1,组码概述:组码,即DXF代码是一种茄子形式,在CAD图形中标记数据。所有CAD图元都使用特定的组码表示。群组码的详细描述CAD开发人员帮助文档详细描述,2,一般图元群组码:0图元类型5处理码8图层名称6线型名称(如果线型不是依图层,则会出现牙齿群组码值)48线型比例(可选)60物件可见性,0=可见,1=TEXT文字群组)(0.text)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学运动人体科学(运动人体基础)试题及答案
- 2026年注册公用设备工程师(动力专业基础)试题及答案
- 2025年中职第一学年(新能源汽车技术)电池检测试题及答案
- 2025年中职中医护理(护理实操)试题及答案
- 2025年中职(电气设备运行与控制)电气设备调试试题及答案
- 2025年大学物理实验A(力学实验操作)试题及答案
- 2026年青海单招学前教育专业技能模拟题含答案音乐美术舞蹈三选一
- 2026年陕西单招财经类职业适应性测试题库含答案含经济常识
- 2025年秋人美版(北京)(新教材)小学美术三年级上册期末知识点复习卷及答案
- 2026年江西单招电工电子机电类高分突破卷含答案
- 学堂在线 雨课堂 学堂云 中国建筑史-元明清与民居 期末考试答案
- 2025年PC/ABS合金项目市场调查研究报告
- 安全文明施工方案完整版
- 2025年北京中化资本有限公司招聘笔试参考题库含答案解析
- 2024-2025学年北京朝阳区九年级初三(上)期末历史试卷(含答案)
- 伯克利-利特温(组织绩效与变革因果关系)组织诊断+模型案例、工具解析
- 玻璃绝缘子生产工艺
- 《儒林外史》整本书阅读教学设计案例
- 《邮储业务介绍》课件
- 医疗器械临床评价报告模板
- 污染场地调查评价与修复
评论
0/150
提交评论