建筑CAD技術(shù)應(yīng)用教程第16課_第1頁
建筑CAD技術(shù)應(yīng)用教程第16課_第2頁
建筑CAD技術(shù)應(yīng)用教程第16課_第3頁
建筑CAD技術(shù)應(yīng)用教程第16課_第4頁
建筑CAD技術(shù)應(yīng)用教程第16課_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、主講:主講:清華大學(xué)出版社清華大學(xué)出版社第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境 本課學(xué)習(xí)重點(diǎn)本課學(xué)習(xí)重點(diǎn) 在前面已經(jīng)提到設(shè)計(jì)和規(guī)劃專業(yè)化的系統(tǒng)功能和命令集是對(duì)CAD系統(tǒng)進(jìn)行二次開發(fā)的核心工作,本課要講述的主要內(nèi)容就是進(jìn)行此項(xiàng)工作的基礎(chǔ)知識(shí)AutoLISP語言與Visual LISP開發(fā)環(huán)境。本課主要介紹AutoLISP語言的數(shù)據(jù)類型和語言結(jié)構(gòu),以及結(jié)合實(shí)例說明了各類主要AutoLISP函數(shù)的使用方法,最后結(jié)合程序調(diào)試過程說明Visual LISP開發(fā)環(huán)境的主要應(yīng)用方式。第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCA

2、D二次開發(fā)技術(shù)二次開發(fā)技術(shù) AutoLISP語言的數(shù)據(jù)類型和語言結(jié)構(gòu)語言的數(shù)據(jù)類型和語言結(jié)構(gòu) AutoLISP常用函數(shù)及應(yīng)用常用函數(shù)及應(yīng)用 Visual LISP開發(fā)環(huán)境圖形界面及應(yīng)用開發(fā)環(huán)境圖形界面及應(yīng)用第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.1AutoLISPAutoLISP語言基礎(chǔ)知識(shí)語言基礎(chǔ)知識(shí) LISP(List Processing Language)是一種計(jì)算機(jī)的表處理語言,是在人工智能學(xué)科領(lǐng)域廣泛應(yīng)用的一種程序設(shè)計(jì)語言。而AutoLISP語言是嵌套于AutoCAD內(nèi)部、將LISP語言和AutoCAD有機(jī)結(jié)合的產(chǎn)物。AutoLISP語言既具備一

3、般高級(jí)語言的基本結(jié)構(gòu)和功能,同時(shí)又具有一般高級(jí)語言所沒有的強(qiáng)大的圖形處理功能??梢赃\(yùn)用AutoLISP編制任何專業(yè)化設(shè)計(jì)繪圖程序,并把它嵌入到菜單系統(tǒng)中,通過定制專業(yè)系統(tǒng)以取得更高的工作效率。第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.1AutoLISPAutoLISP語言基礎(chǔ)知識(shí)語言基礎(chǔ)知識(shí)16.1.116.1.1AutoLISPAutoLISP語言的發(fā)展和語言的發(fā)展和Visual LISPVisual LISP的關(guān)系的關(guān)系 AutoLISP

4、語言是從AutoCAD V2.17版開始略具雛型的,那時(shí)LISP語言的版本很多,如CommonLISP、GoldenLISP、XLISP等,而AutoLISP就是取正統(tǒng)的LISP語法,再加以AutoCAD本身特有的功能指令而成的,形式上與CommonLISP比較接近。AutoLISP隨著AutoCAD版本的更新和指令的成熟豐富,一直長(zhǎng)盛不衰。 Visual LISP作為新一代的LISP語言及開發(fā)環(huán)境,為了充分利用AutoLISP語言的優(yōu)勢(shì)和資源,采用了與AutoLISP完全兼容的模式。與AutoLISP不同的地方是Visual LISP采用了向標(biāo)準(zhǔn)LISP語言看齊的標(biāo)準(zhǔn),使程序設(shè)計(jì)者能更加兼容

