本文通過實(shí)例介紹如何在AutoCAD系統(tǒng)下自動生明細(xì)表的方法。
本文例子中的明細(xì)表格式如圖1所示。
圖1
實(shí)現(xiàn)方法
1. 建立明細(xì)表數(shù)據(jù)文件
首先,把明細(xì)表的數(shù)據(jù)信息,用文字編輯器按如下格式寫入磁盤文件MXB.TXT中,作為明細(xì)表數(shù)據(jù)文件。
“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函數(shù)提取有關(guān)數(shù)據(jù)信息,并把該數(shù)據(jù)信息賦給表格圖塊屬性。
注意:各字符串要加雙引號,空字符串引號“”不可省略,以便AutoLisp識別。
2.建立明細(xì)表格式圖塊
通常,一個(gè)明細(xì)表是由表頭和表體兩部分組成。表頭是固定的,因此可以用AutoCAD命令生成一個(gè)固定的表頭,并把它作為一個(gè)圖塊存入磁盤。
假設(shè)要得到如圖1所示的明細(xì)表,則先做一個(gè)如圖2所示的明細(xì)表表頭。
圖2
表頭實(shí)際上是一個(gè)圖形文件,本文設(shè)定該文件名為MXB.DWG,然后用AutoCAD命令建立一個(gè)如圖3所示的圖塊,設(shè)其文件名為MXB1.DWG,圖3中M1~M8均為屬性名。
圖3
當(dāng)用戶向表中插入該塊時(shí),系統(tǒng)會向用戶詢問屬性值,此時(shí)用AutoLisp程序?qū)⑸厦娼⒌拿骷?xì)表數(shù)據(jù)文件中的數(shù)據(jù)分別賦給各個(gè)屬性。屬性的定義是用AutoCAD命令A(yù)TTDEF完成的。
編制程序
首先,用AutoLisp的I/O函數(shù)READ-LINE讀入數(shù)據(jù)文件MXB.TXT,再用字符串連接函數(shù)STRCAT給文件的每一行加上括號,此時(shí)數(shù)據(jù)類型為字符串(STR)。然后,再利用READ函數(shù)把字符串轉(zhuǎn)換成一個(gè)表(LIST),以方便AutoLisp對表中的每一項(xiàng)進(jìn)行各種操作。最后,用AutoLisp的COMMAND函數(shù)調(diào)用INSERT命令,先將圖塊MXB.DWG插入表中,再將MXB1.DWG插入表中,用NTH函數(shù)將前面AutoLisp讀入的數(shù)據(jù)中各項(xiàng)信息分別賦給MXB1.DWG中的各個(gè)屬性。 #p#分頁標(biāo)題#e#
程序框圖如圖4所示。
圖4
下面給出實(shí)現(xiàn)上述功能的程序清單:
(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) #p#分頁標(biāo)題#e#
(print)
)
程序的安裝與使用
1.安裝程序
可以選擇以下三種裝載方式的任意一種:
?在AutoCAD環(huán)境下,將MXB.LSP拷貝至當(dāng)前目錄,再執(zhí)行(LOAD“MXB”),即可裝載MXB.LSP。
?先將MXB.LSP拷貝至ACADSUPPORT子目錄下,再在ACADSUPPORTACAD.LSP中加入下面一條語句:
(AUTOLOAD “MXB”(“MXB”))
即可實(shí)現(xiàn)啟動AutoCAD時(shí)自動裝載該程序。
?先將MXB.LSP拷貝至ACADSUPPORT子目錄下,再在ACADSUPPORT子目錄下的菜單文件ACAD.MNU中的合適位置處加上下面一條語句:
[生成明細(xì)表]^C^C(LOAD “C:/ACAD/SUPPORT/MXB.LSP")MXB
即可直接在菜單中操作生成明細(xì)表。
2.程序的使用
當(dāng)用戶裝載該程序并運(yùn)行之后,程序首先出現(xiàn)提示信息:
Please input a point:
用戶給出一個(gè)定位點(diǎn)后,程序繼續(xù)提示:
Please input file name:
再輸入明細(xì)表數(shù)據(jù)文件名后,程序繼續(xù)運(yùn)行,并提示:
Please wait...
程序運(yùn)行結(jié)束后就可以生成一個(gè)如圖1所示的明細(xì)表。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF