內容簡介
《AutoCAD二次開發實用教程/普通高等教育“十二五”規劃教材》是討論基於Visual LISP的AutoCAD二次開發程序設計技術的教程,旨在幫助用戶進行專業輔助設計程序的製作和使用,達到精通Visual LISP程序設計,使AutoCAD真正成為用戶的專業設計軟件。
本書詳細討論瞭Visual LISP程序設計的基本方法和應用技巧,AutoLISP語言的基本函數及利用AutoLISP語言進行AutoCAD二次開發的方法,同時結閤編者多年的教學經驗提供瞭大量的例題和範例,側重於專業應用的方法、實際應用中的難點和解決方案的討論。本書既可以作為高等院校的有關教材、高級應用培訓教材,也適閤作為專業程序設計用戶的參考用書。
全書語言敘述精練、實例講解過程翔實,力爭做到初學者能夠看懂,程序設計的專業人員能夠得到啓發,為廣大從事AutoCAD二次開發的讀者提供有力的指導。
本書適閤作為工科院校建築類及相關專業學生的教材,也可供建築、機械設計、電子電路設計、平麵圖設計、三維造型等行業及相關專業人員,AutoLISP初學者,3D圖形愛好者學習和使用。
目錄
前言
第1章 Visual LISP語言概述
1.1 LISP語言
1.2 AutoLISP語言
1.3 Visual LISP語言
1.4 Visual LISP的編程環境
1.4.1 Visual LISP集成開發環境的界麵
1.4.2 輸入和修改程序代碼
習題
第2章 數據類型、錶
2.1 數據類型
2.1.1 原子
2.1.2 錶和點對
2.1.3 其他類型
2.1.4 AutoLISP的程序結構
2.2 變量
2.2.1 符號
2.2.2 變量的數據類型
2.2.3 變量賦值
2.2.4 顯示變量的值
2.2.5 在交互方式下將變量的值傳遞給AutoCAD
2.2 .6AutoCAD的係統變量
習題
第3章 AutoLISP基本函數
3.1 數值函數
3.1.1 計算函數
3.1.2 布爾運算函數
3.1.3 三角函數
3.1.4 數值函數舉例
3.2 錶處理函數
3.2.1 提取錶中數據的函數
3.2.2 構造和修改錶的函數
3.2.3 提取並修改錶中數據的函數
3.2.4 錶循環處理函數
3.2.5 其他錶處理函數
3.2.6 錶處理函數舉例
習題
第4章 程序流程控製
4.1 順序結構
4.1.1 GET族輸入函數
4.1.2 圖形處理函數
4.1.3 顯示控製函數
4.1.4 舉例
4.2 分支結構
4.2.1 判斷函數
4.2.2 條件函數
4.3 循環函數
4.4 函數遞歸定義
4.4.1 遞歸的概念
4.4.2 遞歸模型
4.4.3 遞歸算法的程序設計
4.5 綜閤舉例
習題
第5章 AutoLISP文件
5.1 AutoLISP文件的特點
5.2 程序中的注釋
5.3 在AutoCAD環境下加載AutoLISP文件
5.4 搜索、獲得文件的函數
5.5 打開、關閉文件的函數
5.6 用於文件的輸入輸齣函數
5.7 綜閤舉例
習題
第6章 實體和設備訪問函數
6.1 基本概念
6.2 選擇集操作函數
6.3 實體名操作函數
6.4 實體數據函數
6.5 符號錶的訪問
6.6 圖形屏幕和輸入設備的訪問
6.7 綜閤舉例
6.7.1 實體名和選擇集在開發AutoCAD程序中的應用
6.7.2 生成局部放大視圖的簡便方法
6.7.3 求圓或圓弧中心綫
習題
第7章 AutoLISP實訓
7.1 設置作圖環境
7.2 設置圖層、顔色、綫型和綫寬
7.3 AutoLISP程序設計的6個步驟
7.4 AutoLISP程序實例
習題
第8章 Visual LISP基本操作
8.1 進入和退齣Visual LISP
8.2 Visual LISP的用戶界麵
8.3 Visual LISP的控製颱操作
8.4 Visual LISP的文件操作
8.5 退齣Visual LISP
習題
第9章 編輯源程序代碼
9.1 文本編輯工具
9.2 文本操作
9.3 設置代碼格式
9.4 檢查語法錯誤
習題
第10章 調試程序
10.1 Visual LISP調試功能簡介
10.2 通過實例學習調試程序
10.3 Visual LISP調試功能
10.3.1 開始調試任務
10.3.2 斷點循環
10.3.3 使用斷點
10.4 使用Visual LISP數據查看工具
10.4.1 監視程序
10.4.2 跟蹤程序
10.5 修改變量和函數的特性
10.6 "檢驗"窗口
10.7 訪問AutoCAD對象
習題
第11章 編輯及維護AutoLISP程序
11.1 編譯鏈接程序
11.1.1 Visual LISP編譯器
11.1.2 加載運行已編譯程序
11.1.3 鏈接函數調用
11.2 生成應用程序
11.2.1 創建新應用程序
11.2.2 加載和運行Visual LISP應用程序
11.2.3 修改應用程序選項
11.2.4 重新編譯應用程序
11.2.5 更新應用程序
11.3 多文檔環境下的程序設計
11.3.1 理解命名空間
11.3.2 查看多名稱空間對函數的影響步驟
11.3.3 運行應用程序於自身的名稱空間中
11.3.4 使文檔可以訪問函數
11.3.5 查看vl�瞕oc�瞖xport在獨立名稱空間VLX中的作用
11.3.6 使用其他VLX應用程序訪問獨立名稱空間的函數
11.3.7 引用文檔名稱空間中的變量
11.3.8 在名稱空間中共享數據
11.3.9 MDI環境下的錯誤處理
11.3.10 在自身名稱空間中運行的VLX的錯誤處理
11.3.11 在MDI環境下對於使用AutoLISP的限製
習題
第12章使用ActiveX
12.1 在AutoLISP中使用ActiveX對象
12.2 AutoCAD對象模型
12.2.1 對象屬性
12.2.2 對象方法
12.2.3 對象集閤
12.3 訪問AutoCAD對象
12.3.1 訪問AutoCAD應用程序
12.3.2 應用程序對象以下的其他ActiveX對象
12.3.3 過程總結
12.3.4 編程技巧
12.3.5 在Visual LISP函數中使用 ActiveX
12.3.6 確定所需的Visual LISP函數
12.4 ActiveX對象訪問
12.4.1 查看對象特性
12.4.2 訪問圖形對象
12.4.3 訪問其他AutoCAD對象
12.4.4 使用檢驗工具瞭解AutoCAD對象的屬性
12.4.5 通過Help功能瞭解AutoCAD對象
12.5 在Visual LISP函數中使用ActiveX方法
12.5.1 查找所需要的函數
12.5.2 確定函數參數
12.5.3 將Visual BASIC環境下的語句改寫為AutoLISP錶達式
12.5.4 轉換數據類型為ActiveX型
12.6 AutoCAD實體名和VLA對象之間的轉換
12.7 修改圖形對象的屬性
12.8 確定方法或屬性是否適用於特定對象
12.9 確定是否可以修改對象
12.10 使用參數帶迴返迴值的ActiveX方法
12.11 使用集閤對象
12.11.1 將某一個函數應用到集閤中的每一個對象
12.11.2 將一係列函數應用到集閤中的每一個對象
12.11.3 獲取集閤中的成員對象
12.11.4 釋放VLA對象和釋放內存
12.11.5 處理ActiveX方法返迴的錯誤
12.12 舉例
習題
第13章 使用反應器
13.1 反應器基礎
13.1.1 反應器的類型
13.1.2 反應器的迴調事件
13.1.3 反應器的迴調函數
13.2 生成反應器
13.2.1 創建對象反應器
13.2.2 創建其他反應器
13.2.3 將數據附著到反應器對象
13.2.4 在多重名稱空間中使用反應器
13.3 查詢、修改和控製反應器的狀態
13.3.1 查詢反應器
13.3.2 修改反應器
13.3.3 控製反應器的狀態
13.4 臨時反應器和永久反應器
13.5 反應器的使用規則
13.6 定義反應器實例
習題
附錄
附錄AAutoLISP函數概要
附錄B標準 ASCII 碼錶
附錄C聯機程序錯誤代碼
參考文獻
精彩書摘
第11章 編輯及維護AutoLISP程序
visual LISP可以將AutoLISP程序文件編譯成可執行的程序模塊以提高程序效率和源代碼的安全性,並提供不同的編譯選項來生成滿足要求的應用程序。也可用Visual LISP工程來維護包含多個文件的大型應用程序,以及定義編輯器的各選項。
本章介紹瞭如何利用Visual LISP工具編譯程序及用工程管理來維護多個程序文件,內容有:
編譯鏈接程序;
生成應用程序;
多文檔環境下程序設計;
使用Visual LIsP工程;
操作工程文件;
優化應用程序。11.1編譯鏈接程序
在AutoLISP語言中,程序的使用需要加載源代碼,然後由AutoCAD解釋執行。這樣運行程序的好處在於可方便地修改與調試程序,在程序的編寫和調試階段是比較方便的,但是如果已經調試成功確定使用後,再使用加載源代碼的運行方式就不方便瞭。
首先是執行速度慢,每次加載程序AutoCAD都要對其進行解釋執行,這個過程的重復執行使得程序的執行速度變慢;而且使用源代碼時,程序的保密性不好;再者,使用源代碼時,程序的封裝性不好,各種資源文件(如DCL對話框控製語言、幻燈片等)必須在相應的目錄下纔能被調用,因而程序所在路徑的變化有可能造成程序不能正常運行,並且在多個程序文件的情況下,程序之間的相互影響也難以避免。
Visual LISP提供瞭一套編譯器來解決這些問題。通過這個編譯器,用戶可以將源代碼編譯成可執行的機器碼文件,即FAS文件。源代碼程序編譯後,可直接在AutoCAD中加載運行,運行效率提高瞭,而且程序源代碼是保密的,甚至於源代碼中的字符串與符號也會被Visual LISP的編譯器加密。
visual LISP還提供瞭將復雜的AutoLISP應用程序包編譯成獨立運行程序文件的功能,這種文件稱為VIJX文件。VTJX文件中可以包含其他資源文件(如VBA代DCL文件、AutoIJSP源文件等)。通過使用VLX文件,程序開發者可以進一步控製和簡化應用程序的運行環境。11.1.1 Visual LISP編譯器
Visual LISP提供瞭幾種應用文件編譯器的方法,既可以使用Vlisp—complies函數來編譯單個AutoLISP程序,也可以使用“工程”將一個或幾個相關的AutoLISP程序編譯成FAS文件,還可以使用生成應用程序嚮導生成應用程序包,編譯成VLX文件。
……
前言/序言
AtatoCAD二次開發實用教程立足於解決實際問題,以實例講解為主,通過循序漸進的實例開拓思路,使讀者在實例中快速掌握利用AutocAD進行二次開發的基本方法。
本書的開發工具為Visual LISP語言,它是為加速Aut0LISP程序開發而設計的軟件開發工具,是一個完整的集成開發環境。在V_isual LISP環境下可以便捷、高效地開發AutoLISP程序,經過編譯得到運行效率更高、代碼更加緊湊、源代碼受到保護的應用程序。
visual LISP,既兼容AutoLISP程序,又擴充瞭許多新的功能,是新一代的AutoLISP語言。利用AutoLISP可以進行各種工程的分析計算、自動繪製復雜的圖形,驅動對話框、控製菜單、定義新的命令,為AutoCAD擴充智能化和參數化的功能。
AutoCAD在工程設計領域得到瞭普遍應用,為其專業設計提供瞭方便。由於AutocAD是一個通用繪圖軟件,不具專業特色,使作圖效率不高。而Auto—CAD開放的結構為使用者提供瞭廣闊的開發空間及許多二次開發的工具,AutoLISP就是其中比較常用的一個,它能夠為用戶開發齣具有專業特點的高效率應用軟件。因此,瞭解AutoLISP的程序結構,掌握AutoLISP程序設計方法,開發齣適閤專業特點的CAD軟件,已成為專業技術人員和學生渴望掌握的一個工具。目前,國內一些高等院校的工程設計相關專業也開設瞭AutoLISP語言課程。然而,能夠作為教材及參考書使用的則不多見,無法滿足人們實現深入學習及開發的設想和願望。
編者通過查閱有關資料和參考手冊,經過多年的教學實踐,對AutoLISP語言有瞭較為深入的理解,積纍瞭一些難得的實踐資料,並在教學及工程實踐中得以驗證。目前,還有一些用戶停留在將AutoCAD作為繪圖工具的階段,這樣隻是提高瞭繪圖的效率,但距離真正意義上的計算機輔助設計還有較大差距。因此,實現圖形參數化、智能化、分析計算與繪圖一體化是本書要介紹的主要內容。
本書有以下兩個主要特點:
(1)實用性 書中所有實例均以實際應用為背景,具有較高的實用價值和一定的技術含量。初學者可以從調試、運行這些實例程序開始,然後修改、擴充這些實例,逐步掌握AutoLISP程序設計技術。
(2)便於教學 本書是在學校教學和工程實踐背景下編寫的。編者參照多年的教案確定瞭本書的內容和章節的次序,因此本書具有便於教學和實訓的特點。
本書的程序是在AutoCAD 2007的Visual LISP集成環境下建立、調試和運行通過的。所有程序的源代碼都適用於當前的AutoCAD版本。
全書共13章。郭秀娟負責第1~5章的編寫,徐勇負責第8~10章的編寫,鄭馨負責第6、12章的編寫,李力東負責第13章及附錄部分的編寫,張朝負責第11章的編寫,於全通負責第7章的編寫及全書的程序調試運行與圖形繪製工作。本書在編寫過程中,得到瞭吉林建築大學計算機學院老師及相關專業人士的幫助和指導,編者在此深錶謝意。由於編寫水平有限,書中的不當和疏漏之處在所難免,懇請各方麵的專傢予以指教並請廣大讀者提齣寶貴的意見。
編 者
AutoCAD二次開發實用教程/普通高等教育“十二五”規劃教材 下載 mobi epub pdf txt 電子書 格式