这一篇在干嘛?
《AutoCAD Workbook for Architects and Engineers》第 14 章「属性块与数据提取」的中文精讲。本章覆盖 44 个主题小节、32 张原文操作截图,从命令用途、操作步骤到易错点逐步展开。素材里的命令行示例均按原书保留。
🧭 本篇导航
- Introduction
- Command:-INSERT
- Defining the Attributes
- Notes
- The ATTDEF Command
- Using the Define Attribute DIalog Box
- Editing Attribute Definitions
- BLOCKing the Attributes
- Inserting the Attributed Blocks
- Changing Attribute Definitions
- The ATTDISP Command
- Attribute Modes
- Data Extraction
- ATTEXT and Template Files
- EATTEXT
- Now enter the attribute for the designer using the Attribute Definition dialog box.
- Step 4
- Step 5
- TITLE1
- Step 6
- Step 7
- Command: PURGE
- Step 8
- Step 9
- Footing A
- Exercise 14 Architectural
- Index
- A
- B
- C
- D
- F
- G
- |
- M
- N
- O
- P
- Q
- S
- T
- U
- V
- Drawings
Introduction
画图只是 AutoCAD 能力的一半。除了生成几何图形和图纸本身,AutoCAD 还允许你生成非图形信息——材料表(Bills of Materials)、明细表(Schedules)、零件清单(Parts Lists)等与图纸相互引用的数据。这类附着在图形上的非图形智能信息,就叫做属性(Attribute)。
属性的本质是一个标签(tag),让你能把文字或其他数据附加到**块(Block)**上。这些属性信息随后还能以文本格式导出到文件中。
为什么需要它?想想标题栏(Title Block):每张图纸的标题栏里,客户名、零件名、日期、设计者、比例、图号几乎每次都要填。如果把这些栏目做成属性,那么字体、字高、位置在定义属性和建块时就已全部确定好,使用者插入块时只需要”填空”——补上客户名、零件名、日期等缺失信息即可。属性也常用来做”填空式模板”,例如图纸注释和标题栏,系统管理员还能利用这些信息来追踪文件和图纸。
一句话总结:不用属性,你每次都要手动复制标题栏、逐条改文字,格式还容易跑偏;用了属性,插入块时按提示逐项回答,信息自动落位。
本章完成后,你应能:
- 定义一系列属性(Define a series of attributes)
- 将属性建成块(Block the attributes)
- 把带属性的块插入图纸(Insert the attributes onto a drawing)
- 使用属性对话框(Use the ATTribute DIAlog boxes)
- 创建属性提取表(Create an attribute table)
下面这个标题栏(Figure 14.1)中,所有与当前图纸相关的信息(斜体部分)都是用属性添加的:
| BEACH DESIGNS — COMPUTER AIDED DESIGN SERVICES | |
|---|---|
| CUSTOMER: Skylab Industries | DRAWN BY: B.Challis |
| NAME OF PART: Hook Link | SCALE: 1:500 |
| DATE: March 17 2008 | DRAWING NO.: DFC-1003 |
Command:-INSERT
先看一个带属性标题栏块被插入时的完整命令行过程,体会一下属性是如何”逐条提问”的:
Enter block name or [?]: TITLE
Specify insertion point or [Scale /X/Y/Z/Rotate/PScale/PX/PY/PZ/P Rotate]: 0,0
Enter X scale factor, specify opposite corner, or [Corner/XYZ]: J
Enter Y scale factor <use X scale factor>: J
Specify rotation angle <0>: J (the same as block inserts)
Customer name <Skylab Industries>: J
Name of Part <>: Hook Link
Enter the current date (Month/Day/Year): March 17 2006
Drawn by <B. Challis>: J
Scale <1:5>: J
Drawing no. DFC-### <>: DFC-1003注意:尖括号 <> 里是默认值,例如 <Skylab Industries>。直接按回车(J 表示回车)就接受默认值;只有想改的项才需要输入新内容,如 Hook Link、March 17 2006、DFC-1003。
前面几行(块名、插入点、比例、旋转角)与普通块插入完全一样;从 Customer name 开始,才是属性特有的”填空”提示。
Defining the Attributes
定义属性使用 ATTDEF 命令。以标题栏为例:栏目标题文字(Name、Date、Drawn By 等)应与待填信息的文字使用不同的字体,所以在创建属性定义之前,先加载新文字样式。
定义属性有两条路:
- 命令行方式:
-ATTDEF - 对话框方式:
ATTDEF(Attribute Definition 对话框)

