AutoCAD高級(jí)培訓(xùn)第五講之二_第1頁(yè)
AutoCAD高級(jí)培訓(xùn)第五講之二_第2頁(yè)
AutoCAD高級(jí)培訓(xùn)第五講之二_第3頁(yè)
AutoCAD高級(jí)培訓(xùn)第五講之二_第4頁(yè)
AutoCAD高級(jí)培訓(xùn)第五講之二_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、AutoCAD高級(jí)培訓(xùn) 第五講之二AutoCAD二次開(kāi)發(fā)(Visual LISP集成開(kāi)發(fā)環(huán)境簡(jiǎn)介)一、 Visual LISP概述Visual LISP簡(jiǎn)稱VLISP,是為加速AutoLISP程序開(kāi)發(fā)而設(shè)計(jì)的軟件工具,它提供了一個(gè)完整的集成開(kāi)發(fā)環(huán)境,包括編譯器、調(diào)試器和其他工具,它可以顯著地提高自定義AutoCAD的效率。VLISP提供的主要工具有:文本編輯器、格式編排器、語(yǔ)法檢查器、源代碼調(diào)試器、檢驗(yàn)和監(jiān)視工具、文件編譯器、工程管理系統(tǒng)、上下文相關(guān)幫助與自動(dòng)匹配功能和智能化控制臺(tái)等。二、 啟動(dòng)和退出Visual LISP集成開(kāi)發(fā)環(huán)境1. 啟動(dòng)步驟:(菜單方式)(1) 啟動(dòng)AutoCAD(2)

2、 工具AutoLispVisual LISP編輯器若使用鍵盤(pán)命令,則:命令:vlisp或vlide2退出: 文件退出三、 Visual LISP 集成開(kāi)發(fā)環(huán)境介紹包含以下幾個(gè)部分:1. 菜單欄2. 工具欄:標(biāo)準(zhǔn)、調(diào)試、工具、搜索、視圖 (共5個(gè))3. 控制臺(tái)窗口可輸入AutoLisp命令,代替菜單和工具欄命令4. 狀態(tài)欄屏幕底部顯示Visual LISP的狀態(tài)信息5. 跟蹤窗口啟動(dòng)時(shí)包含:關(guān)于Visual LISP當(dāng)前版本的信息、啟動(dòng)Visual LISP遇到錯(cuò)誤時(shí)的一些信息。6. 文本編輯器打開(kāi)或新建一個(gè)Visual LISP源程序,就可以看到文本編輯器的全貌。7. 其他Visual LIS

3、P窗口(必要時(shí)才打開(kāi))(一)Visual LISP菜單介紹¨菜單的內(nèi)容:隨著激活窗口的不同菜單內(nèi)容將會(huì)不同。1. 文件:打開(kāi)、新建、保存2. 編輯:復(fù)制、粘貼、括號(hào)匹配3. 搜索:查找、替換文本、設(shè)置書(shū)簽4. 視圖:查找、替換變量及符號(hào)值等5. 工程:應(yīng)用程序的工程功能管理項(xiàng)目、編譯程序等6. 調(diào)試:提供程序調(diào)試功能設(shè)置和刪除斷點(diǎn)、單步執(zhí)行、檢查變量狀態(tài)、檢查表達(dá)式結(jié)果等7. 工具:設(shè)置Visual LISP選項(xiàng)文本格式、環(huán)境選項(xiàng)變量,如窗口和工具欄的位置8. 窗口:提供窗口管理功能9. 幫助:提供幫助功能,包括顯示在線幫助(二)工具欄介紹工具欄包括一系列功能的Vlisp命令組1.

4、標(biāo)準(zhǔn):新建、打開(kāi)、保存、打印輸出、剪切、復(fù)制、粘貼、取消、恢復(fù)、完成詞語(yǔ)功能2. 工具:加載整個(gè)活動(dòng)窗口代碼、加載指定部分代碼、語(yǔ)法檢查(全部、指定部分)、對(duì)窗口代碼格式化(整個(gè)活動(dòng)窗口、指定代碼)、設(shè)置注釋代碼、取消整塊注釋塊、在線幫助3. 搜索:查找、替換、查找并替換、設(shè)置或取消書(shū)簽、下一個(gè)書(shū)簽、上一個(gè)書(shū)簽4. 視圖:切換到AutoCAD窗口、選擇窗口、Visual LISP控制臺(tái)、打開(kāi)檢驗(yàn)窗口、堆棧跟蹤、符號(hào)服務(wù)、自動(dòng)匹配、顯示監(jiān)視窗口5. 調(diào)試:下一層嵌套表達(dá)式、下一個(gè)表達(dá)式、跳出表達(dá)式、繼續(xù)執(zhí)行、退出、重置、設(shè)置或取消斷點(diǎn)切換、添加監(jiān)視、顯示上一個(gè)斷點(diǎn)(三)控制臺(tái)操作1. 控制臺(tái)的功

