电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

CAD二次开发教程(AUTOLISP)

26页
  • 卖家[上传人]:油条
  • 文档编号:34281387
  • 上传时间:2018-02-22
  • 文档格式:PPT
  • 文档大小:1,015KB
  • / 26 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、Cad二次开发-AUTOLISP 入门,一、LISP编程语言概述,AutoLISP是由Autodesk公司开发的一种LISP程序语言(LISP是List Processor的缩写)。第一篇关于LISP的参考文献是由John McCarthy 在1960年4月的ACM通讯中发表的。 除了FORTRAN和COBOL, 大多数在六十年代早期开发出来的语言都过时了,可是 LISP却生下来,并且已经成为人工智能(AI)的首选 程序序言。AutoLISP解释程序位于AutoCAD软件包中, 然而AutoCAD R2.17及更低版本中并不包含 AutoLISP解释程序,这样,只有通过AutoCAD 2.18及更高版本才可以使用AutoLISP语言。 AutoCAD软件包中包含大多数用于产生图形的命令,但仍有某些命令末被提供。例如,AutoCAD中没有在图形文本对象内绘制矩形及作全局改变的命令。通过AutoLISP,你可以使用AutoLISP程序语言编制能够在图形文本对象内绘制矩形或作全局选择性改变的程序。事实上,可以用AutoLISP编制任何程序,或把它嵌入到菜单中,这样定制你的系统会取得更高的效率

      2、。,二、基本语法,1、一个表达式必须使用配对的括号。2、数学运算1.加法 格式(+ num1 num2 num3.) 此函数()计算加号()右边所有数字的和(+ num1 num2 num3.) 2. 减法 格式(- num1 num2 num3.) 此函数()从第一个数中减去第二个数(num1-num2)4.除法 格式( / num1 num2 num3) 此函数()用第一个数除以第二个数。如果多于两个数,就用第一个数除以其后所有数的乘积num1/(num2 num3 .),3、关系表达式1.等于 格式(= atom1 atom2) 该函数(=)检查两个元素是否相等。若相等,条件为真,函数返回。同样,若指定的元素不相等,条件为假,函数返回nil2.不等于 格式(= atom1 atom2) 该函数(=)检查两个元素是否不相等。若不相等,条件为真,函数返回。同样,若指定的元素相等,条件为假,函数返回nil。 3.小于 格式(atom1 atom2) 该函数()检查第一个元素(atom)是否小于第个元素(atom)。若为真,函数返回,否则返回nil。 4.小于等于 格式(= atom1

      3、atom2.) 该函数(=)检查第一个元素(atom1)的值是否大于等于第二个元素(atom2)。若是,函数返回,否则返回nil。,三、基本函数,1.defun函数 defun函数用于在AutoLISP程序中定义函数,其格式为: (defun nameargument) 其中name函数名 argument参数列表 示例: (defun ADNUM(),定义了一个函数ADNUM,此函数无参数,也无局部变量( Local symbols)。这就意味着程序中用到所有变量均为全局变量。全局变量的值在程序结束时不会丢失。(defun ADNUM (b c),定义了一个含有三个参数、 和c的函数ADNUM。变量、 、 从程序外部获取它们的值。 (defun ADNUM(/ ),定义了一个含有两个局部变量和的函数ADNUM。局部变量在程序的执行期间保留其值,而且只能在它所在的程序中使用。,(defun :ADNUM(),在函数名前加上:后,此函数就可以通过在AutoCAD的Command:提示符后输入其函数名来执行。如果没有使用:,函数名则必须置于圆括号中。注意 AutoLISP包含一些内置函数,

      4、不要使用其中的任一名称作为函数名或变量名,以下是一些AutoLISP内置函数的保留名称列表。2.setq函数 setq函数用于给变量赋值,其格式如下: (setq name valueName value) 其中Name变量名 value赋予变量的值 赋予变量的值可以是任何表达式(数字表达式,字符串表达式或既含有字母又含有数字的表达式)。若该值为字符串,其长度不可超过100个字符。 Command:(setq 12) Command: (setq 8.5 12),3、Command函数 Command函数用于在AutoLISP程序内部执行标准的AutoCAD命令。AutoCAD命令名及命令选项必须置于双引号内。Command函数的格式为: (Command “Commandname”) 其中CommandAutoLISP函数 CommandnameAutoCAD命令 示例: (Command“line” Pt1 Pt2“”) “line” AutoCAD 命令 Pt1第一点 Pt2第二点 “”用于返回,相当于“回车”键,4.getpoint函数 getpoint函数暂停程序的运行,允许

      5、用户输入一个点的、坐标或、坐标。该点的坐标可以由键盘或使用屏幕光标输入。getpoint函数的格式为: (getPointPointPrompt) 其中point输入一个点,或选择一个点 prompt将显示在屏幕上的提示 示例: (setq Pt1(getpoint) (setq Pt1(getPoint“选择第一点”)有上面几个函数就可以开始编程了:例1 编写一个程序,该程序将提示用户选择三角形的三个顶点,并通过它们绘出如三角形。 本例中,程序的输入为三个点的坐标,期望的输出为一个三角形。用以生成该三角形的处理过程为:由P1到P2、由P2到P3、到P3到P1各画一条直线。弄清这三部分就会使编程过程更清晰。,;该程序提示输入三点, 1;提示选取点进可以是在屏幕上点取,也可以是输入坐标 2;程序将依此三点画出一个三角形 3 4(defun: :triang1 () 5 (setq P1(getPoint“ 选择第一点:”) 6 (setq 2(getPoint“ 选择第二点:” 7 (setq 3(getPoint“ 选择第三点:”) 8 (Command“line” P1 P2 P3“

      6、”) 9 ) 10说明 第13行 前三行为注释行,用于描述程序中的函数。这几行很重要因为有它们,编辑程序会变得简单一些。可以在任何必要的时候使用注释。所有的注释行都必须以分号(;)开头,当程序装入时这些行会被忽略。 第4行:行为空行,用于分隔程序与注释部分。空行还可以用来分隔程序的不同模块。这样便于区分程序的不同部分。空行对程序没有影响。,第5行:(defun C: triang1() 本行中,defun为一个AutoLISP函数,它定义了函数TRIANG1。TRIANG1为该函数的函数名。由于此函数名前带有:,因此该函数可以像AutoCAD命令一样被执行。若没有:, TRIANG1命令只能置于圆括号中执行(TRIANG1)。此函数带有三个全局变量( P1,P2,P3)。第一次编写AutoLISP程序时,保持变量为全局变量是个好习惯。这是因为装入并运行程序后,可以通过在AutoCAD命令提示行中输人感叹号(!)并在其后输入变量名来检查变量的值(Command:!P1)。一旦程序通过测试并运行正常,就应该使它们成为局部变量(defun :TRIANG1(P1 P2 P3)第6行:(set

      7、q P1(getpoint“ Enter first Point triangle:) 本行中,getpoint函数暂停程序的运行,允许用户输入三角形的第一个点。提示信息Enter first Point of triangle显示在屏幕的提示区内。可以通过键盘输入该点的坐标,也可以用屏幕光标选择该点。随后setq函数将这些坐标赋予变量P1。的作用是回车,其后的表达式将被打印在下一行上(“”代表“),第行和第8行:(setq 2(getpoint“ Enter second Point of triangle:”)及(setq 3(getpoint“ Enter third Point of triangle:”) 这两行提示用户输入三角形的第二个顶点和第三个顶点,随后把这些坐标赋予2和3。的作用是回车,因此输入提示显示在下一行中。 第9行:(Command“line” P1 P2 P3“”) 本行中,Command函数用来输入AutoCAD的line命令,然后从P1到P2,P2到P3各画一条直线。“”(表示“”选项)把最后一点3与第一点P1连接起来。所有的AutoCAD命令及选项在AutoLISP程序中使用时都必须置于双引号内。变量P1、2. 3之间用空格分隔。 第10行 本行仅包含一个用于表明函数TRIANG1定义完成的右括号。该括号也可以写在上一行中。把它单独放在一行是一个好习惯,因为这样做任何程序员都可以很容易的确定定义已结束。然而某些程序中,同一程序内的多个定义及模块需要明确区分开。括号及空行有助于明确定义或程序段的起始和结束。,

      《CAD二次开发教程(AUTOLISP)》由会员油条分享,可在线阅读,更多相关《CAD二次开发教程(AUTOLISP)》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.