使用 -INSERT 和 -ATTDEF 可以避开对话框,全程命令行操作。
The ATTDEF Command
ATTDEF 命令用来定义一个属性。下面以标题栏中的”日期(Scale 比例同理演示)“为例,从命令行访问 ATTDEF。
- 下拉菜单:Draw 菜单 → Block → Define Attributes
- 命令行等价:
ATTDEF调出对话框;-ATTDEF为命令行版本
Figure 14.2 展示了标题栏的一角:先用普通文字加上 “Scale” 一词来标识该框内的信息,然后用 ATTDEF 命令添加名为 Scale 的属性标签。
Command: -ATTDEF
Current attribute modes -- Invisible-N, Constant-N,
Verify-N, Preset-N
Enter an option to change [Invisible/Constant/Verify/Preset]
<done>: ↓如果希望属性是 Constant(常量)、Invisible(不可见)、Preset(预设)或 Verify(校验),就在这一步改变模式。本例不需要改动,直接回车进入下一步。
第一步:输入属性标签(Tag)。 属性标签是对属性主题的一个单词的概括。这里想让用户填写图纸比例:
Enter attribute tag name: Scale第二步:输入属性提示(Prompt)。 属性提示就是将来真正出现在命令行上的那句话。它负责向使用者索取所需信息(此例是比例),并应提供填写该信息所需的进一步说明:
Enter attribute prompt: Enter scale of drawing第三步:输入默认属性值(Default Value)。 默认值是使用者大多数情况下会采用的值。如果你的图纸大多用 1:50 的比例,那就应把 1:50 设为默认值:
Enter default attribute value: 1:50第四步:把属性放到标题栏上。 到这里属性”说什么”已经确定,接下来确定”放哪里”。ATTDEF 的定位方式与 TEXT 命令完全一样:
Specify start point of text or [Justify/Style]: J
Align/Center/Fit/Middle/Right/TL/TC/TR/ML/MC/MR/BL/BC/BR: R
Right: (pick the right to have your text right justified)
Specify height <0.1800>: .25
Specify rotation angle <0>: .本例选 R(Right),拾取右侧一点,让文字右对齐——填入的具体数值会向左边框靠齐,视觉上更整齐。

标题栏文字采用 Standard 字体定义,比例属性的标签则使用 Italic Complex 字体——这里就是将来填入当前比例的位置。

图 14.2 标题栏一角:文字 “Scale” 与属性标签 Scale 同时显示,标签在属性成块之前一直保持这种显示状态。
Using the Define Attribute Dialog Box
在 Attribute Definition(属性定义)对话框中,可以一次设置上述全部内容:模式(Modes)、标签(Tag)、提示(Prompt)、插入点(Location)和文字样式(Text Style)。
一个交互细节要留意:当选择指定**插入点(Insertion Point)**时,对话框会暂时消失,等你在屏幕上拾取完点后再重新出现,供你继续设置其余项目。

Attribute Definition 对话框:模式、标签、提示、默认值与插入点都在这里一次设好。
注意:对话框中的 Value 框就是”默认值(default value)“,两处叫法不同,含义相同。
初学者最容易踩的坑:使用对话框时,务必给属性指定一个参照点(勾选 Specify On-screen 并在屏幕上拾取点)。否则,你的属性可能落到图纸的任何地方——找不到、改不了。
所有属性定义都输入完毕后,就可以把它们建成块(BLOCK),再插入图纸使用。
Editing Attribute Definitions
如果定义属性时出了错,可以用 CHANGE 命令或 Edit Attribute Definition(编辑属性定义)对话框来修改属性定义。

Edit Attribute Definition 对话框:可在三个输入框中修改标签、提示与默认值。
命令行等价命令有:ED、DDEDIT 或 CHANGE。
DDEDIT和ED会弹出对话框,可修改标签(tag)、提示(prompt)、默认值(default value)等;CHANGE命令功能相同,但不经过对话框。
Command: CHANGE
Select objects: (pick the definition you wish to change)
Select objects:
Command: DDEDIT
<Select a TEXT or ATTDEF object>/Undo: (pick the ATTDEF)Edit Attribute Definition 对话框提供三个输入框,分别用于修改 tag、prompt 和 default value。注意对话框里默认值叫作 Default。

CHANGE 和 DDEDIT 修改的是属性定义(Attribute Definition),而不是已插入的属性块实例。