5、由LISP語言開發(fā)的其他人工智能系統(tǒng),這也是程序設(shè)計(jì)語言走向標(biāo)準(zhǔn)化的重要步驟。對(duì)于使用AutoLISP的用戶可以將Visual LISP看成是以AutoLISP語言為基礎(chǔ),增加了許多新函數(shù)和系統(tǒng)變量,并提供實(shí)用開發(fā)環(huán)境的二次開發(fā)系統(tǒng)。第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.1AutoLISPAutoLISP語言基礎(chǔ)知識(shí)語言基礎(chǔ)知識(shí)16.1.216.1.2加載和運(yùn)行加載和運(yùn)行AutoLISPAutoLISP程序程序第第1616課課AutoLI

6、SPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境在AutoCAD環(huán)境中主要有兩種加載AutoLISP程序的方法。 第一種方法在命令行中進(jìn)行加載,如要加載名為“Gpath.lsp”的程序文件,則在命令提示行輸入:command:(load”GPATH”) 第二種方法是通過選擇下拉菜單工具工具中的加加載應(yīng)用程序載應(yīng)用程序選項(xiàng)打開加載應(yīng)用程加載應(yīng)用程序序?qū)υ捒騺砑虞dAutoLISP程序 。第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.1AutoLISPAutoLISP語言基礎(chǔ)知識(shí)語言基礎(chǔ)知識(shí)16.1.316.1.3AutoLI

7、SPAutoLISP數(shù)據(jù)類型和語言結(jié)構(gòu)數(shù)據(jù)類型和語言結(jié)構(gòu)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境1、AutoLISP的數(shù)據(jù)類型的數(shù)據(jù)類型 AutoLISP表達(dá)式是根據(jù)括號(hào)中的指令和數(shù)據(jù)類型來執(zhí)行的,主要有11種數(shù)據(jù)類型。 整數(shù)實(shí)數(shù)符號(hào)與變量字符串表選擇集實(shí)體名文件描述符VLA對(duì)象受保護(hù)符號(hào)AutoLISP函數(shù)第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.1AutoLISPAutoLISP語言基礎(chǔ)知識(shí)語言基礎(chǔ)知識(shí)16.1.316.1.3AutoLISPAutoLISP數(shù)據(jù)類型和語言結(jié)構(gòu)數(shù)

8、據(jù)類型和語言結(jié)構(gòu)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境2、變量、變量預(yù)定義變量:AutoLISP中有一個(gè)特殊的變量“nil”,它是一種沒有被賦予數(shù)值的變量,表示從內(nèi)存中釋放變量的值。 局部變量與整體變量:AutoLISP的變量可分為局部變量與整體變量。它們都可以在函數(shù)和運(yùn)算式中定義。在函數(shù)定義的參數(shù)中,位于“/”右邊的參數(shù)均為局部變量定義。 第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.1AutoLISPAutoLISP語言基礎(chǔ)知識(shí)語言基礎(chǔ)知識(shí)16.1.316.1.3AutoLISP

9、AutoLISP數(shù)據(jù)類型和語言結(jié)構(gòu)數(shù)據(jù)類型和語言結(jié)構(gòu)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境3、AutoLISP的語言結(jié)構(gòu)的語言結(jié)構(gòu)AutoLISP程序的書寫格式有如下特點(diǎn): 由于AutoLISP語言的一切成分都是函數(shù),而所有函數(shù)又以表結(jié)構(gòu)的形式存在,所以AutoLISP程序的所有括號(hào)都需要左右匹配。 函數(shù)必須放在表中第一個(gè)元素的位置,如賦值函數(shù)“SETQSETQ”、算術(shù)運(yùn)算函數(shù)“+”+”等應(yīng)為表中的第一個(gè)元素,即放在操作數(shù)之前,而不是放在它們的中間。同時(shí)表中的函數(shù)與參數(shù),各參數(shù)之間均至少要用一個(gè)空格分開。 兩個(gè)表

