下载首页 | 资讯中心 | 文章分类 | 最近更新 | 排 行 榜 |
文章搜索: 分类 关键字
您的位置:首页软件教程AutoCADAutoCAD资料教程 → 在AutoCAD中自动生成明细表
在AutoCAD中自动生成明细表
日期:2007-9-9 22:08:47 人气:61     [ ]
在利用计算机进行机械绘图的领域里,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中的各个属性。

程序框图如图4所示。

图4 程序框图

下面给出实现上述功能的程序清单

defun C:mxb(/scmde p f1 bk a m1 m2 m3 m4 m5 m6 m7 m8 p1)

(setq scmde (getvar “cmdecho"))

(setvar “cmdecho" 0)

(setq p (getpoint “\n Please input a point:"))

(setq f1 (getstring “\n Please input file name:"))

(setq f (open f1 “r"))

(print “\n Please wait ...")

(setq bk “mxb")

(command “insert" bk p 1 1 0)

(setq bk “mxb1")

(setq p1 (list (car p) (+ (cadr p) 8)))

(while (setq a (read-line f ))

(setq a (strcat “(“a ")"))

(setq a (read a))

(setq m1 (nth 0 a))

(setq m1 (nth 0 a))

(setq m2 (nth 1 a))

(setq m3 (nth 2 a))

(setq m4 (nth 3 a))

(setq m5 (nth 4 a))

(setq m6 (nth 5 a))

(setq m7 (nth 6 a))

(setq m8 (nth 7 a))

(command “insert" bk p1 “" “" “" m1 m2 m3 m4 m5 m6 m7 m8)

(setq p1 (list (car p1) (+ 8 (cadr p1))))

)

(setvar “comdecho" scmde)

(close f)

(print)

)

程序的安装与使用

1.安装程序

可以选择以下三种装载方式的任意一种

●在AutoCAD环境下,将MXB.LSP拷贝至当前目录,再执行LOAD“MXB”),即可装载MXB.LSP。

●先将MXB.LSP拷贝至\ACAD\SUPPORT子目录下,再在\ACAD\SUPPORT\ACAD.LSP中加入下面一条语句

AUTOLOAD “MXB”“MXB”))

即可实现启动AutoCAD时自动装载该程序。

●先将MXB.LSP拷贝至\ACAD\SUPPORT子目录下,再在\ACAD\SUPPORT\子目录下的菜单文件ACAD.MNU中的合适位置处加上下面一条语句

[生成明细表]^C^C(LOAD “C:/ACAD/SUPPORT/MXB.LSP")MXB

即可直接在菜单中操作生成明细表。

2.程序的使用

当用户装载该程序并运行之后,程序首先出现提示信息

Please input a point:

用户给出一个定位点后,程序继续提示

Please input file name:

再输入明细表数据文件名后,程序继续运行,并提示

Please wait...

程序运行结束后就可以生成一个如图1所示的明细表。

我有问题,我要进入论坛
出处:本站原创 作者:佚名
 热点文章
·如何定制自己的个性化..
·proe超级技巧
·怎样学好PRO/E软件?
·PRO/E COFNIG文件设置..
·PROE将默认英制转换成..
·PRO/E分模经验总结
·Pro/E 各种曲线方程集..
·Pro/E 各种曲线方程集..
·Pro/E 各种曲线方程集..
·Pro/E 各种曲线方程集..
·Pro/E 各种曲线方程集..
·旧版ProE如何读取野火..
·Pro/E如何做两条c2(曲..
·Pro/E 2001下一个阵列..
·一款钣金产品的结构设..
 推荐文章
·翻砂铸造的特点及其工..
·整编SolidWorks应用技..
·模具选材原则
·如何解决中文Pro/E工程..
·Pro/ENGINEER 中的文本..
·Pro/ENGINEER Wildfir..
·模型从proe->ansys..
·用行为建模优化设计的..
·簡單的Top-Down設計實..
·适合初学者的基础练习..
·ProE不传之秘笈(高级技..
·PRO/E 关于零件精度的..
·Pro/E的scan-tools工具..
·关系式的世界
·关系式教程