单击 OK 完成修改。
BLOCKing the Attributes
所有属性定义完成后,必须把它们 BLOCK(建成块)。
关键细节:按照你希望提示出现的先后顺序,依次拾取各个属性定义。如果你用窗口(Window)方式选择,提示出现的顺序可能会反过来——这对”填空”体验影响很大,务必逐个按序拾取。
Inserting the Attributed Blocks
带属性的块建好后,用 INSERT 把它放到图纸上。插入后,这个块实例就包含了属于该次应用的每个属性的具体值。
- 用
-INSERT:信息提示逐条出现在命令行; - 用
INSERT:得到 Insert 对话框; - 还可以用 ATTDIA 系统变量控制插入属性时是否弹出对话框。如果对话框没有出现,把 ATTDIA 打开即可:
Command: ATTDIA
Enter new value for ATTDIA <0>: 1(ATTDIA 设为 1 表示开启对话框,0 表示关闭。)
Changing Attribute Definitions
插入块的过程中,你可能会发现块定义里有错误。此时要修改属性定义,可先用 EXPLODE 把块分解,再用 CHANGE 或 DDEDIT 修改。注意:属性块被 EXPLODE 之后,会退回到标签(tag)显示格式——也就是说,屏幕上重新出现的是 CUSTOMER、DATE 这些标签名,而不是填入的具体值。

EXPLODE 后属性块退回标签格式:左侧是成块前带属性标签的图形,右侧才是插入后带有实例值的块。
| 标签状态(成块前) | |
|---|---|
| CUSTOMER / CUSTOMER | DRAWN BY / DRAWN |
| NAME OF PART / PART | SCALE / SCALE |
| DATE / DATE | DRAWING NO / DRWNO |
图 14.3 左:属性定义(标签状态)
| 实例状态(插入后) | |
|---|---|
| CUSTOMER: Skylab Industries | DRAWN BY: B. Challis |
| NAME OF PART: Hook Link | SCALE: 1:500 |
| DATE: March 17 2008 | DRAWING NO: DFC-1003 |
图 14.3 右:带属性块实例(填入实例值后)
插入后再想修改任何已输入的默认值,同样是 EXPLODE 后用 CHANGE 或 DDEDIT。
给对象附加属性时,可以通过在 ATTDEF 命令中设置 Invisible 模式让属性普遍不可见;也可以事后再用 ATTDISP 命令控制其可见性。
The ATTDISP Command
ATTDISP 控制属性的显示状态。该命令只在命令行可用,没有下拉菜单入口。
Command: ATTDISP
Enter attribute visibility setting
[Normal/ON/OFF] <Normal>: OFF其中:
- ON = 所有属性可见
- OFF = 所有属性不可见
- Normal = 正常可见性,即按每个属性各自的 Invisible 设置来显示
Attribute Modes
如果你不想插入带属性块之后再手动关闭显示,可以直接把属性模式设为 Invisible。四种属性模式如下:
- INVISIBLE(不可见):使属性全部不显示在图面上
- CONSTANT(常量):使属性不可编辑。例如”总裁的办公桌永远是总裁的办公桌”——即使总裁换了人,这个属性值也不该变
- VERIFY(校验):在信息真正加入图纸之前,让你最后再核对一遍所输入的内容
- PRESET(预设):用于创建始终具有相同值的属性,插入时不再就此提问
属性既可用于标题栏和图纸注释,也可用于需要把信息导出为价目表或材料表的场合。所有属性的定义方式都相同,提取(extraction)则在所有属性块插入完成之后进行。
使用场合与可见性的经验法则:
- 属性用于图纸注释时,几乎总是可见的;
- 属性用于材料表、零件清单或明细表时,通常在图纸上不可见,但会显示在 Attribute Extract Table(属性提取表)中。
属性总是与块关联在一起。想做一个带属性的块,正确顺序是:先创建最终块的几何图形(如果有的话),再添加属性。标题栏既有图线、文字又有属性;而像”提取房间颜色”这类用途的属性块,则完全不需要几何图形。
本章末尾有三个教程(从第 268 页起)。属性的概念对没有计算机背景的人来说相对较难,唯一掌握的办法就是练习——把三个教程都做一遍,你才能真正理解属性的工作方式。
Editing Attributes with ATTEDIT
除了修改”属性定义”,还可以修改已插入块实例中的属性值。屏幕会先提示你选择要编辑的块,然后进入编辑界面。

Enhanced Attribute Editor:第一个选项卡改属性值,第二个改文字的大小与品质,第三个改特性(图层、颜色、线型)。
你可以在这个界面的第一个选项卡上修改属性的值,在下一个选项卡上修改文字的大小和品质,在最后一个选项卡上修改特性(图层、颜色、线型)。改完单击 OK。

图 14.4 ATTEDIT 之前的属性值(多个 JIGLEG,材质均为 Steel)。

