您當(dāng)前的位置:主頁>>AutoCAD>>AutoCAD二次開發(fā)  
           VisualLISP的概念、功能和基本界面

        1.1 VisualLISP與AutoLISP
  LISP是ListProcessor(表處理程序)的縮寫,主要用于人工智能(AI)領(lǐng)域。AutoLISP是人工智能語言CommonLISP的簡(jiǎn)化版本,作為通用LISP語言的一個(gè)小子集,AutoLISP嚴(yán)格遵循其語法和慣例,但又添加了許多針對(duì) AutoCAD的功能。Autodesk公司在AutoCAD2.1版引入AutoCAD作為應(yīng)用程序編程接口(API),用于擴(kuò)展和自定義AutoCAD功能。借助AutoLISP,用戶可以用適合編寫圖形應(yīng)用程序的強(qiáng)大的高級(jí)語言來編寫宏程序和函數(shù),并開發(fā)各種軟件包。AutoLISP易于使用,并且非常靈活,多年來一直是自定義AutoCAD的標(biāo)準(zhǔn)。
從AutoCADR14開始,VisualLISP被引入到AutoCAD中,它增強(qiáng)并擴(kuò)展了AutoLISP語言,可以通過MicrosoftActiveXAutomation接口與對(duì)象交互,并擴(kuò)展了AutoLISP響應(yīng)事件的能力。作為開發(fā)工具,VisualLISP提供了一個(gè)完整的集成開發(fā)環(huán)境(IDE),包括編譯器、調(diào)試器和其他工具,可以提高自定義AutoCAD的效率。另外,VisualLISP提供了發(fā)布用AutoLISP編寫的獨(dú)立應(yīng)用程序的工具。VisualLISP沒有任何特殊的硬件需求,能運(yùn)行AutoCAD系統(tǒng)即可運(yùn)行VisualLISP。
        1.2 VisualLISP與AutoCAD
  VisualLISP作為一個(gè)完整的集成開發(fā)環(huán)境(IDE),具有自己的窗口和菜單,但它并不能獨(dú)立于AutoCAD運(yùn)行。當(dāng)用戶從VisualLISPIDE中運(yùn)行AutoLISP程序時(shí),經(jīng)常需要與AutoCAD圖形交互或在命令窗口響應(yīng)程序提示。
如果VisualLISP把控制傳給AutoCAD時(shí)AutoCAD已被最小化,用戶必須手動(dòng)恢復(fù)并激活A(yù)utoCAD才可繼續(xù),VisualLISP不會(huì)自動(dòng)恢復(fù)AutoCAD窗口。相反,VisualLISP窗口中會(huì)出現(xiàn)并保持一個(gè)VisualLISP符號(hào),直到激活A(yù)utoCAD并響應(yīng)了在AutoCAD命令提示處的提示。
        1.3 VisualLISPIDE簡(jiǎn)介
  VisualLISPIDE的主要組成部分和功能為:
