CAD二次开发自定义编程 下载本文

内容发布更新时间 : 2024/4/28 6:35:41星期一 下面是文章的全部内容请认真阅读。

CAD二次开发自定义编程

CAD中自定义填充图案

在AutoCAD制图中,HATCH(图案填充)命令的使用较为频繁。CAD自带的图案库虽然内容丰富,但有时仍然不能满足我们的需要,这时我们可以自定义图案来进行填充。 AutoCAD的填充图案都保存在一个名为acad.pat的库文件中,其缺省路径为安装目录的\\Acad2000\\Support目录下。我们可以用文本编辑器对该文件直接进行编辑,添加自定义图案的语句;也可以自己创建一个*.Pat文件,保存在相同目录下,CAD均可识别。

下面,我们就以新创建一个菱形花纹钢板图案库文件为例,来说明AutoCAD 2000中自定义图案的方法。

首先,在CAD中按国标作出菱形花纹图案,并标注各部分尺寸(见图,可点击放大)。

参看下面的库文件标准格式: *pattern-name [, description]

angle, x-origin, y-origin, delta-x, delta-y [, dash-1, dash-2, ...]

第一行为标题行。星号后面紧跟的是图案名称,执行HATCH命令选择图案时,将显示该名称。方括号内是图案由 HATCH 命令的“?”选项显示时的可选说明。如果省略说明,则图案名称后不能有逗号。

第二行为图案的描述行。可以有一行或多行。其含义分别为:直线绘制的角度,填充直线族中的一条直线所经过的点的X、Y轴坐标,两填充直线间的位移量,两填充直线的垂直间距,dash-n为一条直线的长度参数,可取正负值或为零,取正值表示该长度段为实线,取负值表示该段为留空,取零则画点。

好了,我们可以开始编辑了。打开记事本,书写下如下: *custom, steel plate GB/T3277-1991 68.4667, 0, 0, -9.8646, 25, 30.0213, -6.59 111.5333, 0, 0, 9.8646, 25, 30.0213, -6.59

68.4667, -11.0191, 27.926, -9.8646, 25, 30.0213, -6.59 111.5333, 11.0191, 27.926, 9.8646, 25, 30.0213, -6.59

本例中的四行图案描叙行分别对应图一中的线段a、b、c、d。对照图文,各项取值应不难理解。这里只着重讲叙一下delta-x与delta-y的取值规则,为方便理解,我们如图示设置UCS坐标系,确定原点与X轴正方向。线段a、e在Y轴上的垂直间距25构成delta-y,也相当于AutoCAD中的offset命令的取值25;如果线段e是由线段a经offset而来,这时线段e同时还相对于线段a沿X轴负方向移动了9.8646,这段位移也就是delta-x。 下面还有几个注意事项:

图案定义文件的每一行最多可包含 80 个字符。

AutoCAD 忽略空行和分号右边的文字。根据这一条,我们可以在文件中添加版权信息、备注或者是我们想加入的任何内容。例如:

;Copyright (c) 2000 by everyone. All rights reserved.

最后,将文件保存,取名custom.Pat。注意,文件名必须与图案名相同。

到此,相信各位朋友已经掌握了自定义图案的方法。现在,只需一点点耐心,你就可以编辑出非常复杂的图案了。

CAD提供的填充图案文件保存在ACAD.PAT和ACADISO.PAT两个文件中。用户可以在该文件中添加填充图案定义,也可以创建自己的文件。

值得注意的是设计填充图案定义要求具备一定的知识、经验和耐心。 举个列子, ANSI31的填充图案,并且其定义为: *ANSI31, ANSI Iron, Brick, Stone masonry 45, 0,0, 0,.125

在第一行中,图案名称是 *ANSI31,其后是说明:ANSI Iron, Brick, Stone masonry。这种简单的图案定义指定以 45 度角绘制直线,填充线族中的第一条直线要经过图形原点 (0,0),并且填充线之间的间距为 0.125 个图形单位。

还有一种方法用的是EXPRESS TOOLS这个CAD插件,下载一个适合你的CAD版本的EXPRESS TOOLS工具安装,一般现在CAD2007\\CAD2008\\CAD2009在安装CAD时都有选择这个工具的安装选项,安装好后,在\菜单\HATCH\这个命令可以自定义的填充图案.附教程于下

使用“bhatch”命令绘制填充图案,同线型一样,AutoCAD中的填充图案也是以图案文件(也称为图案库)的形式保存的,其类型是以“.pat”为扩展名的ASCII文件。可以在AutoCAD中加载已有的图案文件,并从中选择所需的填充图案;也可以修改图案文件或创建一个新的

图案文件。

同线型文件一样,在AutoCAD 2002版本中也提供了两个图案文件,即AutoCAD主文件夹的“SUPPORT”子文件夹中的“acad.pat”和“acadiso.pat”,这两个文件分别包含有69种填充图案(包括8种ANSI图案,14种ISO图案和47种其它预定义图案)。以“acad.pat”文件

为例来介绍填充图案的定义和定制。

提示 AutoCAD 2000i和2002中提供的填充图案在AutoCAD 2000的基础上增加了一种名

为“GRAVEL”的图案。 32.2.2 填充图案的定义 1. 填充图案定义格式

与线型定义类似,填充图案的定义由标题行和模式行两部分组成。

