




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第1章 AutoCAD及其 二次開發(fā)工具簡介 第第2頁頁/共共36頁頁第1頁/共36頁1.1 AutoCAD簡介l AutoCAD是美國Autodesk公司開發(fā)的通用CAD軟件,1982年首次推出了AutoCAD R1.0版本,經過不斷的版本更新,現最新的是AutoCAD2011版本。l AutoCAD是目前微機上應用最為廣泛的通用交互式計算機輔助繪圖與設計軟件包。AutoCAD的強大生命力在于它的通用性、多種工業(yè)標準和開放的體系結構。l 用AutoCAD繪圖速度更快、精度更高、而且便于個性,它已經在航空航天、造船、建筑、機械、電子、化工、美工、輕紡等很多領域得到了廣泛應用,并取得了豐碩的成果
2、和巨大的經濟效益。 第第3頁頁/共共36頁頁第2頁/共36頁l AutoCAD軟件具有如下特點 : (1)具有完善的圖形繪制功能。 (2)有強大的圖形編輯功能。 (3)可以采用多種方式進行二次開發(fā)或用戶定制。 (4)可以進行多種圖形格式的轉換,具有較強的數據 交換能力。 (5)支持多種硬件設備。 (6)支持多種操作平臺。 (7)具有通用性、易用性,適用于各類用戶。 1.1 AutoCAD簡介第第4頁頁/共共36頁頁第3頁/共36頁l 為了適用于各種產品的設計需求,多數CAD軟件的功能都具有很高的通用性。但由于針對性不強,用戶需求與CAD系統規(guī)模之間的矛盾日益增加,存在設計效率不高的問題。l 在
3、CAD軟件平臺上,結合具體的應用需求,總結行業(yè)的設計知識和經驗,開發(fā)面向行業(yè)和設計流程的CAD系統,這就是所謂CAD二次開發(fā)。l AutoCAD的開放體系結構。允許用戶采用高級編程語言對其進行擴充和修改。 Autodesk公司自AutoCAD v2.18版至AutoCAD 2000的短短十幾年間,就相繼推出了三代二次開發(fā)工具 。1.2 AutoCAD二次開發(fā)第第5頁頁/共共36頁頁第4頁/共36頁l AutoLISP AutoLISP是1986年隨AutoCADv2.18提供的二次開發(fā)工具。它是嵌入AutoCAD內部的一種人工智能語言。使用AutoLISP可調用幾乎所有的AutoCAD命令。A
4、utoLISP語言最典型的應用之一是實現參數化繪圖程序設計,包括尺寸驅動程序和鼠標拖動程序等。另一個典型應用就是驅動AutoCAD提供PDB模塊構成DCL文件,創(chuàng)建自己的對話框。 AutoLISP適合于有能力的終端用戶完成一些自己的開發(fā)任務。1.3 AutoCAD二次開發(fā)工具簡介第第6頁頁/共共36頁頁第5頁/共36頁l Visual LISP(VLISP) VLISP是AutoLISP的換代產品。與AutoLISP完全兼容,并提供它所有的功能,是新一代的AutoCAD LISP語言。VLISP對語言進行了擴展,可以通過Microsoft ActiveX Automation接口與對象交互。作
5、為開發(fā)工具,VLISP提供了一個完整的集成開發(fā)環(huán)境(IDE),包括編譯器、調試器和其他工具,可以提高二次開發(fā)的效率 。1.3 AutoCAD二次開發(fā)工具簡介第第7頁頁/共共36頁頁第6頁/共36頁l VBA VBA是2000版本后具備的功能。它通過AutoCAD ActiveX Automation接口對AutoCAD進行編程控制,是一個引入了對象的設計環(huán)境,為用戶提供類似Visual Basic語言所擁有的功能,可以執(zhí)行并存取 AutoCAD環(huán)境的所有資源,適合編寫中型的數據庫類的CAD軟件。1.3 AutoCAD二次開發(fā)工具簡介 ActiveX Automation是微軟公司推出的一個技術
6、標準,其作用是在Windows系統的統一管理下協調不同的應用程序,允許應用程序之間相互控制、相互調用。 AutoCAD ActiveX技術提供了一種機制,可使編程者通過編程手段從AutoCAD的內部或外部來操縱AutoCAD。ActiveX是由一系列的對象組成,每一個對象代表了AutoCAD中一個明確的功能,如繪制圖形對象、定義塊和屬性等等。ActiveX所具備的絕大多數AutoCAD功能,均以方法和屬性的方式被封裝在ActiveX對象中,只要使用某種方式,使ActiveX對象得以“暴露”,那么就可以使用各種面向對象編程的語言對其中的方法、屬性進行引用,從而達到對AutoCAD實現編程的目的。
7、 第第8頁頁/共共36頁頁第7頁/共36頁l ARX ObjectARX是AutoDesk公司針對AutoCAD平臺上的二次開發(fā)而推出的一個開發(fā)軟件包,它提供了以C+為基礎的面向對象的開發(fā)環(huán)境及應用程序接口,能真正快速的訪問AutoCAD圖形數據庫。 ObjectARX應用程序是一個DLL(動態(tài)鏈接庫),共享AutoCAD的地址空間,對AutoCAD進行直接函數調用。所以,使用ARX編程的函數的執(zhí)行速度得以大大提高。ARX 類庫采用了標準的C+類庫的封裝形式,這也大大提高了程序員編程的可靠度和效率。 由于是在Windows及VC+編程環(huán)境里運行,所以,對開發(fā)者的編程能力要求較高。1.3 Aut
8、oCAD二次開發(fā)工具簡介第第9頁頁/共共36頁頁第8頁/共36頁適合于有能力的終端用戶完成一些自己的開發(fā)任務。1.4 AutoLISP語言概述第第10頁頁/共共36頁頁第9頁/共36頁一、AutoLISP的數據類型l 整數: (-2147483648到2147483648)l 實數: (-1.79769310308到1.79769310308 )l 符號: 包括除“(”、 “)”、 “.”、 “”、 “;”以外的任何打印字符。長度沒有限制,大小寫等價。l 字符串:包含在一對雙引號內的一組字符 包括任何可以打印的字符。區(qū)別大小寫。最大長度為100個字符,100以后的字符無效。沒有任何字符的字符串
9、為空串:”1.4 AutoLISP語言概述 常用術語“符號”來指儲存靜態(tài)數據的一個符號名,如內建式函數和自定義函數。 常用術語“變量”來指存儲程序數據的符號名(只有當前類型沒有固定類型,字母開頭,不用內部函數名和保留字符,如:、.、;、(、)、pi、pause、T、nil等等)。 AutoLISP的變量不需要事先定義。 每一個變量都要消耗少量內存,故當變量值不再有用時重復使用變量名或將變量設置成nil是良好的程序設計習慣。 其值保持不變的變量稱為常量,如:Pi 整數、實數、符號、字符串在AutoLISP語言中稱為原子。原子包括:數字原子、符號原子和串原子。第第11頁頁/共共36頁頁第10頁/共
10、36頁一、AutoLISP的數據類型1.4 AutoLISP語言概述 表有標準表和引用表兩種類型; AutoLISP程序就是用標準表來表示的; 引用表用作數據處理,相當于其它高級語言的數組,提供了保存各種數據的有效方法。 引用表中的每一個元素可以是數字、符號、字符串,也可以是表。表可以嵌套。 如:(23 1.5 A dfg ”程序” (20.0 30.0 0.0) 僅有兩個元素,并用“.”分開表稱為點對。點對常用于構造連接表。 表有標準表和引用表兩種類型; AutoLISP程序就是用標準表來表示的; 引用表用作數據處理,相當于其它高級語言的數組,提供了保存各種數據的有效方法。 引用表中的每一個
11、元素可以是數字、符號、字符串,也可以是表。表可以嵌套。 如:(23 1.5 A dfg ”程序” (20.0 30.0 0.0) 僅有兩個元素,并用“.”分開表稱為點對。點對常用于構造連接表。第第12頁頁/共共36頁頁第11頁/共36頁l 文件描述符: 打開文件時的返回值,相當于其它語言的文件號,用于數據的存取。l 選擇集: 選擇集是一個或多個對象的集合。l 實體名(圖元名): 是AutoCAD系統在繪圖過程中賦予所繪對象的一個數字標號。確切地說,它是指向一個AutoCAD系統內部數據文件的指針。利用圖元名,AutoLISP可以查找到圖形對象的數據庫記錄,并對其進行各種方式的處理。一、Auto
12、LISP的數據類型1.4 AutoLISP語言概述第第13頁頁/共共36頁頁第12頁/共36頁l AutoLISP語言中的一切設計成份都是以函數的形式給出的。它沒有語句的概念或其它語法結構,執(zhí)行程序就是執(zhí)行函數,再調用函數。l 學習掌握AutoLISP語言,核心就是要掌握它的函數;l 學習AutoLISP函數要掌握的基本內容:(1)調用格式:即函數名、函數要求的參數個數和類型。(2)功能:即該函數的作用,它對其參數如何進行處理。(3)求值情況:即哪些參數被求值,哪些不被求值。(4)求值結果的返回值類型二、AutoLISP的函數1.4 AutoLISP語言概述 這一點很重要,因為大多數函數的返回
13、值都要被其它函數接受,而每個函數所需要參數都有特定的類型。因此只有搞清被調用函數的返回值的類型,才不會因用錯函數的參數而導致錯誤。第第14頁頁/共共36頁頁第13頁/共36頁 (setq x 25.0) (setq y 25.0) (+ (* x y ) x)三、AutoLISP的程序 (setq x 25.0) (setq x 25.0)(setq y 25.0)(+ x y)1.4 AutoLISP語言概述第第15頁頁/共共36頁頁第14頁/共36頁l 程序編輯: AutoLISP程序是純文本文件,可以用任意一種ASCII碼文本編輯器(如記事本)來進行編輯。編輯后以擴展名為“.lsp”進行
14、保存。 使用Visual LISP編程環(huán)境:打開AutoCAD2000及以上版本,點擊“工具”菜單下AutoLISP(S)菜單項中的Visual LISP編輯器(V),進入Visual LISP編程環(huán)境四、編輯和運行AutoLISP的程序1.4 AutoLISP語言概述第第16頁頁/共共36頁頁第15頁/共36頁第2章 AutoLISP基本函數 和繪圖功能第第17頁頁/共共36頁頁第16頁/共36頁2.1 AutoLISP基本函數一、數值函數第第18頁頁/共共36頁頁第17頁/共36頁2.1 AutoLISP基本函數一、數值函數第第19頁頁/共共36頁頁第18頁/共36頁2.1 AutoLIS
15、P基本函數一、數值函數第第20頁頁/共共36頁頁第19頁/共36頁2.1 AutoLISP基本函數二、符號與函數處理函數第第21頁頁/共共36頁頁第20頁/共36頁2.1 AutoLISP基本函數二、符號與函數處理函數第第22頁頁/共共36頁頁第21頁/共36頁2.1 AutoLISP基本函數二、符號與函數處理函數 全局變量可由任何函數訪問和修改,或在任一表達式中使用。局部變量僅在定義它的函數求值期間(函數調用期間)有意義。第第23頁頁/共共36頁頁第22頁/共36頁2.1 AutoLISP基本函數三、表處理函數 AutoLISP接受car和cdr的任意組合, 如:(cadar )等效于(ca
16、r (cdr (car ) 。第第24頁頁/共共36頁頁第23頁/共36頁2.1 AutoLISP基本函數三、表處理函數第第25頁頁/共共36頁頁第24頁/共36頁2.1 AutoLISP基本函數三、表處理函數第第26頁頁/共共36頁頁第25頁/共36頁2.1 AutoLISP基本函數三、表處理函數第第27頁頁/共共36頁頁第26頁/共36頁2.1 AutoLISP基本函數四、字符串處理函數第第28頁頁/共共36頁頁第27頁/共36頁2.1 AutoLISP基本函數四、字符串處理函數第第29頁頁/共共36頁頁第28頁/共36頁2.1 AutoLISP基本函數四、字符串處理函數第第30頁頁/共共
17、36頁頁第29頁/共36頁2.2 AutoLISP的繪圖功能一、GET類輸入函數第第31頁頁/共共36頁頁第30頁/共36頁2.2 AutoLISP的繪圖功能二、Command函數(1)Command函數的格式 (Command .)l 參數格式取決于所執(zhí)行的AutoCAD命令及其所需要的數據類型。即command函數中所調用的參數類型、個數、與順序均要和AutoCAD命令嚴格對應。l AutoCAD的命令、子命令和選擇項要用不含空格的字符串表示,大小寫均可。l 數字常量(整數或實型數)可寫成數本身也可寫成字符串形式l 點常量有兩種表示方法,一是用表的形式,如(10.0 25.0);二是用字符
18、串中的數據表示如:” 10.0 ,25.0”。l command函數調用參數中的空串(“”),等效于在鍵盤上按一次空格鍵。l command函數調用的參數,如數字、點也可為表達式,但表達式求值結果的數據類型要和AutoCAD命令的要求一致。l command函數可以不帶任何參數,相當于在鍵盤上按一次Ctrl+C。 AutoLISP具有強大的繪圖編輯功能,主要是由于它提供了一個系統內部函數Command函數,利用Command函數可以非常方便地調用幾乎全部AutoCAD命令,以完成各種工程圖形的繪制功能。第第32頁頁/共共36頁頁第31頁/共36頁2.2 AutoLISP的繪圖功能二、Comma
19、nd函數(2)Command函數的功能l Command函數的功能是在AutoLISP編程中直接調用AutoCAD命令以編制繪圖程序,其求值結果總是返回nil。l 用一個Command函數可以執(zhí)行一條或多條AutoCAD命令。l 一條AutoCAD 命令可由多個command函數完成。l command的參數不能用get類函數。在一條AutoCAD 命令由多個command函數完成情況下,可在多個command函數調用中插入get類函數。(3)應用Command函數的注意事項 l Command函數調用中的參數類型、個數、順序要和AutoCAD命令嚴格對應。為防止出錯,可先在AutoCAD的命令行輸入要執(zhí)行的命令,確定其輸入命令、子命令及數據都準確無誤后,再編入程序的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 櫥柜預售方案(3篇)
- 水質檢測方案(3篇)
- 冶煉產品安全管理制度
- 制藥車間設備管理制度
- 幼兒廚房人員管理制度
- 單位人員閉環(huán)管理制度
- 房產代理進場方案(3篇)
- 口岸入境閉環(huán)管理制度
- 小公司軍事化管理制度
- 廈門餐飲現場管理制度
- 2024-2025學年畢節(jié)地區(qū)小升初考試數學試卷含解析
- DB43-T 2169-2021 單棟塑料大棚建設規(guī)范
- 2025年中考英語閱讀訓練:熱點-電影《哪吒》(含答案)
- 區(qū)域業(yè)務拓展代理合同樣本
- 《端午特別早會》課件
- 2025年電源管理芯片市場分析報告
- 風力發(fā)電設備維修施工合同
- T-GDCKCJH 090-2024 微生物電化學法水質生物毒性在線自動監(jiān)測技術規(guī)范
- 湖南出版中南傳媒招聘筆試真題2023
- 工作任務清單模板
- DB37 5155-2019 公共建筑節(jié)能設計標準
評論
0/150
提交評論