autolisp教程

autolisp教程

ID:39464917

大?。?49.50 KB

頁數(shù):43頁

時(shí)間:2019-07-03

autolisp教程_第1頁
autolisp教程_第2頁
autolisp教程_第3頁
autolisp教程_第4頁
autolisp教程_第5頁
資源描述:

《autolisp教程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第十四章AutoLISP初步第十四章AutoLISP14.1關(guān)于AutoLISPAutoLISP是由Autodesk公司開發(fā)的一種LISP程序語言(LISP是ListProcessor的縮寫)。第一篇關(guān)于LISP的參考文獻(xiàn)是由JohnMcCarthy在1960年4月的《ACM通訊》中發(fā)表的。除了FORTRAN和COBOL,大多數(shù)在六十年代早期開發(fā)出來的語言都過時(shí)了,可是LISP卻生下來,并且已經(jīng)成為人工智能(AI)的首選程序序言。AutoLISP解釋程序位于AutoCAD軟件包中,然而AutoCADR2.17及更低版本中并不包

2、含AutoLISP解釋程序,這樣,只有通過AutoCADR2.18及更高版本才可以使用AutoLISP語言。AutoCAD軟件包中包含大多數(shù)用于產(chǎn)生圖形的命令,但仍有某些命令末被提供。例如,AutoCAD中沒有在圖形文本對(duì)象內(nèi)繪制矩形及作全局改變的命令。通過AutoLISP,你可以使用AutoLISP程序語言編制能夠在圖形文本對(duì)象內(nèi)繪制矩形或作全局選擇性改變的程序。事實(shí)上,可以用AutoLISP編制任何程序,或把它嵌入到菜單中,這樣定制你的系統(tǒng)會(huì)取得更高的效率?,F(xiàn)在,已經(jīng)有數(shù)以百計(jì)的第三方軟件開發(fā)人員使用AutoLISP語言編

3、制各種應(yīng)用程序軟件包,例如,本文作者開發(fā)了一個(gè)名為SMLayout的軟件包,用它可以產(chǎn)生各種復(fù)雜幾何圖形的平面布局圖,這些幾何圖形包括管道的交叉部、過渡都、圓柱、彎管接頭、圓錐以及罐頂。目前社會(huì)上非常需要AutoLISP程序員為應(yīng)用軟件及客戶菜單的開發(fā)提供顧問。在本章中,我們假定讀者已經(jīng)熟悉了AutoCAD命令及AutoCAD的系統(tǒng)變量。但是,在開始學(xué)習(xí)AutoLISP時(shí),卻并不需要你是一位AutoCAD或編程專家。同時(shí),本章還假定讀者并無編程方面的知識(shí)。如果你熟悉任何一種編程語言,那么學(xué)習(xí)AutoLISP就會(huì)很容易。對(duì)各種函

4、數(shù)的評(píng)細(xì)探討以及對(duì)例題的逐步講解會(huì)使你學(xué)起來很有興趣。本章討論常用的AutoLISP函數(shù)以及它們S程序編制中的應(yīng)用。對(duì)于本章中未涉及的函數(shù),請(qǐng)參閱Autodesk公司的《AutoLISP程序員參考手冊(cè)》。AutoLISP對(duì)硬件沒有任何特殊要求。如果系統(tǒng)能夠運(yùn)行AutoCAD,那么同樣也可以運(yùn)行AutoLISP。AutoLISP程序可以使用任何文本編輯器進(jìn)行編制。14.2數(shù)學(xué)運(yùn)算任何編程語言都提供數(shù)學(xué)函數(shù)。在AutoLISP中,同樣提供了編程以及數(shù)學(xué)計(jì)算所需的大部分?jǐn)?shù)學(xué)函數(shù),你可以使用AutoLISP對(duì)數(shù)字進(jìn)行加、減、乘、除運(yùn)算

5、,還可以得到以弧度表示的角度的正弦值、余弦值及反正切值等。使用AutoLISP還可以進(jìn)行許多其他計(jì)算。這一節(jié)主要討論AutoLISP程序語言支持的常用數(shù)學(xué)函數(shù)。1.加法格式(+num1num2num3…)此函數(shù)(+)計(jì)算加號(hào)(+)右邊所有數(shù)字的和(+num1num2num3…)。這些數(shù)字可以是整數(shù)或?qū)崝?shù)。如果均為整數(shù),則和為整數(shù);如果均為實(shí)數(shù),則和為實(shí)數(shù)。但是如果既有整數(shù)又有實(shí)數(shù),則和為實(shí)數(shù)。如下所示,在前兩個(gè)例子中,所有數(shù)字均為整數(shù),所以結(jié)果是整數(shù)。在第三個(gè)例子中,一個(gè)是實(shí)數(shù)(50.0),故結(jié)果為實(shí)數(shù)。示例:311第十四章A

6、utoLISP初步Command:(+25)返回7Command:(+230450)返回86Command:(+230450.0)返回86.02.減法格式(-num1num2num3…)此函數(shù)(-)從第一個(gè)數(shù)中減去第二個(gè)數(shù)(num1-num2)。如果多于兩個(gè)數(shù),就用第一個(gè)數(shù)字減去其后所有數(shù)字的和[num1-(num2+num3…)]。在下面的第一個(gè)例子中,28減去14后返回14。因?yàn)閮蓚€(gè)數(shù)均為整數(shù),結(jié)果亦為整數(shù)。在第三個(gè)例子中20與10.0相加,并用50減去兩數(shù)的和(30.0),返回一個(gè)實(shí)數(shù)20.0。示例:Command:(-

7、2814)返回14Command:(-25711)返回7Command:(-502010.0)返回20.0Command:(-2030)返回河0Command:(-20.030.0)返回-10.03.乘法格式(num1num2num3…)此函數(shù)(*)計(jì)算乘號(hào)右邊所有數(shù)字的乘積(num1×num2×num3…)。若均為整數(shù),它們的乘積亦為整數(shù);若其中含有一個(gè)實(shí)數(shù),乘積即為實(shí)數(shù)。示例:Command:(25)返回10Command:(253)返回30Command:(2532.0)返回60.0Command:(2-5.5)返回-1

8、1.0Command:(2.0-5.5-2)返回22.04.除法格式(/num1num2num3…)此函數(shù)(/)用第一個(gè)數(shù)除以第二個(gè)數(shù)。如果多于兩個(gè)數(shù),就用第一個(gè)數(shù)除以其后所有數(shù)的乘積[num1/(num2×num3×…)]。在下面的第四個(gè)例子中,用200除以5.0與4的乘積

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。