基于AutoLISP语言的CAD二次开发浅析及功能实现
基于AutoLISP语言的CAD二次开发浅析及功能实现
摘要:Autocad 是工程建设普遍使用的一种功能强大的绘图软件,而且可以进行用户的二次开发。本文介绍了基于AutoLISP语言的CAD二次开发过程,并例举了部分功能实现的代码和调用过程,以期节约时间,提高CAD绘图效率。
关键词:AutoLISP语言,Autocad二次开发,坐标点提取
1.AutoLISP语言
AutoLISP 语言嵌套于Autocad内部,它是LISP语言与Autocad有机结合的产物,是为二次开发Autocad而专门设计的编程语言。
AutoLISP采用了和CommonLISP 最相近的语法和习惯约定,它具有CommonLISP 的特性,又针对autoLISP 增加了许多功能。它可以把autoLISP程序和autocad的绘图命令结合起来,使设计和绘图完全融为一体,方便了对屏幕图形的实时修改,参数化设计和交互设计,为在绘图领域应用人工智能提供了方便。AutoLISP语言嵌入autocad之后,Autocad就不再只是交互式的图形绘制软件,而成为了真正能够进行计算机辅助设计绘图的cad软件。
2. AutoLISP语言结构
AutoLISP 数据类型丰富,包括:整型、实型、字符串、表、文件描述符、Autocad 的图元名、Autocad 的选择集等。AutoLISP 处理的对象是符号表达式,简称表达式。表达式相当于其他编程语言中程序的语句,是由原子或表构成的。原子可以细分为数原子,串原子和符号原子。多数情况下,AutoLISP 表达式以表的形式存在,其格式如下所示:
(函数名[参数]……)
每个表达式以左括号开始,并由函数名及参数组成,左括号后的第一个元素必须是函数名。参数的数量可以是任意多个,也可以是0个,这取决于具体函数,每个参数也可能是表达式。表达式以右括号结束,每一个表达式的返回值都能被外层表达式使用,最后计算的值被返回到调用的表达式。


