文档详情

在AutoCAD中自动生成明细表.pdf

发布:2017-05-21约2.43千字共3页下载文档
文本预览下载声明
在AutoCAD 中自动生成明细表 本文通过实例介绍如何在AutoCAD 系统下自动生明细表的方法。 本文例子中的明细表格式如图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 所示的明细表表头。 表头实际上是一个图形文件,本文设定该文件名为MXB.DWG ,然后用AutoCAD 命令建立一个如图3 所 示的图块,设其文件名为MXB1.DWG ,图3 中M1~M8 均为属性名。 当用户向表中插入该块时,系统会向用户询问属性值,此时用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 所示。 下面给出实现上述功能的程序清单: (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 中加
显示全部
相似文档