ATTEDIT 全局修改示例:把若干属性的值从 Steel 统一改成 Bronze。
命令行版本 -ATTEDIT 支持一次改一批(全局编辑):
Command: -ATTEDIT
Edit attributes one at a time? [Yes/No] <Y>: N
Performing global editing of attribute values
Edit only attributes visible on screen? [Yes/No] <Y>: J
Enter block name specification <*>: JIGLEG
Enter attribute tag specification <*>: Material
Enter attribute value specification <*>: J
Select Attributes: (pick 1 pick 2)
Enter string to change: Steel
Enter new string value: BronzeFigure 14.4 展示的就是对多个属性的一次全局修改。值是区分大小写的:输入 Steel 有效,STEEL 无效。务必把查找字符串打得和原值一模一样,否则替换不会发生。
如果需要改动属性块上的大量信息,还有一条路:EXPLODE 分解块 → 重新定义 → 用同一个块名重新成块。这样,图纸中该块的所有实例都会被更新。
Data Extraction
数据都正确录入之后,就可以用 ATTEXT 命令把文件输出为电子表格或材料清单。这个操作不会以任何方式改动图纸,只是把属性数据送到 Excel、Lotus 1-2-3 或你惯用的文字处理软件中。你也可以不用导出,而是用 EATTEXT 把数据直接写成图纸上的表格。
ATTEXT and Template Files
要用 ATTEXT 提取数据,必须先创建一个 .txt 模板文件;用 Wordpad(写字板)或 Notepad(记事本)最方便。模板文件大致长这样:
PARTNO C008000
DESCRIPT C015000
MATERIAL C008000
SIZE C008000
PRICE C008000模板文件的格式是”标签 + 代码”,每行一条:

模板文件逐行书写”标签 + 代码”,如 PARTNO C008000,代码规定了字段类型、宽度与小数位。
以 PARTNO C008000 为例,代码三段含义如下:
- PARTNO = TAG(标签名,与属性定义中的标签对应)
- C = character(字符型字段)
- 008 = 该字段最多 8 个字符(如夹具名称 C008000)
- 000 = 小数位数(字符型字段不需要小数位)
模板文件建好之后,调用 ATTEXT 命令,会得到 Attribute Extraction(属性提取)对话框。其中:模板文件就是你刚建的那个 .txt;**提取文件(extract file)**是你要生成的新文件。提取完成后,可用 Wordpad 或 Notepad 查看提取文件的内容。
EATTEXT
如果你想要的是把属性汇总成一张直接显示在屏幕上的清单,用 EATTEXT 命令。它会一步步引导你完成整个提取过程,并把属性数据放到屏幕上。这是 Release 2006 的新命令;到 Release 2008 它变得复杂了不少——只要在提示时把除属性以外的对象引用全部剔除,它就能工作得很好。
过程中会提示你输入表格标题等内容,本例选择了 “Jig Assembly” 作为标题。Figure 14.5 展示了对一张相当大的图纸的提取结果。清单可以按任意一个标签来编号排序。
| Quantity | DESCRIPT | MATERIAL | Name | PARTNO | PRICE | PRODNO | SIZE |
|---|---|---|---|---|---|---|---|
| 1 | Jig Leg | Bronze | J1 | JIG135 | 5.26 | .60 X 1.25 | |
| 1 | brass | jigleg | none | ||||
| 2 | Jig Leg | Steel | J1 | JIG135 | 5.26 | .60 X 1.25 | |
| 4 | 1 | ||||||
| 4 | Jig Leg | Bronze | J1 | JIG125 | 5.26 | .60 X 1.25 | |
| 4 | Stand. Bushing | Steel | B1 | BU135 | 3.29 | .125 X .55 | |
| 12 | Stand. Bushing | Steel | B1 | BU125 | 3.29 | .125 X .55 | |
| 19 | Jig Leg | Steel | J1 | JIG125 | 5.26 | .60 X 1.25 | |
| 31 | 2 |
图 14.5 属性提取表:数量、描述、材料、零件号、价格、尺寸等一应俱全。
Tutorial 14a: Creating an Attributed Title Block
下面动手做一个带属性的标题栏。目标:绘制标准标题栏图形、为每个栏目定义属性、成块、保存为 Title1、在新文件中测试插入。
Step 1:用 LINE 和 PLINE 绘制标准标题栏的图框设计(公制或英制尺寸均可),用 TEXT 为每个区域输入栏目标题。
| 6.00 [152] | |
|---|---|
| 3.00 [76] | |
| CUSTOMER | DRAWN BY: |
| NAME OF PART: | SCALE 0.10 [2] |
| DATE: | DRAWING NO: |
两个要点:
- 标题栏必须放在名为 title 的图层上。如果放在 Layer 0 上,它插入到其他文件时会”继承”接收文件当前图层的线型、图层和颜色——这不是你想要的行为。
- 接下来为日期添加属性定义。

