第1节
基本知识
AutoLISP是一种针对扩充及自订AutoCAD函数机能而产生,以LISP为基础的程式设计语言.LISP本身于50年代末期出现,是一种擅于处理串列文字(List
of Processing),属第四代“人工智能(Artificial Intelligence)”的电脑语言.
![]() | 目的是令使用者充份利用AutoCAD进行开发,直接增加及修改AutoCAD指令. | ||||||||||
![]() | AutoLisp语言建基于普通的LISP语言上,并扩充了许多适用于CAD的特殊功能而形成. | ||||||||||
![]() | 是一种能以直译方式(不须先行编译)亦可于AutoCAD内部执行的直译性程序语言. | ||||||||||
![]() | 程式容易学习及撰写,程式即使出错亦不会对作业系统(如DOS,WINDOWS)有不良影响. | ||||||||||
![]() | 数据及程式均统一以串列 (List)结构表示. | ||||||||||
![]() | 可直接调用几乎全部的AutoCAD命令. | ||||||||||
![]() | 既具备一般高级语言的基本结构和功能,亦有一般高级语言没有的强大图形处理能力. | ||||||||||
![]() | 内建于AutoCAD应用程式,不须另行购买;亦不须使用特定的编辑器或开发环境. | ||||||||||
![]() | 可配合AutoCAD提供的PDB,建立DCL(Dialog Control Language)文件创建对话方块. | ||||||||||
![]() |
缺点 : 执行速度较ObjectArx(旧称ARX,以C或C++程式开发,取代以前的ADS)程式慢;原程式不易保护;对低阶的硬体资料不易存取. 第2节 函数
(Function) |
第3节
资料型态 (Data Type)
整数
(INT)
没有小数位的数值,32位元有号数,范围从+2,147,483,647到-2,147,483,648
实数
(REAL)
![]() | e.g. 12.5 |
![]() | e.g. 0.05 |
![]() | e.g. 4.1e-6 |
![]() | e.g. "AutoCAD" |
![]() | e.g. "\AutoCAD" |
![]() | 用以储存静态资料的名称;例如内建或使用者定义的函数 |
![]() | 符号名称不分大小写,可由任意长度的可列印字元组成;但下列的字元除外: |
左括号 ( 右括号 ) 句点 . 单引号 ' 双引号 " 分号 ; |
![]() | 亦称为串列,是放在一对小括号 ( ) 内,一个或多个元素的有序集合 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
e.g. (1.0 "Lisp" ( ) (5.6 7)) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | 元素可以是字串,符号,整数或实数;也可以是另一个表 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | 元素与元素之间要用空格隔开,但元素与小括号之间则可以不隔空格 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | 为便于存取表内各元素,每个元素均有其序号;从表的左边开始,第一个元素序号为0,依此类推 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | 表的大小即为其顶层元素的数量(内层嵌套式的表,视为单一元素) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | 点对(Dotted Pair)亦是表的一种;表内有2个元素,中间以一圆点分隔,且元素与圆点之间亦须以空格分开 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
若表内没有任何元素,称为空串列或空表;以 ( ) 或 (NIL) 表示 第4节
变数
(Variable) 若检查的变数没有储存资料,则会传回NIL 第5节
练习 (Exercises) |