Auto cad中的LISP语言是什么?有怎样的用途?

三维中,螺纹好像就需要它才可以画出是吧?

AutoLISP语言是在普通的LISP语言基础上,又扩充了许多适用于CAD应用的功能而形成的一种程序设计语言。它是一种解释性求值语言,速度较慢,难以保密,可用任何文字编辑软件编辑,用纯文本的格式保存。

AutoLISP语言中的一切成分都是以函数形式给出的,它没有语句概念或其他语法结构。执行AutoLISP程序就是执行一些函数,再调用其它函数。

(setq pt1 (getpoint "\n请选择圆心插入点"))。

(command "CIRCLE" pt1 100);命令这个插入点绘制圆,半径为100。

扩展资料:

LISP语言(LISP,List Processing的缩写)是一种早期开发的、具有重大意义的表处理语言。它适用于符号处理、自动推理、硬件描述和超大规模集成电路设计等。

特点是,使用表结构来表达非数值计算问题,实现技术简单。LISP语言已成为最有影响,使用十分广泛的人工智能语言。

在LISP语言中,数据和函数都是采用符号表达式定义的,这种符号表达式称为S一表达式,它是原予和表的总称。原子分为符号原子和数原子。

符号原子是指有限个大写字母和数字组成的字符串,其中第一个符号必须是字母。原子NIL和T分别表示逻辑假(或空表)和逻辑真。数原子是指一串数字,通过符号表示其正负。

LISP语言不仅在专家系统和CAD领域有广泛的应用,在符号代数、定理证明、机器人规划等领域也有广泛的应用。

影响LISP语言使用的主要原因有:一是LISP是非可视化语言;二是LISP在通用计算机上的运行效率较低;三是LISP的数值计算能力较差;四是人们对函数型语言的编程风格不习惯。

参考资料来源:百度百科-lisp语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-19

    AutoLISP语言是在普通的LISP语言基础上,又扩充了许多适用于CAD应用的功能而形成的一种程序设计语言。它是一种解释性求值语言,速度较慢,难以保密,可用任何文字编辑软件编辑,用纯文本的格式保存。例如:

    (setq i 1);就是代码i值是1

    (command "CIRCLE" '(0 0) 100);命令在坐标原点绘制半径100的圆。

    AutoLISP语言中的一切成分都是以函数形式给出的,它没有语句概念或其他语法结构。执行AutoLISP程序就是执行一些函数,再调用其它函数。例如:

    (setq pt1 (getpoint "\n请选择圆心插入点"))

    (command "CIRCLE" pt1 100);命令这个插入点绘制圆,半径为100

    AutoLISP把数据和程序统一表达为表结构,故可把程序当作数据来处理,也可把数据当作程序来执行。

    例如:一条直线,起点坐标'(0 0),端点坐标'(1000  0),图层为0层,颜色为1【红色】这个是一条直线的一些数据,怎么执行变为程序代码如下:

    (entmake (list '(0 . "LINE") '(8 . "0") '(62 . 1) '(10 0 0) '(11 1000 0)))

    以上可以直观的看数据,也可以粘贴到AutoCAD的命令行,就绘制出以上要求的直线。

    AutoLISP语言中程序运行过程就是对函数求值的过程,是在对函数求值的过程中实现函数的功能。在AutoCAD里面,所有的对象可以看成是由无数的点构成,每个点都有自己的坐标,函数的运行就是计算出这些点的数值,根据得到的数值进行判断。

    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))))));简单易懂

    由于autolisp简单,容易,所以上手很快。编写程序后,可以大大的提高绘图效率,有名的【天正】插件,就是绘图的好帮手。

    autolisp程序也有不足的地方,如提取坐标,这个只能在图元属性里面提取,这样的话会有局限性,法向坐标1与-1的坐标值相同,但是图形的位置不同,造成计算坐标的困难,所以提取坐标值,最好使用VLAX函数来提取。

第2个回答  推荐于2017-09-26
lisp语言是用于CAD二次开发,你可以通过lisp语言编程来增加自己习想要但是通用模块里没有的命令,比如你想画个螺钉,但是CAD通用模块中不提供这个命令,这时候你就可以通过lisp语言编程编写一个画螺钉的命令,在画图过程中你只需要输入命令然后输入螺钉的基本参数就可以很快画出一个螺钉。不知道我说的是否够清楚!你可以到网上找个小程序试下。本回答被提问者采纳
相似回答