在AutoCAD中自动生成明细表
详细内容
本文通过实例介绍如何在AutoCAD系统下自动生明细表的方法。
本文例子中的明细表格式如图1所示。
图2
表头实际上是一个图形文件,本文设定该文件名为MXB.DWG,然后用AutoCAD命令建立一个如图3所示的图块,设其文件名为MXB1.DWG,图3中M1~M8均为属性名。
图4
下面给出实现上述功能的程序清单:
(defunC:mxb(/scmdepf1bkam1m2m3m4m5m6m7m8p1)
(setqscmde(getvar"cmdecho"))
(setvar"cmdecho"0)
(setqp(getpoint"\nPleaseinputapoint:"))
(setqf1(getstring"\nPleaseinputfilename:"))
(setqf(openf1"r"))
(print"\nPleasewait...")
(setqbk"mxb")
(mand"insert"bkp110)
(setqbk"mxb1")
(setqp1(list(carp)(+(cadrp)8)))
(while(setqa(read-linef))
(setqa(strcat"("a")"))
(setqa(reada))
(setqm1(nth0a))
(setqm1(nth0a))
(setqm2(nth1a))
(setqm3(nth2a))
(setqm4(nth3a))
(setqm5(nth4a))
(setqm6(nth5a))
(setqm7(nth6a))
(setqm8(nth7a))
(mand"insert"bkp1""""""m1m2m3m4m5m6m7m8)
(setqp1(list(carp1)(+8(cadrp1))))
)
(setvar"decho"scmde)
(closef)
(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.程序的使用
当用户装载该程序并运行之后,程序首先出现提示信息:
Pleaseinputapoint:
用户给出一个定位点后,程序继续提示:
Pleaseinputfilename:
再输入明细表数据文件名后,程序继续运行,并提示:
Pleasewait...
程序运行结束后就可以生成一个如图1所示的明细表。