(1) 标题行:由填充图案名称和填充图案描述组成,标题行以“*”为开始标记,填充图

案名称和描述由逗号分开,其格式为:

*pattern-name [, descri ption](“填充图案名称[,填充图案描述])

(2) 模式行:由图案直线定义和填充线的控制信息组成,一个填充图案中可以定义多

种类型的图案直线(AutoCAD对图案直线的数量没有限制。),其格式为:

angle, x-origin, y-origin, delta-x, delta-y [, dash-1, dash-2, ...]

其中各项意义如下(见图32-5):

 angle:填充线图案直线与水平方向的夹角。  x-origin、y-origin:第一条图案直线经过的坐标点。  delta-x:相邻的两条图案直线沿画线方向上的偏移值。

 delta-y:相邻的两条图案直线之间的偏移值。

 dash-1, dash-2, ...:图案直线的规格说明,与上节中简单线型的定义相同。

图32-5 填充图案定义

当用户使用一个填充图案,AutoCAD首先生成一条通过由x-origin和y-origin指定点的图案直线,然后根据偏移距离delta-x和delta-y来产生其余的图案直线,生成具有无限平行直线的直线族,并使用所有选定的填充边界对这些图案直线进行裁剪。如果在填充图案定义中包括多种类型的图案直线,则AutoCAD通过上述方式对每种图案直线依次绘制,并叠加在一

起产生较复杂的图形。

例如:在acad.pat文件中对SQUARE图案的定义如下:

*SQUARE,Small aligned squares

0, 0,0, 0,.125, .125,-.125 90, 0,0, 0,.125, .125,-.125

注意 图案定义文件的每一行最多可包含80个字符。AutoCAD忽略空行和分号右边的文字。

32.2.3 填充图案的创建

由于填充图案文件也是ASCII格式的,因此用户可以在AutoCAD环境外使用任一文本编辑

器直接打开或创建填充图案文件,并对其内容进行补充和修改。

实例3 创建“USER”填充图案

(1) 使用Windows附件中的“记事本”程序创建一个新的文本文件。

(2) 在该文件中添加如下内容,如图32-6所示。

*USER,the custom pattern by user

0, 0, 0, 0, 1, 1, -1 0, 0, 0.5, 0, 2, 1, -1 90, 0, 0, 0, 1, 1, -1 90, 0.5, 0, 0, 2, 1, -1

图32-6 “user.pat”文件

(3) 将该文件保存在AutoCAD主文件夹的“SUPPORT”子文件夹中,并命名为

“user.pat”。

(4) 进入AutoCAD 2002,打开“Boundary Hatch(边界填充图案)”对话框,在“Type(类型)”下拉列表中选择“Custom(自定义)”项,对话框中将自动显示出用户定义的“USER”

填充图案的信息,如图32-7所示。

图32-7 使用自定义填充图案

选择“Custom pattern(自定义图案)”下拉列表右侧的 按钮,弹出“Hatch Pattern Palette(填充图案调色板)”对话框,在“Custom(自定义)”标签中显示了用户定制填充图案的示

例和其所在的库文件路径,如图32-8所示。

注意 AutoCAD系统对用户所创建的填充图案文件有如下以下要求:

(1) 一个文件中仅含有一种填充图案定义。 (2) 填充图案名称必须与文件名相同。

为 AutoCAD 开发填充图案定义需要一些知识、实践和耐心,以及一个文本编辑器。可将图案加入库文件 acad.pat 或将它单独保存在一个文件中。将图案单独保存时,文件名必须

与图案名相同。例如,名为 PIT 的图案必须保存在文件 pit.pat 中。 不管定义保存在什么文件中,其格式都是一样的。它包括如下格式的标题行:

*pattern-name [, description]

还包括一行或多行如下形式的说明:

angle, x-origin, y-origin, delta-x, delta-y [, dash-1, dash-2, ...]

例如,图案 L45 用间隔为 0.5 图形单位的 45 度直线进行填充,其定义如下:

*L45,45 degree lines

45, 0,0, 0,0.5

这个简单图案指定:直线按 45 度角绘制,填充直线族中的第一条直线穿过图形原点 (0,0),

且填充直线之间的距离为 0.5 图形单位。L45

是图案的名称,这里的说明字段是图案由 HATCH 命令的“?”选项显示时的可选说明。(如

果省略说明,则图案名后不能有逗号。)

图案定义文件的每一行最多可包含 80 个字符。AutoCAD 忽略空行和分号右边的文字。

除了使用提供的预定义填充图案外,还可以设计并创建自己的自定义填充图案。设计填充图案定义要求具备一定的知识、经验和耐心。只有熟悉填充图案的用户才能自定义填充图案,

因此建议新用户不要进行此操作。

AutoCAD 提供的填充图案保存在 acad.pat 和

acadiso.pat 文本文件中。用户可以在该文件中添加填充图案定义,也可以创建自己的文件。

无论将定义存储在哪个文件中,自定义填充图案都具有相同的格式。即包括一个带有名称(以

星号开头,最多包含 31 个字符)和可选说明的标题行。

*pattern-name, description

还包括一行或多行如下形式的说明:

angle, x-origin,y-origin, delta-x,delta-y,dash-1,dash-2, ...

“边界图案填充”对话框中显示的默认填充图案 ANSI31 具有如下效果:

 

并且其定义为: