在AutoCAD中自动生成明细表

本文通过实例介绍如何在AutoCAD系统下自动生明细表的方法。 

本文例子中的明细表格式如图1所示。 

图1

实现方法 

1. 建立明细表数据文件 

首先,把明细表的数据信息,用文字编辑器按如下格式写入磁盘文件MXB.TXT中,作为明细表数据文件。 

“1”“35.1”“气缸透盖”“1”“ZG35”“”“”“” 

“2”“35.2”“气缸体”“1”“35”“”“”“” 

“3”“35.3”“螺塞”“2”“A3F”“”“”“” 

“4”“GB6170-86”“螺母M10”“12”“A3F”“”“”“” 

“5”“35.4”“压盖”“1”“TH200”“”“”“” 

…… 

然后用AutoLisp的READ-LINE函数提取有关数据信息,并把该数据信息赋给表格图块属性。 

注意:各字符串要加双引号,空字符串引号“”不可省略,以便AutoLisp识别。 

2.建立明细表格式图块 

通常,一个明细表是由表头和表体两部分组成。表头是固定的,因此可以用AutoCAD命令生成一个固定的表头,并把它作为一个图块存入磁盘。 

假设要得到如图1所示的明细表,则先做一个如图2所示的明细表表头。 

图2

表头实际上是一个图形文件,本文设定该文件名为MXB.DWG,然后用AutoCAD命令建立一个如图3所示的图块,设其文件名为MXB1.DWG,图3中M1~M8均为属性名。 

图3

当用户向表中插入该块时,系统会向用户询问属性值,此时用AutoLisp程序将上面建立的明细表数据文件中的数据分别赋给各个属性。属性的定义是用AutoCAD命令ATTDEF完成的。

编制程序 

首先,用AutoLisp的I/O函数READ-LINE读入数据文件MXB.TXT,再用字符串连接函数STRCAT给文件的每一行加上括号,此时数据类型为字符串(STR)。然后,再利用READ函数把字符串转换成一个表(LIST),以方便AutoLisp对表中的每一项进行各种操作。最后,用AutoLisp的COMMAND函数调用INSERT命令,先将图块MXB.DWG插入表中,再将MXB1.DWG插入表中,用NTH函数将前面AutoLisp读入的数据中各项信息分别赋给MXB1.DWG中的各个属性。 

转载至:http://www.cadzj.com/n/300.html

此条目发表在CAD技巧分类目录。将固定链接加入收藏夹。

发表评论