标题栏图框完成后,在 DATE 栏目处添加日期的属性定义。
Step 2:先用 STYLE 命令为属性设置一个新的文字样式(与栏目标题的字体区分开),然后用命令行版的 ATTDEF 定义日期属性:
Command: STYLE (set a new text style with the name attributes using a different font)
Command: -ATTDEF
Current attribute modes: Invisible-N Constant-N Verify-V Preset-P
Enter an option to change [Invisible/Constant/Verify/Preset] <done>: J
Enter attribute tag name: Date
Enter attribute prompt: Enter today's date
Enter default attribute value:
Justify/Style/<start point>: J
Align/Center/Fit/Middle/Right/TL/TC/TR/ML/MC/MR/BL/BC/BR: R
Right point: (pick 1)
Specify height <5.0000>: .15
Specify rotation angle <0>: J注意这里日期的默认值留空——日期天天变,留空反而合理;而对齐选 R、字高 .15。
Step 3:接着用 Attribute Definition 对话框输入设计者(DRAWN BY)的属性。

用对话框定义 DRAWN BY 属性,默认值填你自己的名字。
默认值填你自己的名字即可。
初学者易错点再现:如果你的属性没有落在想要的位置,多半是插入点(Insertion Point)区域没有设置对。用 Undo 撤销这条命令,重新来一遍——记得先在对话框中选 Insertion point,再到屏幕上拾取插入点。
Step 4:其余栏目(CUSTOMER、NAME OF PART、SCALE、DRAWING NO)的属性,用命令行或对话框方式任选其一逐一定义,让每个区域都有一个属性标签。全部就位后,标题栏就可以插入到其他图纸中使用了。
Step 5:标题栏是要在很多不同图纸上反复使用的,所以把它保存成一个独立文件,命名为 Title1,检验它是否可用。务必清楚文件要存到哪个目录,拿不准就存到 A: 驱动器或 U 盘。此时标题栏上显示的还是各属性的标签:
| CUSTOMER / CUSTOMER | DRAWN BY / DRAWN |
|---|---|
| NAME OF PART / PART | SCALE / SCALE |
| DATE / DATE | DRAWING NO / DRWNO |
Command: SAVE
存为 TITLE1:块定义状态下显示的全是属性标签(CUSTOMER、DATE、DRAWN、SCALE、PART、DRWNO)。
Step 6:打开一个新文件测试这个块。INSERT 用对话框或命令行形式都行,同时保持 Title1 文件处于打开状态。
Command: New
Command: -INSERT
Enter block name or [?]: TITLE
Specify insertion point or [Scale/X.../PRotate]: 0,0
Enter X scale factor, specify opposite corner, or [Corner/XYZ]: ↓
Enter Y scale factor <use X scale factor>: ↓
Specify rotation angle <0>: ↓
Customer name <Skylab Industries>: ↓
Name of Part <>: Hook Link
Enter the current date (DD/MM/YY): 17/03/06
Drawn by <S.R.Kyles>: Bill Challis
Scale <1:50>: ↓
Drawing no. DFC-### <>: DFC-1003ATTDIA 系统变量打开时,会弹出对话框让你一览所有属性。想改默认值,直接在上面键入覆盖即可。
按如下方式打开 ATTDIA:
Command: ATTDIA
Enter new value for ATTDIA <0>: 1
Click OK to place them on screen.单击 OK,属性值即落到屏幕上。
Step 7:检验属性块好不好用的一个好办法:请一位同学在你不在场的情况下插入这个块并填写属性明细。如果他/她对提示感到困惑,就回去修改提示语。你现在可能觉得自己的提示很清楚,但别人看不懂,往往意味着几天后你自己也看不懂了。

通过 Properties(特性)面板检查并修改已插入实例的属性。

