Lisplink(Autolisp程序编写工具)

大小:747K 类别:
  • 编程软件

官方安全无插件纠错

  • 更新时间2023-12-24
  • 版本v22.01
  • 系统Pc
  • 语言英文
autolisp是一款由autodesk开发的一种叫做LISP的程序语言,全称是List Processor,通过这款软件能够节省很多的时间在CAD工具的制作上,这样工程师们就有足够多和好的工具来帮助自己进行工程的设计。
autolisp作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发和应用AutoCAD不可或缺的工具,特别是AutoCAD软件中包含大多数用于产生图形的命令,但是却还是有些命令违背提供,例如AutoCAD中没有在图形文本对象内回执举行及全局改变的命令。这时候,autolisp就能够派上用场了,开发人员可以利用软件编制能够在图形文本对象内回执举行或作全局选择性的改变的程序。当然,我们的这款软件不仅仅只有这么一个作用,你也可以直接将autolisp嵌入到菜单中,这样你的系统会获得更高的开发效率。

autolisp特点

1、AutoLISP语言是在普通的LISP语言基础上,又扩充了许多适用于CAD应用的功能而形成的一种程序设计语言。它是一种解释性求值语言,速度较慢,难以保密,可用任何文字编辑软件编辑,用纯文本的格式保存。例如:
(setq i 1);就是代码i值是1
(command "CIRCLE" '(0 0) 100);命令在坐标原点绘制半径100的圆。
2、AutoLISP语言中的一切成分都是以函数形式给出的,它没有语句概念或其他语法结构。执行AutoLISP程序就是执行一些函数,再调用其它函数。例如:
(setq pt1 (getpoint "\n请选择圆心插入点"))
(command "CIRCLE" pt1 100);命令这个插入点绘制圆,半径为100
3、AutoLISP语言中程序运行过程就是对函数求值的过程,是在对函数求值的过程中实现函数的功能。在AutoCAD里面,所有的对象可以看成是由无数的点构成,每个点都有自己的坐标,函数的运行就是计算出这些点的数值,根据得到的数值进行判断。
4、AutoLISP语言的主要控制结构是采用递归方式。递归方式的使用,使得程序设计简单易懂。例如:
(setq &k1 (entsel));选择对象
(setq &k1 (car &k1));提取图元
(setq #g1 (entget &k1));取得属性列表
(setq c0 (cdr (assoc 0 #g1)));取得图元名称
以上是一个个的写下来,可以写成以下:
(setq c0 (cdr (assoc 0 (entget (car (entsel))))));简单易懂
5、由于autolisp简单,容易,所以上手很快。编写程序后,可以大大的提高绘图效率,有名的【天正】插件,就是绘图的好帮手。
6、autolisp程序也有不足的地方,如提取坐标,这个只能在图元属性里面提取,这样的话会有局限性,法向坐标1与-1的坐标值相同,但是图形的位置不同,造成计算坐标的困难,所以提取坐标值,最好使用VLAX函数来提取。

autolisp数学运算

任何编程语言都提供数学函数。在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数字介绍

增量数字
格式(1+ number)
此函数(l+)使数字与1(整数)相加,返回一个增加1的数。在下面的第二个例子中,1与-10.5相加返回-9.5。
示例:
(1+ 20)返回 21
(1+ -10.5)返回-9.5
减量数字
格式(1- number)
此函数(1-)从数字中减去1(整数),并返回一个减去1的数。在下面的第二个例子中-10.5减去1返回-11.5。
示例:
(1- 10)返回9
(1- -10.5)返回-11.5
绝对数字
格式(abs num)
abs函数返回一个数的绝对值。该数可以是整数或者实数。在下面的第二个例子中,由于-20的绝对值为20,故函数返回20。
(abs 20)返回 20
(abs -20)返回20
(abs -20.5)返回20.5

autolisp三角函数

sin函数
格式( sin angle)
sin函数计算一个角(以弧度表示)的正弦值。在下面的第二个例子中,sin函数计算Pi(180度)的正弦值并返回0。
示例:
Command:(sin 0)返回0.0
Command:(sin Pi)返回0.0
Command:(sin 1.0472)返回0.866027
cos函数
格式(cos angle)
cos函数计算一个角(以弧度表示)的余弦值。在下面的第三个例子中,cos函数计算Pi(180度)的余弦值并返回-1.0。
示例:
Command:(cos 0)返回l.0
Command:(cos 0.0)返回1.0
Command:(cos Pi)返回-1.0
Command:(cos 1.0)返回0.540302
atan函数
格式( atan num1)
atan函数计算数的反正切值,返回角度以弧度表示。下面的第二个atan函数计算1.0的反正切值并返回0.785398(弧度)。
示例:
Command:(atan 0.5)返回0.463648
Command:(atan 1.0)返回0.785398
Command:(atan -1.0)返回-0.785398
两个参数的atan函数
格式( atan num1 num2)
还可以在atan函数中再指定一个数。若指定了第二个数,函数将以弧度形式返回(num1/num2)的反正切值。在下面的第一个例子中,第一个数(0.5)除以第二个数(1.0),atan函数计算商(0.5/1=0.5)的反正切值。
示例:
Command:(atan 0.5 1.0)返回0.463648弧度
Command:(atan 20 3.0)返回0.588003弧度
Command:(atan 2.0 -3.0)返回2.55359弧度
Command:(atan -2.0 3.00)返回-0.5880033弧度
Command:(atan -2.0 -3.0)返回-2.55359弧度
Command:(atan 1.0 0.0)返回1.5708弧度
Command:(atan -0.5 0.0)返回-1.5708弧度
angtos函数
格式(angtos angle[made[precision]])
angtos函数以字符串格式返回以弧度表示的角度值。字符串格式由made和 precision的设置决定。
示例:
Command:(angtos 0.588003 0 4)返回“33.6901"
Command:(angtos 2.55359 0 4)返回“145.3099"
Command:(angtos 1.5708 0 4)返回“90.0000"
Command:(angtos -1.5708 0 2)返回“270.00"
注意 在(angtos angle[mode[precision]])中:
angle是以弧度表示的角度值。
mode是与AutoCAD系统变量AUNITS相对应的angtos模式。
AutoCAD中可用模式如下:
ANGTOS模式 编辑格式
0 十进制角度
1 度/分/秒
2 梯度
3 弧度
4 测量单位
precision是一个整数,用于控制小数的位数,与AutoCAD系统变量AUPREC相对应。 其最小值为0,最大值为4。
在上面的第一个例子中,angle为0.588003弧度,mode为0(十进制角度),precision为4(小数点后有四位)。函数返回33.6901。

autolisp功能

1.AutoLISP语言是在普通的LISP语言基础上,扩充了许多适用于CAD应用的特殊功能而形成的,一种仅能以解释方式运行于AutoCAD内部的解释性程序设计语言。
2.AutoLISP语言中的一切成分都是以函数的形式给出的,它没有语句概念或其他语法结构。执行AutoLISP程序就是执行一些函数,再调用其他函数。
3.AutoLISP把数据和程序统一表达为表结构,即S-表达式处理,故也可把程序当作数据来处理,也可把数据当作程序来执行。
4.AutoLISP语言中的程序运行过程就是对函数求值过程,是在对函数求值过程中实现函数功能。
5.AutoLISP语言的主要控制结构是采用递归方式。递归方式的使用,使得程序设计简单易懂。

展开内容

类似软件

  • UltraEdit官方版(文本代码编辑器)

    9.6/107.53M

    UltraEdit官方版是一款功能强大的基于磁盘的文本代码编辑器,它可用于编辑HTML,PHP,JavaScript,Perl,C / C ++,Python和几乎任何其他编码/编程语言,并且UltraEdit还能处理和编辑超过4GB的文件!

    查看
  • Drupal 7(开源网站建设工具)

    9.6/125.55M

    Drupal 7是一个基于PHP语言编写的开发型CMF(内容管理框架),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。Drupal 7作为网络上好用的数字体验平台(DXP),它拥有多种功能,可以用来建设从个人网站到大型社区网站,包括以下的功能:Blog

    查看
  • youtrack电脑版

    9.0/894.76M

    youtrack电脑版是一款非常专业的代码BUG追踪管理软件,使用这款软件可以帮助用户实时监督项目的进度,是目前最专业的项目管理追踪软件,有了这款软件,用户可以通过跟踪在开发和其他活动上花费的时间,更好地计划,评估和管理团队的工作,实现对项目的有效管理,可以大大提高工作人员的效率

    查看
  • eclipse中文版

    9.1/348.4M

    eclipse 中文版是一款功能强大的开放源码集成开发环境,被广泛应用于各种软件开发场景中。eclipse具有丰富的工具和插件,支持多种编程语言和平台,可以帮助开发人员更高效地进行软件开发。

    查看

网友评论

0人参与,0条评论
  • 评论需审核后才能显示

同类排行

  • UltraEdit中文破解版

    7.5/103.94M

    UltraEdit是一款知名的文本编辑器,它在支持编辑文本、十六进制、ASCII 码的同时,还支持C、Objective C、Javascript、XML、PHP、Perl、Python等开发语言!

    查看
  • python(编程开发工具)windows版本

    9.5/28.22M

    python(编程开发工具)windows版本是一款高级编程语言软件,由Guido van Rossum在1980年代末和1990年代初创建并发展起来的。它强调代码的可读性和简洁性,以及提供丰富的标准库和各种第三方库,使开发人员能够快速地编写功能丰富的应用程序。

    查看
  • 010 Editor汉化破解版

    9.0/29.92M

    010 Editor是一款专业的文本编辑器和十六进制编辑器,其设计旨在轻松简便地快速编辑您计算机上任何文件的内容。该软件可以编辑简单的文本文 件,例如 Unicode 文件、批处理文件、C/C++源代码等,不过010 Editor最擅长编辑二进制文件。

    查看
  • Visual Basic 6.0中文破解版

    8.0/241.56M

    VB6.0破解版,全称Visual Basic 6.0,一款专业实用的编程开发工具,为了让人们更好的学习编程而推出,基础是编程语言Basic,也是老vb的最后一个版本。

    查看
  • Android Studio(Android开发环境)

    9.1/1.34G

    Android开发环境

    查看
  • Step7中文版

    7.9/7.23G

    Step7是一款强大的西门子PLC编程软件。它主要用于西门子系列工控产品包括SIMATIC S7、M7、C7和基于PC的WinAC的编程、监控和参数设置,是SIMATIC工业软件的重要组成部分。

    查看
  • Arduino IDE(电子原型设计)

    9.0/142.37M

    Arduino是一款便捷灵活、方便上手的开源电子原型平台,Arduino IDE则是目前比较主流的一款电子元件开发软件,软件构建于原始码simple I/O介面版,并且软件具有类似java、C语言的Processing/Wiring开发环境,主要包含连个主要的部分:硬件部分

    查看
  • 西门子s7-300编程软件中文版

    8.8/506.24M

    西门子s7-300编程软件中文版是一款优秀的plc编程软件!它可以用于西门子系列工控产品编程,包括SIMATIC S7、M7、C7和基于PC的WinAC的编程、监控和参数设置, 是SIMATIC工业软件的重要组成部分,并且它还具有以硬件配置和参数设置、通讯组态、编程、测试、

    查看
  • IAR embedded Workbench

    8.3/3.13G

    集成开发环境

    查看
  • IAR EWARM(嵌入式工作台)

    8.7/3.13G

    IAR Embedded Workbench for Arm,通常简称为IAR EWARM、IAR for ARM,是由IAR Systems公司为Arm微处理器开发的一款集成开发环境(IDE),即嵌入式工作台。

    查看
  • 易语言5.95完美版

    8.8/36.7M

    易语言是一个自主开发,适合国情,不同层次不同专业的人员易学易用的汉语编程语言。易语言降低了广大电脑用户编程的门槛,尤其是根本不懂英文或者英文了解很少的用户,可以通过使用本语言极其快速地进入Windows程序编写的大门。

    查看
  • Visual Studio Code(微软代码编辑器)

    9.5/118.13M

    免费开源的跨平台源代码编辑器

    查看
  • linkboy(图形化编程仿真平台)

    8.9/320.38M

    图形化编程仿真平台。

    查看
  • Keil uVision5破解版

    8.5/842M

    Keil uVision5是ARM公司面向基于ARM Cortex-M、Cortex-R等微控制器推出的集成开发环境(IDE),提供完整的C/C++编译、调试、仿真及RTOS支持。

    查看
  • sublime text 2(文本编辑器)

    9.6/19.18M

    sublime text 2中文版是一款代码编辑器,软件体积小巧,界面干净整洁,功能性十足,支持拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等,同时sublime text 2中文版支持Windows、Linux、Mac OS

    查看