10、之間和表內(nèi)的多余空格和回車是不需要的,故一個(gè)表可占多行,一行也可以寫多個(gè)表 。 AutoLISP程序中可以使用分號(hào)“;”作注釋 。 AutoLISP程序是以后綴為“l(fā)sp”的ASCII碼文本文件形式表達(dá)。第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.116.2.1運(yùn)算符運(yùn)算符第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境1、數(shù)學(xué)運(yùn)算符、數(shù)學(xué)運(yùn)算符 任何編程語言都提供數(shù)學(xué)函數(shù),同樣在AutoLISP中也提供了編程以及數(shù)

11、學(xué)運(yùn)算所需要的大部分?jǐn)?shù)學(xué)函數(shù) 。2、比較運(yùn)算符、比較運(yùn)算符 在程序中,通常需要測(cè)試某些特定的條件,若條件為真,程序執(zhí)行某些功能,若不為真,執(zhí)行另外一些功能。編程中經(jīng)常要用到這些類型的比較運(yùn)算符。 第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.216.2.2定義函數(shù)、賦值函數(shù)和用戶輸入函數(shù)定義函數(shù)、賦值函數(shù)和用戶輸入函數(shù)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境1、定義函數(shù)、定義函數(shù) 利用DEFUNDEFUN函數(shù)在

12、AutoLISP中可以定義用戶自己的函數(shù)。一旦完成定義,這些函數(shù)可以同標(biāo)準(zhǔn)函數(shù)一樣在AutoCAD命令行或者在其他AutoLISP表達(dá)式中使用。同時(shí)用戶也可以創(chuàng)建自己的AutoCAD命令,因?yàn)槊钍且环N專用的函數(shù)類型。2、賦值函數(shù)、賦值函數(shù) 每個(gè)接收用戶輸入的GETXXXGETXXX函數(shù),都能夠暫停程序執(zhí)行,等待用戶輸入指定類型的數(shù)據(jù),而后返回用戶輸入的值。在函數(shù)等待用戶輸入之前,將會(huì)有一個(gè)可選的提示顯示。 3、用戶輸入函數(shù)、用戶輸入函數(shù)第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.216

13、.2.2定義函數(shù)、賦值函數(shù)和用戶輸入函數(shù)定義函數(shù)、賦值函數(shù)和用戶輸入函數(shù)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境4、有關(guān)、有關(guān)AutoCAD命令的函數(shù)命令的函數(shù) COMMAND COMMAND函數(shù)直接將一個(gè)AutoCAD命令送到AutoCAD命令行中,AutoCAD命令名及命令選項(xiàng)必須置于雙引號(hào)內(nèi);函數(shù)中的參數(shù)必須和預(yù)計(jì)的命令提示系列的類型和值對(duì)應(yīng),這些類型可以是字符串、實(shí)數(shù)、整數(shù)、點(diǎn)、實(shí)體名或選擇集名。像角度、距離或點(diǎn)這樣的數(shù)據(jù)可以用字符串或其本身值作為參考傳入,一個(gè)空字符串“”和按回車鍵是一樣的。 第第6 6教

14、學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.316.2.3系統(tǒng)變量存取函數(shù)、表處理函數(shù)和顯示函數(shù)系統(tǒng)變量存取函數(shù)、表處理函數(shù)和顯示函數(shù)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境1、系統(tǒng)變量存取函數(shù)、系統(tǒng)變量存取函數(shù) 通過使用GETVARGETVAR和SETVARSETVAR函數(shù),AutoLISP能夠獲得和改變AutoCAD系統(tǒng)變量的值。這些函數(shù)使用一個(gè)字符串來指定一個(gè)系統(tǒng)變量名,系統(tǒng)變量名必須置于雙引號(hào)中。 SETVARS