测试插入后发现的错误值:DRAWN BY 等栏目需要回到 Title1 文件里修正。
回到 Title1 文件,用 CHANGE、DDEDIT 或左侧图示的 Properties 菜单做必要的修改。修改后的标题栏应类似:
| CUSTOMER: Skylab Industries | DRAWN BY: Brian Crippin |
|---|---|
| NAME OF PART: Hook Link | SCALE: 1:50 |
| DATE: 17/03/06 | DRAWING NO: DFC - 1003 |
还有一类问题 CHANGE 和 DDEDIT 都管不了:属性文字的对齐方式(justification)。比如下图中 Skylab Industries 和 DFC - 1003 的对齐要调整时,请使用 Modify 菜单下的 **Properties(特性)**选项栏,或者用命令:
Command: -justifytext
Select objects: (pick the text)
Select objects:
用 -justifytext 或 Properties 调整属性文字的对齐,这类修改 CHANGE/DDEDIT 无能为力。
改完之后,把文件再保存一次并重新插入。
Step 8:如果你已经更新文件、重新保存、重新插入,问题却依然存在——那就删掉 Title1 块,再用 PURGE 把它从内存中清除。有时即使你更新了文件,插入时它调回的仍是旧文件而不是新文件。PURGE 是清理文件中无用数据的利器。
Command: PURGE
PURGE 对话框:清除图纸中未被引用的块等残留数据,确保重新插入的是最新版本。
Tutorial 14b: Attributes for a Bill of Materials
本教程制作一个带衬套(bushing)和夹具支腿(jigleg)的夹具(jig)。在制造环境中,衬套这类标准件通常是外购而非现场加工的,以节省时间和金钱。如果你为这种部件出图,还可以在块插入图纸之前,把订购信息作为属性一并存进块里——这正是属性服务于材料表(BOM)的典型用法。
Step 1:在屏幕的不同区域用英制尺寸画出这几个非常简单的零件。给 bushing 和 jigleg 分别建立图层。

jigleg(夹具支腿)零件图形。

bushing(衬套)零件图形。

两个零件分别绘制在屏幕不同区域,并放在各自独立的图层上。
Step 2:如果要为这些零件生成材料表,信息可以包括:
- Part Number(零件号)
- Description(描述)
- Material(材料)
- Size(尺寸)
- Price(价格)
之后再加上数量并下单采购。上述信息将作为属性添加到块上,先成块,之后再提取。

图上标的这些词是属性标签(PARTNO、DESCRIPT、MATERIAL、SIZE、PRICE),不是文字——本练习不需要 TEXT 文字。
注意:图中这些词是属性标签,不是 TEXT 文字,本练习不需要输入任何文字。
为零件添加属性,使用下列默认值:
| Tag | Prompt | Default Value |
|---|---|---|
| Partno | Enter Part Number | JIG125 |
| Descript | Enter Part Description | Jigleg |
| Material | Enter Material | Steel |
| Size | Enter Part Size | .60 × 1.25 |
| Price | Enter Current Price | 5.26 |
jig(夹具本体)的信息用 -ATTDEF 命令输入;bushing 则用 Attribute Definition 对话框输入。
Command: -ATTDEF
Current attribute modes: Invisible-N Constant-N Verify-V Preset-P
Enter an option to change [Invisible/Constant/Verify/Preset] <done>: J
Enter attribute tag name: PARTNO
Enter attribute prompt: Enter Part Number
Enter default attribute value: JIG125
Justify/Style/<start point>: (pick a spot beside the part)
Specify height <5.0000>: .03
Specify rotation angle <0>: J输入下一条属性时有个省力技巧:在文字对齐(justification)一行直接按回车,新的属性定义会自动与上一条已输入的定义对齐;用对话框的话,直接点 OK 也有同样效果。这样各条属性定义能排得整整齐齐。
Command: -ATTDEF
Current attribute modes: Invisible-N ... Preset-P
Enter an option to change [Invisible.../Preset] <done>: J
Enter attribute tag name: DESCRIPT
Enter attribute prompt: Enter Part Description
Enter default attribute value: JIGLEG
Justify/Style/<start point>: J
Command: J
ATTDEF
Current attribute modes: Invisible-N ... Preset-P
Enter an option to change [Invisible.../Preset] <done>: J
Enter attribute tag: MATERIAL
Enter attribute prompt: Enter Material
Enter default attribute value: Steel
Justify/Style/<start point>: J继续把最后两条(SIZE、PRICE)定义完,五条属性就全部齐了——纯粹是打字的事。
两个提速技巧再强调一遍:在 Justify 提示处按回车让属性与上一条定义对齐;重复调用上一条命令(回车重复 -ATTDEF)可以让属性定义输入更快。
Step 3:所有信息添加完毕后,把零件建成一个新名字的块,便于识别它是一个带属性的块:
Command: -BLOCK
Block name (or?): ATTJIGLG
Insertion base point: CENTer of (pick 1)
Select objects: (pick 2, 3)记住:成块之后图形会从屏幕上消失,这是正常现象。

-BLOCK 完成,块连同五条属性一起被打包,原图形随即从屏幕上消失。
Step 4:对 bushing 做同样的操作,这次用对话框。数值如下:
| Tag | Prompt | Default Value |
|---|---|---|
| Partno | Enter Part Number | BU125 |
| Descript | Enter Part Description | Stand. Bushing |
| Material | Enter Material | Steel |
| Size | Enter Part Size | .125 × .55 |
| Price | Enter Current Price | 3.29 |
用对话框的方式:键入 ATTDEF,或在 Draw 菜单 → Block → Define Attributes。

