文档库 最新最全的文档下载
当前位置:文档库 › AutoCAD论文AutoCAD开发技巧论文

AutoCAD论文AutoCAD开发技巧论文

AutoCAD论文AutoCAD开发技巧论文
AutoCAD论文AutoCAD开发技巧论文

AutoCAD论文AutoCAD开发技巧论文:

AutoCAD的开发技巧与应用

摘要:AutoCAD是目前国内外使用最广泛的计算机辅助绘图和设计软件包,它适用于机械、电子、建筑等多种领域。AutoCAD具有开放的体系结构,允许用户对其进行扩充与修改,开发出满足特殊专业需要的AutoCAD增值软件。

关键词:AutoLISP;AutoCAD;初始设置;菜单;属性块;参数化;对话框

对于机械工程设计人员在绘制一幅完整的机械制图时,需完成初始化设置、选择图幅大小、图幅比例、标题栏、形位公差与表面粗糙度和尺寸等的标注、特殊的绘图功能等。笔者在AutoCAD 2002 的版本下进行了二次开发(其它版本大同小异)。

1 AutoCAD 的初始设置

一幅好的图幅模板需包括:图幅的大小、图幅比例、标题栏等。下面以A3图幅建立模板文件为例进行说明。

1.1 绘图模板的建立

(1)创建新图(new):设置模型空间界限(limits)、文字样式(style)、标注样式(dimstyle)、绘图单位(units)、图层(layer)、选项设置(options)、分辨率的设置(viewres)等。

(2)保存路径为C:/Program Files/AutoCAD 2002/T emplate,文件名为acad,文件类型为AutoCAD图形样板文件(*.dwt),在样

板说明中可输入“通用模板”,最后按“保存”按钮。

1.2 图幅模板的建立

(1)根据企业的具体规定来绘制标题栏的格式与大小,并定义相应的属性。

(2)属性定义(ddattdef),弹出属性定义对话框。

①设置模式(Mode)、属性(Attribute)、文字选项(Text Options)、插入点(Pick Point)等。

②将标题栏生成属性块。

命令行(Command):wblock按"Enter"。按要求输入文件名(File Name,如标题栏),块名(Block Name),插入点(Inserttion Base Point,如标题栏的右下角点),选择对象(Select Objects,全选该标题栏),最后按"Enter"。

命令行(Command):oops按"Enter"。保存在C:/Program Files/AutoCAD 2002/Support下。

(3)插入标题栏属性块。

按国家标准,用画线(line)命令绘制A3图幅的大小。命令行(Command):ddinsert按"Enter",弹出插入块对话框。

①名称(File Name,如标题栏.dwg)、缩放比例(Scale Factor,为1)、旋转角度(Rotation Angle,为0)、插入点(Imsert Point,为图幅内框的右下角点)。如图1所示。

图1 A3图幅的局部视图

②模板的保存。

路径为C:/Program Files/AutoCAD 2002/Template,文件(*.dwt),在样板说明中可输入"A3图幅",最后按“保存”按钮。同理,可建立其它图幅A0~A4的模板文件。

(4)标题栏内容的输入。

①在命令行(Command):ddatte按"Enter",选择该标题栏上任一点,即弹出标题栏对话框。如图2所示。

②输入相应的属性值,将自动填充到图1所示的相应位置上。

图2 标题栏输入对话框

(5)说明:

用户可根据上述设置属性的方法,可自行定制出明细表、粗糙度符号、基准符号及特殊符号等的属性块。

2 AutoCAD 的功能开发与使用

2.1 自主开发功能的编辑与加载方法

(1)AutoLISP程序的编辑。

我们可新建一文本文件*.lsp(如:Mycad.lsp),在该文件中输入图幅比例的AutoLISP程序。

(2)AutoLISP程序的手动加载。

加载应用程序(appload):弹出加载/卸载应用程序对话框,在文件名中选择"Mycad.lsp",然后按“加载”钮。

(3)AutoLISP程序的自动加载。

把Mycad.lsp保存到C:/Program Files/AutoCAD 2002/Support 下,然后在AutoCAD2000doc.lsp文件的相应行中输入:(autoload "mycad" '("mycad")),然后保存文件。每次进入AutoCAD时,所定义的应用程序就可自动加载了。

2.2 AutoLISP程序开发特殊功能举例

图幅比例功能:该图幅比例命令是全局缩放,不会影响图纸的任何比例。

(1)AutoLISP程序。

(defun c:bscale(/ hk) ;定义图幅比例的命令名

(setq hk (getdist "/n 请输入图幅比例:"));如1/2

(command "SCALE" "all" "" "0,0" (/ 1 hk));比例缩放

(command "DIMSCALE" (/ 1 hk)) ;尺寸标注比例缩放

(command "ZOOM" "all" "") ;全图

(setvar "HPNAME" "ANSI31");剖面线图案类型

(setvar "HPSCALE" 1.5) ;剖面线比例

(setvar "TEXTSIZE" (/ 4 hk));文字高度缩放

(2)用法:在命令行下输入。

(Command):bscale按"Enter"。请输入图幅比例:1/2。

(3)说明:

用户可根据上述程序示例,可二次开发出诸如:粗糙度标注、基准标注、零件序列号、指引线标、形位公差标注、画断裂线、画螺纹

等许多指令功能。这里不一一介绍了。

3 AutoCAD 图标与下拉菜单的开发

我们自行开发的命令功能是自定义的,能否将开发的命令功能用形象的图标显示出来?或以下拉菜单的形式出现呢?

3.1 开发图标工具栏

3.1.1 手动开发图标工具栏

此方法不具有通用性,在重新安装CAD软件时,产生丢失现象。这里不详细介绍,其主要方法是:任意图标上,按鼠标右键、“编辑按钮图像”、在与此按钮关联的宏中输入"^C^C_bscale"。如图3所示。

图3 图标

3.1.2 自动开发图标工具栏

(1)打开C:/Program Files/AutoCAD 2002/Support下的菜单文件*.mnu(如:acad.mnu或acad.mns),把下述图标菜单程序插入任意图标菜单之后(如:**TB_DRAW)。如图4所示。

** TB_MYCAD

[_Toolbar(“特殊功能”,_Right,_Show,0,0,1)]

-------

[_Button(“断裂线”,"dlx.bmp","dlx.bmp")]^C^C_dlx

[--]

图4 图标工具栏

(2)说明:

①** TB_MYCAD:表示工具栏。

②[_Toolbar(“特殊功能”,_Right,_Show,0,0,1)]:表示工具栏名称(特殊功能)及位置。

③[_Button(“图幅比例”,"bscale.bmp","bscale.bmp")]^C^C_bscale:表示图标按钮名称(图幅比例)及调用图像(bscale.bmp),^C^C_bscale表示执行的命令。

④[--]:表示图标按钮分融符。

3.2 开发下拉菜单

(1)打开C:/Program Files/AutoCAD 2002/Support下的菜单文件*.mnu(如:acad.mnu或acad.mns),把下述下拉菜单程序插入下拉菜单之后(如:***POP12)。如图5所示。

***POP13

[自制CAD(&Z)]

[图幅比例(&A)]^C^C_bscale

-------

[两直线成尖角(&E)]^C^C_cfj

[--]

图5 开发下拉菜单

(2)说明:

①POP13:表示第十三个下拉菜单。

②[自制CAD(&Z)]:表示下拉菜单功能项名称(自制CAD),快捷键为ALT+Z。

③[图幅比例(&A)]^C^C_bscale:表示下拉菜单各分项名称(图幅比例),快捷键为SHIFT+A,^C^C 执行二次中断操作,bscale为执行的命令(功能中所定义的命令)。

④[--]:表示在下拉菜单中显示分融符。

4 AutoCAD 的参数化设计

在实际工程设计中,有许多结构相似,而尺寸不同的设计,比如:中心孔、键槽等。如何进行参数化设计呢?

4.1 程序开发

以圆盘设计为例,如图6上的圆盘图所示。

(defun C:yptype (/ p1 d1 d2 d3 d4 n1)

(setq sb (getvar "osmode"))

(setvar "osmode" 33)

(setq p1 (getpoint "/n圆盘位置:")

d1 (getreal "/n请输入内孔直径:")

d2 (getreal "/n请输入圆盘外径:")

d3 (getreal "/n请输入排列孔直径:")

d4 (getreal "/n请输入联接孔直径:")

n1 (getint "/n请输入联接孔个数:")

sc (getvar "DIMSCALE")

;部分程序省略

图6 对话框输入

4.2 对话框程序

部分对话框程序如下,对话框如图6所示。

yptype: dialog {

label= “圆盘设计”; ;对话框的标题名称

: column {;行/列大小

: row {

: image_button {

key= "yptype.sld";;图像幻灯片

;部分程序省略

4.3 使用方法

(1)命令行输入

命令:yptype按"Enter"。

输入圆盘位置、内孔直径等按"Enter"。

(2)对话框输入:结果如图6所示。

5 结束语

总而言之,Autodesk公司为用户提供了丰富的二次开发工具。比如:AutoLISP语言、对话框控制语言(Dialog-box ControlLanguage)、C语言、AutoCAD SQL数据库语言、VBA管理器等。利用这些,用户可随心所欲进行AutoCAD的二次开发。

相关文档