(1)語法檢查器:可識(shí)別AutoLISP語法錯(cuò)誤和調(diào)用內(nèi)置函數(shù)時(shí)的參數(shù)錯(cuò)誤。
(2)文件編譯器:改善了程序的執(zhí)行速度,并提供了安全高效的程序發(fā)布平臺(tái)。
(3)源代碼調(diào)試器:專為AutoLISP設(shè)計(jì),利用它可以在窗口中單步調(diào)試AutoLISP源代碼,同時(shí)還在AutoCAD圖形窗口顯示代碼運(yùn)行結(jié)果。
(4)文字編輯器:可采用AutoLISP和DCL語法著色,并提供其他AutoLISP語法支持功能。
(5)AutoLISP格式編排程序:用于調(diào)整程序格式,改善其可讀性。
(6)全面的檢驗(yàn)和監(jiān)視功能:用戶可以方便地訪問變量和表達(dá)式的值,以便瀏覽和修改數(shù)據(jù)結(jié)構(gòu)。這些功能還可用來瀏覽AutoLISP數(shù)據(jù)和AutoCAD圖形的圖元。
(7)上下文相關(guān)幫助:提供AutoLISP函數(shù)的信息。強(qiáng)大的自動(dòng)匹配功能方便了符號(hào)名查找等操作。
(8)工程管理系統(tǒng):維護(hù)多文件應(yīng)用程序更加容易。
(9)打包功能:可將編譯后的AutoLISP文件打包成單個(gè)模塊。
(10)桌面保存和恢復(fù)能力:可保存和重用任意VLISP任務(wù)的窗口環(huán)境。
(11)智能化控制臺(tái)窗口:它給AutoLISP用戶提供了極大的方便,從而大大提高了用戶的工作效率?刂婆_(tái)的基本功能與AutoCAD文本屏幕類似,還提供了許多交互功能,例如歷史記錄功能和完整的行編輯功能等。
           1.4 VisualLISP的啟動(dòng)和界面
  由于VisualLISP集成于AutoCAD系統(tǒng)內(nèi)部,因此用戶必須先啟動(dòng)AutoCAD,然后才能進(jìn)入VisualLISPIDE環(huán)境。啟動(dòng)VisualLISP的方式為:
菜單:【Tools(工具)】→【AutoLISP】→【VisualLISPEditor(VisualLISP編輯器)】
命令行:vlide(或vlisp)
啟動(dòng)VisualLISP后,其主要界面如圖36-1所示。

  各組成部分的說明如下:
(1)菜單欄:通過選取各菜單項(xiàng)來發(fā)出VisualLISP命令。
(2)工具欄:提供了對(duì)常用VisualLISP命令的快速調(diào)用。VisualLISP共提供了五個(gè)工具欄:“Standard(標(biāo)準(zhǔn))”、“Search(搜索)”、“View(視圖)”、“Debug(調(diào)試)”和“Tools(工具)”,如圖36-2所示,每個(gè)工具欄各自代表不同功能的命令組。

(3)編輯窗口:用于編輯LISP文件代碼。如果用戶同時(shí)編輯多個(gè)文件,則VisualLISP使用多個(gè)編輯窗口來分別顯示文件。
(4)控制臺(tái)窗口:類似于AutoCAD的命令窗口,可在其中輸入AutoLISP命令,也可以不使用菜單或工具欄而直接在控制臺(tái)窗口中調(diào)用VisualLISP命令。
(5)跟蹤窗口:在啟動(dòng)VisualLISP,該窗口將顯示VisualLISP當(dāng)前版本的信息。而如果VisualLISP在啟動(dòng)時(shí)遇到錯(cuò)誤,它還會(huì)包含相應(yīng)的錯(cuò)誤信息。
(6)狀態(tài)欄:顯示提示信息。比如,當(dāng)菜單上的某一個(gè)菜單項(xiàng)被亮顯,則狀態(tài)欄上將顯示相關(guān)命令功能的簡(jiǎn)介;當(dāng)鼠標(biāo)指針在工具欄某按鈕上停留幾秒鐘后,VisualLISP將顯示工具提示說明按鈕功能,并同時(shí)在狀態(tài)欄上顯示更詳細(xì)的描述;當(dāng)VisualLISP在編輯窗口中打開文件時(shí),狀態(tài)欄上將顯示文件名名稱及其路徑。
(7)其他窗口:有些VisualLISP函數(shù)將創(chuàng)建它們自己的窗口來顯示結(jié)果。用戶不能在這些輸出窗口中輸入文本,但可以從中復(fù)制,并將其粘貼到編輯器或控制臺(tái)窗口中。
           1.5 退出VisualLISP
    用戶可選擇菜單【File(文件)】→【Exit(退出)】或單擊窗口右上角的按鈕來退出VisualLISP環(huán)境并返回AutoCAD系統(tǒng)窗口。VisualLISP將保存您退出時(shí)的狀態(tài),并在下一次啟動(dòng)VisualLISP時(shí)自動(dòng)打開上次退出時(shí)打開的文件和窗口。
民眾工作室.制作      版權(quán)所有