对话框方式定义衬套属性:输入第一条定义后,可点”Align under previous definition”按钮让后续属性定义自动对齐。
第一条定义输入之后,点 Align under previous definition 按钮即可让属性定义自动对齐。
bushing 部件完成后应如下图所示。用 BLOCK 命令的对话框版本,把几何图形和属性一起存为块。
这里有一个最重要的注意事项:一定要拾取插入基点。对话框方式不会提示你指定基点,所以人们经常忘记点它。若落回默认的 0,0,之后要把衬套装配到零件上会非常困难。

用 BLOCK 对话框建 bushing 块:务必手动拾取插入基点,别让它落在默认的 0,0。
装配与插入:用 ZOOM All 把原始文件调回屏幕。在零件每个角距边缘 0.50 处添加四个圆作为 jigleg 的安装孔;再在中心线圆内侧的 **QUADRant(象限点)**处添加四个圆。然后把四个 jigleg 和四个 bushing 插入到文件中。

夹具装配图:四个 jigleg 与四个 bushing 插入到位,每处插入时都会依次弹出属性填写提示。
Command: -INSERT
Block name (or?): ATTJIGLG
Insertion point: CEN of (pick 1)
X scale factor <1>/Corner/XYZ:
Y scale factor (default = X):
Rotation angle <0>:
Enter Part Number <JIG125>:
Enter Part Description <Jigleg>:
Enter Material <Steel>:要把四个 jigleg 全部放好,你可以再插入三次,也可以直接复制已有的块——复制同样会带着属性走,两种做法都可以。
Step 7:插入最后四个零件(带属性的衬套)
这一步要做的事情很明确:用 INSERT 命令把最后四个”衬套(bushing)“零件插入到装配图中。因为前面已经给这些块定义好了属性,插入时 AutoCAD 会弹出属性对话框(Attribute Dialog box),按提示逐个输入零件信息即可。
需要注意的关键点:每个衬套插入时都要旋转 90 度,这样它们才能与图中其他零件的方向对齐、装配到位。
命令输入:
Command: INSERT

图:INSERT 命令插入衬套块并填写属性对话框
四个衬套块全部插入完成后,图形应该呈现如下效果:

图:四个衬套全部插入后的装配图效果
这里有一个初学者容易忽略的细节:插入时旋转了图形,属性文字也会跟着一起旋转。对本练习来说这无所谓,因为属性并不会出现在最终的成图里。但要记住一条实用经验:如果是画电气图,属性必须保持可见、可读,这种情况下应该为两个方向分别制作带属性的块;而在机械或建筑图纸中,属性通常只是数据载体,一般不会被打印或 plotted 出来。
Step 8:关闭属性显示
如果这是一张要交出去的图纸,绝不能让屏幕上满屏都是属性标签。所以这一步用 ATTDISP 命令把所有属性暂时”关掉”:
Command: ATTDISP
Normal/On/Off <current value>: OFF
三个选项的含义:
- Normal(普通):按属性定义时的可见性显示;
- On(开):所有属性强制可见;
- Off(关):所有属性强制不可见。
选 OFF 后,图面立刻恢复”干净”状态,但属性数据仍然保存在块里,随时可以再打开或提取。
Step 9:用 EATTEXT 生成材料表
最后一步,把图中所有带属性的零件汇总成一张 Bill of Materials(材料明细表)。使用的命令是 EATTEXT(提取属性向导),跟着对话框菜单一步步走即可:
Command: EATTEXT
这个命令会自动扫描图中所有带属性的块,把每个块的属性值收集起来,输出成表格。这正是”给零件加属性”的最终目的——让图形数据可以被自动统计。
Tutorial(基础部分):给基础(Footings)添加属性并生成清单
接下来是另一段完整的练习,用建筑结构里的”基础(Footing)“再走一遍属性工作流。
Step 1:准备图形并定义属性
打开 Tutorial 12b,然后 另存为 Tutorial 14c(不要在原文件上直接做)。在网格布置区之外,分别复制出一个 Footing A 和一个 Footing B 作为”样本”。

