| 8 | 1/1 | 返回列表 |
| 查看: 1832 | 回復: 7 | |||||
jwl2064木蟲 (正式寫手)
木蟲地學版長老
|
[交流]
【分享】在AutoCAD系統(tǒng)下自動生明細表 已有6人參與
|
|
本文通過實例介紹如何在AutoCAD系統(tǒng)下自動生明細表的方法。 本文例子中的明細表格式如圖1所示。 實現(xiàn)方法 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均為屬性名。 當用戶向表中插入該塊時,系統(tǒng)會向用戶詢問屬性值,此時用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所示。 下面給出實現(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) (print) ) 程序的安裝與使用 1.安裝程序 可以選擇以下三種裝載方式的任意一種: 在AutoCAD環(huán)境下,將MXB.LSP拷貝至當前目錄,再執(zhí)行(LOAD“MXB”),即可裝載MXB.LSP。 先將MXB.LSP拷貝至\ACAD\SUPPORT子目錄下,再在\ACAD\SUPPORT\ACAD.LSP中加入下面一條語句: (AUTOLOAD “MXB”(“MXB”)) 即可實現(xiàn)啟動AutoCAD時自動裝載該程序。 先將MXB.LSP拷貝至\ACAD\SUPPORT子目錄下,再在\ACAD\SUPPORT\子目錄下的菜單文件ACAD.MNU中的合適位置處加上下面一條語句: [生成明細表]^C^C(LOAD “C:/ACAD/SUPPORT/MXB.LSP" MXB即可直接在菜單中操作生成明細表。 2.程序的使用 當用戶裝載該程序并運行之后,程序首先出現(xiàn)提示信息: Please input a point: 用戶給出一個定位點后,程序繼續(xù)提示: Please input file name: 再輸入明細表數據文件名后,程序繼續(xù)運行,并提示: Please wait... 程序運行結束后就可以生成一個的明細表。 |
AutoCAD學習交流 | AutoCAD集合 |

| 頂一下撒! |

至尊木蟲 (著名寫手)

謝謝分享 |
新蟲 (正式寫手)
銅蟲 (小有名氣)

| 8 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研]
|
孅華 2026-03-22 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 278求調劑 +4 | 我可以上岸的對?/a> 2026-03-19 | 4/200 |
|
|
[考研] 086003食品工程求調劑 +6 | 淼淼111 2026-03-24 | 6/300 |
|
|
[考研] 考研化學308分求調劑 +10 | 你好明天你好 2026-03-23 | 11/550 |
|
|
[考研] 調劑 +4 | 13853210211 2026-03-24 | 4/200 |
|
|
[考研] 299求調劑 +7 | 某某某某位 2026-03-21 | 7/350 |
|
|
[考研] 一志愿華東理工大學081700,初試分數271 +5 | kotoko_ik 2026-03-23 | 6/300 |
|
|
[基金申請] 請教下大家 2026年國家基金申請是雙盲審嗎? +3 | lishucheng1 2026-03-22 | 5/250 |
|
|
[考研] 335分 | 材料與化工專碩 | GPA 4.07 | 有科研經歷 +4 | cccchenso 2026-03-23 | 4/200 |
|
|
[考研] 一志愿武理材料工程348求調劑 +6 |  ̄^ ̄゜汗 2026-03-19 | 9/450 |
|
|
[考研] 336求調劑 +4 | 收到VS 2026-03-20 | 4/200 |
|
|
[考研] 生物學一志愿985,分數349求調劑 +6 | zxts12 2026-03-21 | 9/450 |
|
|
[考研] 070300,一志愿北航320求調劑 +3 | Jerry0216 2026-03-22 | 5/250 |
|
|
[考研]
|
Grand777 2026-03-21 | 3/150 |
|
|
[考研] 求調劑 +3 | .m.. 2026-03-21 | 4/200 |
|
|
[考研] 求調劑 +6 | Mqqqqqq 2026-03-19 | 6/300 |
|
|
[考研] 南京大學化學376求調劑 +3 | hisfailed 2026-03-19 | 6/300 |
|
|
[考研] 一志愿武漢理工材料工程專碩調劑 +9 | Doleres 2026-03-19 | 9/450 |
|
|
[考研] 一志愿 西北大學 ,070300化學學碩,總分287,雙非一本,求調劑。 +4 | 晨昏線與星海 2026-03-19 | 4/200 |
|
|
[考研] 295材料求調劑,一志愿武漢理工085601專碩 +5 | Charlieyq 2026-03-19 | 5/250 |
|