分享好友 数控技术首页 数控技术分类 切换频道

在AutoCAD中自动生成明细表

2019-06-11 00:00370

本文通过实例介绍如何在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拷贝至ACADSUPPORT子目录下,再在ACADSUPPORTACAD.LSP中加入下面一条语句: 

(AUTOLOAD “MXB”(“MXB”)) 

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

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

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

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

2.程序的使用 

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

Please input a point: 

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

Please input file name: 

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

Please wait... 

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

举报
收藏 0
打赏 0
轻松提高数控机床精度
随着我国经济的飞速发展,数控机床作为新一代工作母机,在机械制造中已得到广泛的应用,精密加工技术的迅速发展和零件加工精度的

0评论2025-01-04312

加工中心刀具长度补偿怎么用?
在数控加工中,刀具长度补偿是一种重要的措施,用于消除机床变形、热变形等因素引起的误差,保证加工精度,从而提高培训效率,减

0评论2024-12-18400

加工中心主轴定位角度怎么调?
  在数控加工领域,加工中心主轴的定位角度是影响加工精度和效率的重要因素之一。正确调整主轴的定位角度可以提高加工质量,减

0评论2024-12-11496

简述机器人加装电主轴就选Kasite 4060ER-S的理由
  近年来,随着科技的不断发展,机器人作业已经渗透到各个领域,尤其在工业制造领域,更加随处可见。高精密切割、铣削、雕刻、

0评论2024-05-20707

机器人主轴怎么选?Kasite高速电主轴满足你的需求
  机器人发展到现在越来越受到人们的欢迎和重视,现在很多传统行业都在生产作业中引入了工业机器人,随着机器人的改进和优化,

0评论2023-10-231208

机械臂加装2.2KW大力矩电主轴,就选MSIY-80电主轴
机械臂想加装大力矩电主轴,用于铸钢等硬质材料去毛刺,铣削等加工,可以考虑MSIY-80电主轴,外径80mm,重量4.8公斤,可搭配轴向或径向浮动刀柄配套使用。

0评论2023-08-261203

每天早上打开数控机床时有没有必要热机?
工厂使用精密数控机床(加工中心、电火花、慢走丝等机床)进行高精密加工,你是否有这样的经验:每天早上开机进行加工,首件的加

0评论2023-08-151093