图:网格区外放置 Footing A 与 Footing B 样本
然后用 ATTDEF 命令为两个基础分别定义属性,属性默认值按下表设置。
Footing A 的属性定义:
| Tag(标签) | Prompt(提示) | Default Value(默认值) |
|---|---|---|
| Name | Enter Footing Designation | Footing A |
| Size | Enter Size | 4000×2000×2300 |
| Volume | Enter Volume | 7 cubic meters |
| Pins | Enter Pin description | 4 × 250 projection |
Footing B 的属性定义:
| Tag(标签) | Prompt(提示) | Default Value(默认值) |
|---|---|---|
| Name | Enter Footing Designation | Footing B |
| Size | Enter Size | 2000×1000×1300 |
| Volume | Enter Volume | 3.5 cubic meters |
| Pins | Enter Pin description | 4 × 125 projection |
提醒:定义属性时,Tag 是数据的字段名,Prompt 是插入时命令行的提问语,Default Value 是直接回车时采用的值。四个属性都定义好之后,还要把它们和图形一起做成块(下一步)。
Step 2:成块并插入网格
把定义好属性的基础图形分别做成块,然后按照原先的布置方式,把它们插回到网格布局中的各个位置。插入时属性对话框会弹出,直接回车接受默认值即可(各位置的基础型号已经通过默认值写好了)。
Step 3:关闭属性显示
和前面一样,用 ATTDISP 把属性显示关掉:
Command: ATTDISP
Normal/On/Off <current value>: OFF
Step 4:用 EATTEXT 生成基础清单
用 EATTEXT 命令从图中已放置的零件上提取一份基础清单。操作要点:
- 打开 EATTEXT 对话框;
- 每一页都点 Next 继续;
- 在要求输入标题的位置填上 Footings;
- 如果用的是 Release 2008 版本,需要在输出表中手工删掉与属性无关的多余信息列。
最终得到的清单应类似下表(注意数量与型号的对应关系):
| Footings | |||||
|---|---|---|---|---|---|
| Quantity | Name | NAME(1) | PINS | SIZE | VOLUME |
| 6 | footingb | Footing A | 4 × 250 projection | 4000 × 2000 × 2300 | 7 cubic meters |
| 16 | footinga | Footing A | 4 × 250 projection | 4000 × 2000 × 2300 | 7 cubic meters |
(表中行数据以软件实际提取结果为准,重点体会”插入了多少个块,清单就统计多少条”这一机制。)
Exercise 14 Architectural(建筑习题)
本习题综合练习”属性定义 → 成块 → 插入 → 提取清单”的完整流程,请按以下要求依次完成:
-
制作带属性的标题栏(title block):按图中样式绘制标题栏,并按下方表格定义属性(Tag 如 TITLE、DRAWN BY、SCALE、REV、PROJECT、CHECKED BY、DATE、DRW.# 等),完成后保存文件。
属性位置 Tag Title TITLE Drawn By DRAWN BY Scale SCALE Revision REV Project PROJECT Checked By CHECKED BY Date DATE Drw # DRW.# -
绘制两种样例窗(sample windows):按图示绘制两个窗户,为它们添加属性(如 Name、Cost、Finish、ProdNo、Type 等),然后 BLOCK 成块。
-
绘制简单平面布置图:按图示画出布置简图,将带属性的窗户块 INSERT 到图中各个位置。
-
生成窗户表(window schedule):用 EATTEXT 提取窗户清单,效果应类似下表;再把带属性的标题栏块插入图中,填写完整。
Second Floor Window Schedule Quantity COST FINISH Name PRODNO TYPE 3 875.00 walnut window1 pella60a double glazed 10 450.00 walnut window1 pella36a double glazed 标题栏填写示例:
项目 值 Title WINDOW PLAN Project WESTOVER HOUSE Drawn By JAMIE JONES Checked By WENDY BENEDETTI Scale NOTED Date 01/04/08 Revision 5 Drw # A2

图:Exercise 14 建筑习题——标题栏样式、样例窗与平面布置示意
Exercise 14 Challenger(挑战习题)
这是一个进阶挑战,把属性技术应用到家具布置上:
- 绘制图中所示的书桌(desks),具体尺寸见教材第 67 页;
- 按图示添加属性(如名称、价格、编号等),然后 BLOCK 成块;
- 布置房间:用这些桌子块完成房间布局图;
- 生成家具表(Furniture Schedule):使用 EATTEXT 命令从布置图中提取家具清单。

图:Exercise 14 Challenger——书桌样式、属性标注与房间布置示意
✅ 自测一下
- 本章中 OSNAP 与 OTRACK 的区别是什么?
- 为什么图层(LAYER)是 AutoCAD 组织图形的核心机制?
- 相对坐标与极坐标输入分别在什么场景下最方便?
- WBLOCK 与 BLOCK 的本质差别是什么?
- Paper Space(图纸空间)解决了模型空间的什么痛点?