5、能這里是用命令操作的地方(Visual LISP命令、AutoLISP命令),并能看到結(jié)果,類似于AutoCAD的命令行窗口如:(setq a “hello,The world!”)查看a的值時(shí)在控制臺(tái)窗口用:a¿(¿表示回車(chē))AutoCAD命令:!a¿2. Visual LISP控制臺(tái)窗口中的獨(dú)特特性¨可以在新的一行上輸入上一行沒(méi)有完成的AutoLISP表達(dá)式¨可在¿前輸入多個(gè)表達(dá)式,并在Visual LISP給控制臺(tái)返回一個(gè)值之前將為每一個(gè)表達(dá)式求值¨光標(biāo)在任意位置均可用¿移至提示符所在行上,如果選中的有文本,

6、則同時(shí)移至提示符所在行(此功能可以復(fù)制)¨使用Tab鍵可獲得以前輸入的文本,每按一次即可將上一次的文本顯示,循環(huán)執(zhí)行。Shift+Tab與Tab類似,只是方向相反¨使用Tab鍵可以實(shí)現(xiàn)關(guān)聯(lián)查找,如輸入“(+Tab”會(huì)在以前輸入的文本中查找以“(+”開(kāi)頭的文本¨Esc鍵清除提示符下的所有字符,shift+Esc則離開(kāi)當(dāng)前行上的文本,并在新的提示符下準(zhǔn)備接受用戶的輸入3. 系統(tǒng)控制臺(tái)的快捷菜單單擊右鍵*小技巧:可在控制臺(tái)窗口與AutoCAD命令行窗口之間復(fù)制和粘貼文本。(四)文本編輯器概述主要功能:1. 彩色代碼顯示2. 文本格式化3. 括號(hào)匹配4. 執(zhí)行AutoLI

7、SP表達(dá)式(不離開(kāi)文本編輯器)5. 在多文件間進(jìn)行查找6. 語(yǔ)法檢查(五)加載和運(yùn)行AutoLISP程序1. 在AutoCAD窗口操作(略)2. 在VLISP環(huán)境下操作可加載完整的和部分的AutoLISP程序文件¨加載完整的AutoLISP程序:文件打開(kāi)文件選擇文件內(nèi)容工具加載編輯器中的文字¨加載部分的AutoLISP程序:選擇部分文件內(nèi)容工具加載選定代碼四、 文本編輯器主要功能及其實(shí)現(xiàn)1. 文件/編輯/保存操作有關(guān)操作與Windows環(huán)境下的應(yīng)用軟件(如Word等)類似,這里從略。2. 代碼分色器和在控制臺(tái)窗口中相同,一旦在文本編輯器中輸入文本后,Visual LISP會(huì)

8、判斷所輸入的文本是否是一個(gè)AutoLISP內(nèi)部函數(shù)、數(shù)字、字符串或者其它的已知元素,并用每一種元素自己的顏色顯示這些文本。默認(rèn)的AutoLISP語(yǔ)言代碼配色方案AutoLISP元素顏色內(nèi)部函數(shù)和被保護(hù)的符號(hào)藍(lán)色字符串粉色整數(shù)綠色實(shí)數(shù)淺藍(lán)色注釋粉色,背景為灰色括號(hào)紅色其他(如用戶變量名等)黑色¨Visual LISP可以按照一些語(yǔ)言的種類確定代碼顏色,方法是:工具窗口屬性按語(yǔ)法著色¨用戶可以自定義顏色配置,方法是:工具窗口屬性配置當(dāng)前窗口打開(kāi)“窗口屬性”對(duì)話框進(jìn)行配置3. 文本格式化(1)設(shè)置AutoLISP代碼格式的對(duì)話框工具環(huán)境選項(xiàng)Visual LISP格式選項(xiàng)(2)Au

9、toLISP代碼格式的總體式樣有普通、寬行、窄行和分欄四種式樣。4. 語(yǔ)法檢查(1) 括號(hào)匹配向前匹配將插入點(diǎn)(光標(biāo)位置)移到和開(kāi)括號(hào)相匹配的閉括號(hào)之后向后匹配將插入點(diǎn)(光標(biāo)位置)移到和閉括號(hào)相匹配的開(kāi)括號(hào)之前向前選擇插入點(diǎn)的移動(dòng)和“向前匹配”相同,同時(shí)選中文本向后選擇插入點(diǎn)的移動(dòng)和“向后匹配”相同,同時(shí)選中文本(2) 檢查語(yǔ)法錯(cuò)誤¨應(yīng)用彩色代碼功能檢查語(yǔ)法錯(cuò)誤¨用語(yǔ)法檢查功能檢查語(yǔ)法錯(cuò)誤主要檢查的語(yǔ)法錯(cuò)誤為:·圓括號(hào)不匹配·函數(shù)的參數(shù)數(shù)目不正確·函數(shù)的參數(shù)類型不正確·某些特殊函數(shù)的語(yǔ)法不正確方法:工具“檢測(cè)編輯器中的文字”如果檢測(cè)到

10、錯(cuò)誤,就會(huì)在“編譯輸出”窗口看到錯(cuò)誤信息。五、 調(diào)試程序VLISP提供的調(diào)試程序工具有:¨監(jiān)視窗口:在程序執(zhí)行過(guò)程中查看變量的值¨檢驗(yàn)窗口:在“檢驗(yàn)”對(duì)話框中顯示指定對(duì)象的詳細(xì)信息¨“符號(hào)服務(wù)”對(duì)話框:符號(hào)可以是變量或函數(shù)名。通過(guò)符號(hào)服務(wù)對(duì)話框可以查看變量的當(dāng)前值、函數(shù)的定義和設(shè)置變量及函數(shù)的一些特性¨斷點(diǎn)循環(huán)模式:在程序內(nèi)部設(shè)置斷點(diǎn),中斷程序的執(zhí)行,并允許用戶在中斷時(shí)查看和修改對(duì)象值六、 編輯和調(diào)試程序時(shí)的常見(jiàn)問(wèn)題及排除方法序號(hào)問(wèn)題類型原因排除方法1內(nèi)部函數(shù)名輸入錯(cuò)誤源程序代碼編輯不仔細(xì)根據(jù)“代碼分色”進(jìn)行判斷、修改2語(yǔ)法檢查時(shí)提示:輸入的列表有缺陷括

11、號(hào)不匹配用“代碼格式化”或“括號(hào)匹配”檢查、修改3語(yǔ)法檢查時(shí)提示:XXXX中參數(shù)太少,(XXXX XX XX 。)引用內(nèi)部函數(shù)時(shí)參數(shù)數(shù)量不足雙擊該錯(cuò)誤提示,回到文本編輯器進(jìn)行檢查、修改4程序運(yùn)行時(shí)提示:no function definition:XXXXXXX(沒(méi)有函數(shù)定義)內(nèi)部函數(shù)名錯(cuò);沒(méi)有定義外部函數(shù);元素間缺少空格等檢查“XXXXXXX”,分析原因、加以修改5程序運(yùn)行時(shí)提示:參數(shù)類型錯(cuò)誤:numberp:nil(參數(shù)類型為空)變量沒(méi)有賦值;變量名錯(cuò)誤設(shè)置斷點(diǎn)、監(jiān)視變量、單步執(zhí)行,直到執(zhí)行中斷,在中斷處分析錯(cuò)誤6程序運(yùn)行時(shí)提示:參數(shù)類型錯(cuò)誤:symbolp nil(符號(hào)為空)變量(符號(hào))

12、沒(méi)有賦值,或變量(符號(hào))名寫(xiě)錯(cuò)設(shè)置斷點(diǎn)、監(jiān)視變量、單步執(zhí)行,直到執(zhí)行中斷,在中斷處分析錯(cuò)誤7程序運(yùn)行時(shí)提示:進(jìn)入無(wú)限循環(huán)(出現(xiàn)死循環(huán))循環(huán)結(jié)構(gòu)中循環(huán)條件表達(dá)式錯(cuò)誤分析循環(huán)結(jié)構(gòu),加以修改8執(zhí)行結(jié)果不正確算法錯(cuò)誤(各種各樣)設(shè)置斷點(diǎn)、監(jiān)視變量、單步執(zhí)行,分析錯(cuò)誤加以修改9下達(dá)命令后似乎沒(méi)反應(yīng)“Defun”函數(shù)的“變量表”格式錯(cuò)誤檢查“Defun”函數(shù)的“變量表”中“/”的前后是否都有空格常見(jiàn)錯(cuò)誤:缺少閉括號(hào),變量名、函數(shù)名輸入錯(cuò)誤,表中元素間缺少空格(至少有一個(gè)),輸入程序代碼有遺漏(整行或錯(cuò)行)另外,還需注意,在出現(xiàn)死循環(huán)或進(jìn)入無(wú)限循環(huán)而強(qiáng)制中斷執(zhí)行后,往往出現(xiàn)無(wú)法操作AutoCAD的現(xiàn)象。此時(shí)

13、,需要使用“窗口”菜單或者“視圖”工具欄中的“激活A(yù)utoCAD”命令激活A(yù)utoCAD,才能繼續(xù)對(duì)AutoCAD進(jìn)行操作。下面再看幾個(gè)用AutoLISP語(yǔ)言編程畫(huà)圖的例子:1. 繪制太極圖案程序源代碼:(defun yinyang(/ origin radius i-radius half-r origin-x origin-y os) ;參見(jiàn)輔導(dǎo)材料P43-44 (setq os (getvar "OSMODE") ;參見(jiàn)輔導(dǎo)材料P51 (setvar "OSMODE" 0) ;參見(jiàn)輔導(dǎo)材料P51 (setq origin (getpoint &qu

14、ot;n圖案的中心:") (setq radius (getdist "n圖案的半徑:" origin) (setq i-radius (getdist "n內(nèi)部圓的半徑:" origin) (if (> i-radius radius) (setq i-radius (/ radius 4) ;參見(jiàn)輔導(dǎo)材料P41 (setq half-r (/ radius 2) (setq origin-x (car origin) (setq origin-y (cadr origin) (command "CIRCLE" or

15、igin radius) (command "ARC" "C" (list origin-x (+ origin-y half-r) (list origin-x (+ origin-y radius) origin ) (command "ARC" "C" (list origin-x (- origin-y half-r) (list origin-x (- origin-y radius) origin ) (command "CIRCLE" (list origin-x (+ origi

16、n-y half-r) i-radius ) (command "CIRCLE" (list origin-x (- origin-y half-r) i-radius )(setvar "OSMODE" os) (princ) ;參見(jiàn)輔導(dǎo)材料P49 )2. 繪制正弦函數(shù)曲線:Y=ASin(X+w);給定坐標(biāo)原點(diǎn)、周期數(shù)、振幅和初相角,繪制正弦曲線,自變量以“弧度”為單位(defun c:drawsin (/ lp lpx lpy n x step) ;見(jiàn)輔導(dǎo)材料P43-44 (initget 1);見(jiàn)輔導(dǎo)材料P47 (setqlp (getpoint

17、"n 輸入坐標(biāo)原點(diǎn):") ;見(jiàn)輔導(dǎo)材料P46lpx (car lp)lpy (cadr lp) ) (initget 7);見(jiàn)輔導(dǎo)材料P47 (setq n (getint "n 周期數(shù):");見(jiàn)輔導(dǎo)材料P45 (setq a (getreal "n 振幅:") (initget 1) (setq w (getreal "n 初相角(弧度):") (setqx 0step 0.02 ) (command "pline");見(jiàn)輔導(dǎo)材料P49 (while (< x (* 2 n pi);見(jiàn)輔

18、導(dǎo)材料P41和P36 (command (list (+ (car lp) x);見(jiàn)表處理函數(shù) (+ (cadr lp) (* a (sin (+ x w) ) ;見(jiàn)輔導(dǎo)材料P36 ) (setq x (+ x step) ) (command) (command "line" lp (list (+ lpx (* 2 n pi) lpy) "") ;畫(huà)水平軸 (command "line" (list lpx (+ lpy (* 2 a) (list lpx (- lpy (* 2 a) "" );畫(huà)垂直軸 (command "zoom" "e") (princ)3繪制極坐標(biāo)方程R=1+2cos2a在區(qū)間0,2p的圖像;繪制極坐標(biāo)方程曲

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論