15、ETVAR函數(shù)指定一個(gè)AutoCAD系統(tǒng)變量所期望的數(shù)據(jù)類型的值。 GETVARGETVAR函數(shù)使AutoLISP程序可以訪問當(dāng)前定義的變量,同時(shí)可以存儲(chǔ),以便以后恢復(fù)。 第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.316.2.3系統(tǒng)變量存取函數(shù)、表處理函數(shù)和顯示函數(shù)系統(tǒng)變量存取函數(shù)、表處理函數(shù)和顯示函數(shù)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境2、表處理函數(shù)、表處理函數(shù) AutoLISP主要通過表結(jié)構(gòu)來存儲(chǔ)數(shù)

16、據(jù)和處理數(shù)據(jù),AutoLISP的表處理函數(shù)主要有構(gòu)造表函數(shù),選取表元素函數(shù)和關(guān)聯(lián)表函數(shù)等。 構(gòu)造表函數(shù)LIST可用于將任意數(shù)目的表達(dá)式組合成一個(gè)表,該函數(shù)還可以使用單引號(hào)“”命名。 選取表元素函數(shù)將用來選擇表中的部分內(nèi)容,其中: CARCAR函數(shù):返回表中的第一個(gè)元素。 CDRCDR函數(shù):返回一個(gè)移去表第一個(gè)元素后的列表。 CADRCADR函數(shù):該函數(shù)執(zhí)行兩個(gè)操作,即CDRCDR和CARCAR,因此返回列表的第二個(gè)元素。 LASTLAST函數(shù):返回表中的最后一個(gè)元素。第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常

17、用函數(shù)及其應(yīng)用16.2.316.2.3系統(tǒng)變量存取函數(shù)、表處理函數(shù)和顯示函數(shù)系統(tǒng)變量存取函數(shù)、表處理函數(shù)和顯示函數(shù)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境3、顯示函數(shù)、顯示函數(shù) AutoLISP有幾個(gè)函數(shù)可以控制AutoCAD的顯示,包括文本屏幕和圖形屏幕的控制等。 基本的輸出函數(shù)有PROMPTPROMPT、PRINCPRINC、PRIN1PRIN1和PRINTPRINT。 PROMPTPROMPT函數(shù)在AutoCAD提示行顯示一條信息并返回“nil”,這僅用于在屏幕上顯示一條信息。PRINCPRINC、PRIN1

18、PRIN1和PRINTPRINT函數(shù)都是在提示行顯示一個(gè)表達(dá)式并返回該表達(dá)式。它們的不同之處為PRINCPRINC顯示不帶引號(hào)字符串,并打印帶“”符號(hào)的控制字符;而PRIN1PRIN1和PRINTPRINT顯示帶引號(hào)的字符串,不打印控制字符;并且PRINTPRINT在表達(dá)式的開始處放一個(gè)換行符,在結(jié)尾處放一個(gè)空格。第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.416.2.4角度轉(zhuǎn)換和幾何計(jì)算函數(shù)角度轉(zhuǎn)換和幾何計(jì)算函數(shù)第第1616課課AutoLISPAutoLISP語言與語言與Visual

19、LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境1、角度轉(zhuǎn)換、角度轉(zhuǎn)換 角度和弧度相互之間轉(zhuǎn)換的有效的方法是建立一個(gè)弧度到角度或角度到弧度的轉(zhuǎn)換函數(shù) 。2、幾何計(jì)算函數(shù)、幾何計(jì)算函數(shù) POLAR POLAR函數(shù)利用相對(duì)于給定點(diǎn)的角度和距離定義另一個(gè)點(diǎn),該角度以弧度表示,逆時(shí)針方向?yàn)檎琍OLARPOLAR函數(shù)的格式為:(polar 給定參照點(diǎn) 弧度距離)第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.516.2.5判斷語法與循環(huán)結(jié)構(gòu)判斷語法與循環(huán)結(jié)構(gòu)第第1616課課AutoLISPAutoLI

