2009
AutoCAD
是由美国
Autodesk
公司于
20
世纪
80
年代初为
微机上应用
CAD
技术而开发的绘图程序软件包,
经过不断的
完善,
现已经成为国际上广为流行的绘图工具
。
AutoCAD
允许
用户定制菜单和工具栏,并能利用内嵌语言
Autolisp
、
Visual
Lisp
、
VBA
、
ADS
、
ARX
等进行二次开发
。
AutoCAD
是在
R2.1
版
本开始嵌入
LISP
语言的一个增强了针对性的子集
AutoLISP
,
自
R14
版本开始,
Autodesk
公司推出了
VisualLISP
,更进一步
方便了用户对
LISP
的使用
[1]
。
在日常的绘图工作中,常常需要定制些软件没有的特定
图形符号,
虽然可以使用复制或定制块的形式实现,
但将常用
命令开发成类似于
AutoCAD
的内部命令,对使用者来说是非
常有吸引力的
。
VisualLISP
语言可以很方便地调用
AutoCAD
的内部命
令,
在可视化的界面进行编辑,
完全可以胜任一般绘图命令的
二次开发
。
对话框控制语言
Dialog
Control
Language
(简称
DCL
)
也是
内置于
AutoCAD
中,
它弥补了
AutoLISP
语言在对话框功能上
的不足,但可以很方便地通过
LISP
架设与
DCL
语言对话的
桥梁
。
1
编程示例
[2]
使用
VisualLISP
开发
AutoCAD
的绘图命令的一般步骤是:
1.1
打开
VisualLISP
编辑器
在
AutoCAD
工具菜单中
“
AutoLISP
”
——
—
“
VisualLISP
编辑
器
”
即可打开
AutoCAD
软件内置的
VisualLISP
编辑器
。
1.2
编程过程实例
下面以一个命令开发过程为例,来说明
VisualLISP
的编
程过程
。
本例是为了开发一个可以直接绘制基准代号的
Vi-
sualLISP
自定义命令
。
(
1
)新建一个
DCL
文件
。
在窗口中输入以下程序代码
。
bm01:dialog{
label="
基准代号对话框
";
:edit_box
{
label="
指
输
入
指
定
的
基
准
代
号
字
母
:
";
key="sym";edit_width=1;}
:boxed_radio_row{
label="
基准代号对话框
:";
:radio_button{
label="
上
";key="ra1";value="1";}
:radio_button{
label="
下
";key="ra2";value="0";}
:radio_button{
label="
左
";key="ra3";value="0";}
:radio_button{
label="
右
";key="ra4";value="0";}
}
spacer_1;
ok_cancel;
}
(
2
)新建一个
LSP
源文件
。
在窗口中输入以下程序代码
。
基于
Visual
LISP
的
AutoCAD
绘图命令的二次开发
沈良翼
1
,
汪莉莉
2
(
1.
南通职业大学
实训中心,
江苏
南通
226007
;
2.
南通广播电视大学
人文科学系,
江苏
南通
226007
)
摘要:
介绍了
LISP
语言在
AutoCAD
软件中的应用过程,
并通过基准代号的二次开发命令实例进行说明,
力图展示使用
Visual
LISP
语
言以及对话框控制语言对
AutoCAD
二次开发的基本过程以及应用程序的加载
。
关键词:
Visual
LISP
;
DCL
;
AutoCAD
中图分类号:
TP391.7
文献标识码:
B
文章编号:
1672-
545X
(
2009
)
12-
0064-
02
收稿日期:
2009-
09-
25
作者简介:
沈良翼
(
1974
—
)
,
男,
江苏如皋人,
一级实习指导教师,
硕士研究生,
主要从事数控技术理论实践教学及应用;
汪莉莉
(
1975
—
)
,
女,
江
苏南通人,
讲师,
主要从事室内设计及计算机辅助设计教学