导读 LisPlink是一种技术,它可以帮助企业和个人轻松地创建、管理和自动化复杂的分布式应用程序。LisPlink使用一种叫做链接的概念,将多个云端服务或者数据存储连接在一起,从而实现共享数据、合作实时通信、自动化工作
LisPlink是一种技术,它可以帮助企业和个人轻松地创建、管理和自动化复杂的分布式应用程序。LisPlink使用一种叫做链接的概念,将多个云端服务或者数据存储连接在一起,从而实现共享数据、合作实时通信、自动化工作流以及其他复杂的工作流。LisPlink也可以用于监控大量数据并根据特定标准进行分类,这样就能够快速识别出特征性信号并对其进行相应的响应。autolisp是一款由autodesk开发的一种叫做LISP的程序语言,全称是List Processor,通过这款软件工程师们能够节省很多的时间在CAD工具的制作上,这样工程师们就有足够多和好的工具来帮助自己进行工程的设计。
LisPlink数学运算
任何编程语言都提供数学函数。在AutoLISP中,同样提供了编程以及数学计算所需的大部分数学函数,你可以使用AutoLISP对数字进行加、减、乘、除运算,还可以得到以弧度表示的角度的正弦值、余弦值及反正切值等。使用AutoLISP还可以进行许多其他计算。这一节主要讨论AutoLISP程序语言支持的常用数学函数。加法
格式(+ num1 num2 num3...)
此函数(+)计算加号(+)右边所有数字的和(+ num1 num2 num3...)。这些数字可以是整数或实数。如果均为整数,则和为整数;如果均为实数,则和为实数。但是如果既有整数又有实数,则和为实数。如下所示,在前两个例子中,所有数字均为整数,所以结果是整数。在第三个例子中,一个是实数(50.0),故结果为实数。
示例:
Command:(+2 5)返回 7
Command:(+2 30 4 50)返回86
Command:(+2 30 4 50.0)返回 86.0
减法
格式(- num1 num2 num3...)
此函数(-)从第一个数中减去第二个数(num1-num2)。如果多于两个数,就用第一个数字减去其后所有数字的和[num1-(num2+num3...)]。在下面的第一个例子中,28减去14后返回14。因为两个数均为整数,结果亦为整数。在第三个例子中20与10.0相加,并用50减去两数的和(30.0),返回一个实数20.0。
示例:
Command:(- 28 14) 返回14
Command:(- 25 7 11)返回7
Command:(- 50 20 10.0)返回20.0
Command:(- 20 30)返回-10
Command:(- 20.0 30.0)返回-10.0
乘法
格式(* num1 num2 num3)
此函数(*)计算乘号右边所有数字的乘积( num1×num2×num3...)。若均为整数,它们的乘积亦为整数;若其中含有一个实数,乘积即为实数。
示例:
Command:(* 2 5) 返回10
Command:(* 2 5 3) 返回30
Command:(* 25 3 2.0) 返回150.0
Command: (* 2 -5.5) 返回-11.0
Command: (* 2.0 -5.5 -2) 返回22.0
除法
格式( / num1 num2 num3)
此函数(/)用第一个数除以第二个数。如果多于两个数,就用第一个数除以其后所有数的乘积[num1/(num2 × num3 ×...)]。在下面的第四个例子中,用200除以5.0与4的乘积[200/(5.0×4)]。
示例:
Command:(/ 30)返回 30
Command:(/ 3 2)返回1
Command:(/3.0 2) 返回 1.5
Command:(/ 200.0 5.0 4)返回 10.0
Command:(/ 200 -5)返回-40
Command:(/ -200 -5.0)返回40.0
autolisp表达式
在程序中,通常都需要测试某些特定的条件。若条件为真,程序执行某些功能,若不为真,执行另外一些功能。例如,条件表达式(if(< X 5)),若变量x的值小于5,测试结果为真。编程过程中经常要用到这种类型的测试条件。本节讨论在AutoLISP编程中要用到的各种关系表达式。等于
格式(= atom1 atom2)
该函数(=)检查两个元素是否相等。若相等,条件为真,函数返回T。同样,若指定的元素不相等,条件为假,函数返回nil。
示例:
(= 5 5)返回T
(= 5 49)返回nil
(= 5.5 5.5 5.5)返回T
(= "yes"yes)返回T
(=yes" "yes" no)返回nil
不等于
格式(/= atom1 atom2)
该函数(/=)检查两个元素是否不相等。若不相等,条件为真,函数返回T。同样,若指定的元素相等,条件为假,函数返回nil。
示例:
(/=50 4)返回T
(/= 50 50)返回nil
(/= 50 -50)返回T
(/= yes no)返回T
小于
格式(该函数(<)检查第一个元素(atoml)是否小于第H个元素(atomZ)。若为真,函数返回T,否则返回nil。
示例:
(< 3 5)返回T
(< 5 3 4)返回nil
(< x y)返回T
小于等于
格式(<= atom1 atom2...)
该函数(<=)检查第一个元素(atom1)是否小于等于第二个元素(atom2),若是,函数返回T,否则返回nil。
示例:
(<= 10 15)返回T
(<=cb)返回nil
(<= 2.0 0)返回T
大于
格式(> atom1 atom2)
该函数(>)检查第一个元素(atom1) 是否大于第二个元素(atom2)。若是,函数返回T,否则返回nil。在下面第一个例子中,15大于10,因此,关系表达式为真,且函数返回T。在第二个例子中,10大于9,但9并不大于其后的9,因此函数返回nil。
示例:
(> 15 10)返回T
(>10 9 9)返回nil
(>cb)返回T
大于等于
格式(>= atom1 atom2)
该函数(>=)检查第一个元素(atom1)的值是否大于等于第二个元素(atom2)。若是,函数返回T,否则返回nil。在下面第一个例子中,78大于但木等于50,因此,函数返回T。
示例:
(>= 78 50) 返回T
(>= "x"y") 返回nil
abs 返回参数的绝对值
(abs number)
参数 number
返回值 参数的绝对值
示例 (abs 100) 返回100
(abs -3) 返回3
acad_colordlg
显示标准的AutoCAD颜色选择对话框
(acad_colordlg colornum [flag])
参数
colornum
整数,其取值范围是 0-256 (包括 0 和 256),它用于指定颜色对话框的缺省的颜色代码。
flag
如可选参数 flag 设为 nil,禁用随层和随块按钮;省略 flag 参数或将其设为非 nil 值,则可启用随层和随块按钮。
colornum 为 0 时代表 BYBLOCK(随块),为 256 时代表 BYLAYER(随层)。
用户所选择的颜色代码,如果用户取消该对话框则返回 nil。
示例
下列代码提示用户选择一种颜色,如果不选则指定绿色为缺省颜色:
(acad_colordlg 3)
acad-pop-dbmod
恢复 DBMOD 系统变量的值到最近用 acad-push-dbmod 保存的值
(acad-pop-dbmod) 该函数使用 acad-push-dbmod 控制 DBMOD 系统变量。DBMOD 系统变量跟踪图形的修改状态和触发保存图形请求。
如果成功时返回 T;否则,如果堆栈为空时,返回 nil。
acad-push-dbmod
储存 DBMOD 系统变量的当前值
(acad-push-dbmod)
该函数使用 acad-pop-dbmod 来控制 DBMOD 系统变量。用户可使用该函数来更改图形而保持 DBMOD 系统变量不变。DBMOD 系统变量跟踪图形的修改状态和触发保存图形请求。
该函数在 acapp.arx 中实现,acapp.arx 默认状态下是加载的。该函数可将 DBMOD 系统变量的当前值转到内部堆栈。要使用 acad-push-dbmod 和 acad-pop-dbmod,必须先进行 acad-push-dbmod 操作,再使用 acad-pop-dbmod 来恢复 DBMOD 系统变量的初始状态。
总是返回 T。
autolisp功能
1.AutoLISP语言是在普通的LISP语言基础上,扩充了许多适用于CAD应用的特殊功能而形成的,一种仅能以解释方式运行于AutoCAD内部的解释性程序设计语言。2.AutoLISP语言中的一切成分都是以函数的形式给出的,它没有语句概念或其他语法结构。执行AutoLISP程序就是执行一些函数,再调用其他函数。
3.AutoLISP把数据和程序统一表达为表结构,即S-表达式处理,故也可把程序当作数据来处理,也可把数据当作程序来执行。
4.AutoLISP语言中的程序运行过程就是对函数求值过程,是在对函数求值过程中实现函数功能。
5.AutoLISP语言的主要控制结构是采用递归方式。递归方式的使用,使得程序设计简单易懂。
LisPlink特点
1、AutoLISP语言是在普通LISP语言前提下,又扩大了很多适用CAD运用的作用而形成的一种编程设计语言。它是一种实证性求值语言,速度较慢,无法信息保密,可以用一切文字编辑软件编写,用纯文本的格式储存。比如:(setqi1);便是编码i值是1
(command"CIRCLE""(00)100);指令在坐标原点制作半经100的圆。
2、AutoLISP语言里的一切成份都以函数方式给的,本身没有句子定义或其它句法结构。实行AutoLISP程序流程便是实行一些函数,再启用其他函数。比如:
(setqpt1(getpoint"
挑选圆心点插入点"))
(command"CIRCLE"pt1100);指令这一插入点制作圆,半经为100
3、AutoLISP语言中程序执行过程便是对函数求值的过程,是在对函数求值的过程中获得函数的功效。在AutoCAD里边,每一个目标能够当做是通过成千上万一个点组成,每一个点都有各自的座标,函数的运转便是算出这种点标值,依据获得的数值作出判断。
4、AutoLISP语言的重要系统结构采用的是递归方法。递归方法的应用,促使编程设计通俗易懂。比如:
(setq&k1(entsel));选择点
(setq&k1(car&k1));获取图元
(setq#g1(entget&k1));获得特性目录
(setqc0(cdr(assoc0#g1)));获得图元名字
以上就是一个个的记录下来,能够写出下列:
(setqc0(cdr(assoc0(entget(car(entsel))))));通俗易懂
5、因为autolisp简易,非常容易,因此入门迅速。进行程序编写后,能够极大地提升制图高效率,著名的【天正】软件,便是制图的好伙伴。
6、autolisp程序流程也是有不足之处,如获取座标,这一必须要在图元特性里边获取,那样的话会出现局限,反向座标1与-1的平面坐标同样,可是图形部位不一样,导致测算座标的难题,因此获取平面坐标,建议使用VLAX函数来获取。
以上便是KKX小编给大家分享介绍的Autolisp程序编写工具!
免责声明:本文由用户上传,如有侵权请联系删除!