20、SP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境1、流程圖、流程圖 流程圖以圖形的方式來表示算法,可用于對(duì)具體問題進(jìn)行系統(tǒng)的分析,特別是當(dāng)問題中包含判斷、循環(huán)等語句時(shí)更有助于對(duì)程序的理解。流程圖是由在程序中代表特定功能的標(biāo)準(zhǔn)符號(hào)構(gòu)成,而每個(gè)符號(hào)都通過表示操作結(jié)果的直線連接起來。 第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.516.2.5判斷語法與循環(huán)結(jié)構(gòu)判斷語法與循環(huán)結(jié)構(gòu)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisu

21、al LISP開發(fā)環(huán)境開發(fā)環(huán)境2、判斷函數(shù)、判斷函數(shù) 本節(jié)前面討論的關(guān)系函數(shù)用于建立兩個(gè)元素間的關(guān)系。例如,( x y)描述了一個(gè)操作的測(cè)試條件。為了有目的的使用這些函數(shù),就必須用到判斷函數(shù)。例如,(if ( x y)(setq z (- y x)(setq z (- x y))描述了當(dāng)該條件為真“T”和假“nil”兩種情況時(shí)將采取的動(dòng)作。若條件為真,z=y-x;若條件為假,z=x-y。因此,對(duì)于各種高級(jí)程序語言來說,判斷函數(shù)是非常重要的。IFIF函數(shù)指定的條件返回為“T”,則執(zhí)行第一個(gè)表達(dá)式;若指定的條件返回為“nil”,則執(zhí)行第二個(gè)表達(dá)式。該函數(shù)的格式為:(if 條件語句 第一個(gè)表達(dá)式 第

22、二個(gè)表達(dá)式)第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.516.2.5判斷語法與循環(huán)結(jié)構(gòu)判斷語法與循環(huán)結(jié)構(gòu)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境2、判斷函數(shù)、判斷函數(shù)CONDCOND函數(shù)提供了一種特殊的多項(xiàng)選擇判斷方法,它可以用來檢測(cè)表達(dá)式的各種值,然后再選擇適當(dāng)?shù)囊粋€(gè)來執(zhí)行。其格式是:(cond (判斷式1)(執(zhí)行運(yùn)算式1)(判斷式2)(執(zhí)行運(yùn)算式2)(判斷式3)(執(zhí)行運(yùn)算式3)(t(最后表達(dá)式)))CO

23、NDCOND函數(shù)對(duì)它的判斷式先進(jìn)行求值,直到其中一個(gè)符合條件(不為“nil”)為止,然后再去執(zhí)行該判斷式后的執(zhí)行運(yùn)算式;如果所有的判斷式均為“nil”,則執(zhí)行最后表達(dá)式。第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.516.2.5判斷語法與循環(huán)結(jié)構(gòu)判斷語法與循環(huán)結(jié)構(gòu)第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境3、循環(huán)函數(shù)、循環(huán)函數(shù) 循環(huán)是一種功能強(qiáng)大的語言結(jié)構(gòu),它能讓計(jì)算機(jī)快速、準(zhǔn)確地處理重復(fù)性的流程或表達(dá)式,這樣

24、就不需要重復(fù)編寫相關(guān)的程序代碼。 WHILEWHILE函數(shù)求解一個(gè)測(cè)試條件,若條件不為“nil”,則重復(fù)執(zhí)行循環(huán)子句中的表達(dá)式,直至測(cè)試表達(dá)式的求值結(jié)果為nil為止,然后跳出循環(huán)。其格式為: (while 測(cè)試條件 表達(dá)式) REPEATREPEAT函數(shù)根據(jù)函數(shù)中指定的次數(shù)n反復(fù)求解表達(dá)式,變量n必須為整數(shù),其格式為: (repeat n 表達(dá)式)第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.2AutoLISPAutoLISP常用函數(shù)及其應(yīng)用常用函數(shù)及其應(yīng)用16.2.616.2.6編輯圖形數(shù)據(jù)庫函數(shù)編輯圖形數(shù)據(jù)庫函數(shù)第第1616課課AutoLISPAutoLISP

25、語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境 前面講述的AutoLISP常用函數(shù),使用它們就象使用AutoCAD繪圖命令一樣,在處理比較復(fù)雜的問題時(shí)依然效率不高,AutoLISP還提供了一類圖形數(shù)據(jù)庫訪問和編輯函數(shù),它們是編輯圖形的強(qiáng)大工具。例如,可以編寫一個(gè)程序,只要輸入一個(gè)命令,就可以刪除圖形中的所有文本對(duì)象或者改變所有圓的圖層及顏色。一旦了解了AutoCAD存儲(chǔ)圖形對(duì)象的信息,以及如何檢索和編輯這些信息,就可以以任何希望的方式操縱該圖形數(shù)據(jù)庫。第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.3Visual LISPVisual LI

26、SP開發(fā)環(huán)境及其應(yīng)用開發(fā)環(huán)境及其應(yīng)用16.3.116.3.1Visual LISPVisual LISP開發(fā)環(huán)境圖形界面開發(fā)環(huán)境圖形界面第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境 Visual LISP集成開發(fā)環(huán)境運(yùn)行在一系列獨(dú)立的窗口中,這些窗口雖然與AutoCAD分離,但用戶只能在AutoCAD中啟動(dòng)和使用Visual LISP。第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.3Visual LISPVisual LISP開發(fā)環(huán)境及其應(yīng)用開發(fā)環(huán)境及其應(yīng)用16.3.216.3.2Visu

27、al LISPVisual LISP開發(fā)環(huán)境應(yīng)用開發(fā)環(huán)境應(yīng)用第第1616課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境 Visual LISP開發(fā)輔助工具可以幫助用戶規(guī)范所編寫的AutoLISP代碼,改善其可讀性,同時(shí)還幫助用戶檢查代碼中的語法錯(cuò)誤。 1、開發(fā)輔助工具、開發(fā)輔助工具第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.3Visual LISPVisual LISP開發(fā)環(huán)境及其應(yīng)用開發(fā)環(huán)境及其應(yīng)用16.3.216.3.2Visual LISPVisual LISP開發(fā)環(huán)境應(yīng)用開發(fā)環(huán)境應(yīng)用第第161

28、6課課AutoLISPAutoLISP語言與語言與Visual LISPVisual LISP開發(fā)環(huán)境開發(fā)環(huán)境Visual LISP中包含了強(qiáng)大的調(diào)試功能使用戶可以方便地對(duì)程序進(jìn)行調(diào)試。主要提供的工具有: 中斷循環(huán)模式(Break Loop ModeBreak Loop Mode):可以在程序中指定的位置終止程序的執(zhí)行。 查看(Inspect WindowInspect Window):在查看窗口中可以向用戶提供有關(guān)對(duì)象的詳細(xì)信息。 觀察窗口(Watch WindowWatch Window):在程序執(zhí)行過程中可以觀察變量的值。 堆棧跟蹤工具(Trace Stack FacilityTrace Stack Facility):堆棧是Visual LISP中的一種機(jī)制,通過這種機(jī)制Visual LISP可以記錄程序中函數(shù)的執(zhí)行順序。 跟蹤工具(Trace FacilityTrace Facility):跟蹤工具用來記錄被跟蹤函數(shù)的調(diào)用和返回值,并將這些信息顯示在特定的跟蹤窗口中。2、調(diào)試工具、調(diào)試工具第第6 6教學(xué)單元教學(xué)單元建筑建筑CADCAD二次開發(fā)技術(shù)二次開發(fā)技術(shù)16.3Visual LISPVisual LISP開發(fā)環(huán)境及其應(yīng)用開發(fā)環(huán)境及其應(yīng)用16.3.216.3.2Visual LISPVisual LISP開發(fā)環(huán)境應(yīng)用開發(fā)環(huán)境應(yīng)用第第1616課課Auto

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論