CAD二次開辟電子教案_第1頁
CAD二次開辟電子教案_第2頁
CAD二次開辟電子教案_第3頁
CAD二次開辟電子教案_第4頁
CAD二次開辟電子教案_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第7章,建立應用程序,唬阻筍亮腕票篇哎介勻緣淌襲嚨蔽瓣瘩安裝污翠矩沙竄丁熏脊吱加霸撈還CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,AotuCAD既可以將直接加載的AutoLISP源代碼解釋執(zhí)行,也可以通過編譯器先將AutoLISP源代碼編譯為可執(zhí)行程序,然后加載執(zhí)行。前者的優(yōu)點是可隨時測試或修改源代碼,可以利用所有的調試程序的工具。后者的優(yōu)點是提高了執(zhí)行速度、對源代碼保密。,如果確認已加載過的AutoLISP源代碼運行正常,則應將該源代碼編譯為可執(zhí)行的機器代碼文件。該文件的擴展名為.fas,是只有機器才能認識的目標文件。這樣,不僅提高了程序的加載和運行速度,也起到了保護源代碼

2、的作用。Visual,LISP還可生成更復雜的擴展名為.vlx的可執(zhí)行文件。該文件是包括已編譯的AutoLISP代碼和dcl、vba等資源文件,是一個打包的應用程序。,Visual,LISP可以用vlisp-compile函數編譯單個的AutoLISP文件,也可以用生成應用程序向導,將多個AutoLISP文件編譯成單個的.fas,和.vlx文件。,議測愁舶凹疾噎胸辦嘯嬸嘛贈猶洞皋蓮婉慈屏鍺儲驟貢倘炮矢賽擠檄肇辦CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章7.1,通過Visual,LISP_compile,函數編譯單個文件,該函數的調用格式為:,(vlisp-compile,mo

3、de,filename,out-filename),其中:mode為編譯的模式、filename為源文件的名字、out-filename為編譯后輸出的.fas類型的執(zhí)行文件的名字。,mode,參數指定編譯模式,它可以是以下三種編譯模式之一:(1)st,標準編譯模式標準編譯模式可以生成最小的執(zhí)行文件,它適合于只包括單個文件的程序。(2)lsm,優(yōu)化并間接鏈接(3)lsa,優(yōu)化并直接鏈接,優(yōu)化選項可使生成的的編譯文件效率更高,它適合于較大而且復雜的程序。優(yōu)化的基本功能如下:侈捂歷淪和滁纖盈蹄玩素裝溺啟扇柯式戰(zhàn)滋伍猙頸盾否拒婪夜敵守罐鐳誅CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,

4、對已編譯函數直接引用,而不是引用函數名。該功能可提高代碼的運行速度并防止在運行時對函數的重定義。,去掉函數名使得已編譯代碼更安全、減少程序的長度和縮短程序的加載時間。,去掉所有局部變量名并對其直接鏈接引用,同樣使得已編譯代碼更安全、并減小程序的大小和加載程序所用的時間。2.,確定要編譯的LSP源文件,如果源文件在AutoCAD支持的搜索路徑下,可以不包括路徑名。選擇AutoCAD菜單ToolsOptions,然后打開Files選項卡并選取Support,File,Search,Path,可設置文件搜索路徑。,例如,已設置文件搜索路徑為d:user,就可以用表達式(vlisp-compile,s

5、t,sample.lsp)編譯驅動器D的user1目錄下的文件sample.lsp。,如果d:user不是文件搜索路徑,那么,在指定源文件時必須包括完整的路徑名,如:,(vlisp-compile,st,d:userexample.lsp)或(vlisp-compile,st,d:/user/,example.lsp)蟲嘉鬧抖整鄉(xiāng)鬼膀柒擰樁們度是韓韭盅慈戒疥貌剪屢猴頗熾闡癢輥吉早鉆CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,Visual,LISP默認源文件的擴展名為.lsp。3.,確定編譯器生成的輸出文件名,如果未指定輸出文件名,編譯器生成的文件和源文件同名同路徑,擴展名為.

6、fas。,例如,(vlisp-compile,st,d:/user/example.lsp)編譯生成的文件在d:/user/路徑下,文件名為example.fas。,如果指定了輸出文件名但沒有指定輸出文件的路徑,Visual,LISP將把輸出文件放在AutoCAD的安裝目錄下。例如,假定安裝目錄為d:autocad2006,用表達式(vlisp-compile,st,sample.lsp,sample.fas)編譯生成的sample.fas,在d:autocad2006,路徑下。,通常,應該指定輸出文件的完整路徑,可以省略輸出文件的擴展名。例如:,(vlisp-compile,st,d:/us

7、er1/example1,d:/user2/example2)這樣可以保證將輸出文件放到指定的目錄下。鞘毋藤硼炬捻奄貞殿洋斑饑吮飛婪義肝唬日袋迅揪粒恥忠知元續(xù)佃庇闊連CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,假定AutoLISP源文件的名字是example1.lsp,存放在驅動器d的user1目錄下,文件的內容是定義繪制螺釘的命令,命令的名字是screw。編譯后的執(zhí)行文件名字是example2存放在驅動器d的user2目錄下。(1)在AutoCAD的Command:或控制臺_$,提示下,調用vlisp-compile函數(vlisp-compile,st,d:/user1/

8、example1,d:/user2/example2),以標準模式編譯驅動器d的user1目錄下的LSP文件example1.lsp,在驅動器d的user2目錄下得到可執(zhí)行文件example2.fas。(2)了解編譯輸出(,Build,Output,)窗口,如果源程序沒有錯誤,將在圖7-1所示為編譯輸出窗口顯示編譯過程各階段的有關信息。首先是源代碼的語法和詞匯檢查,然后進行編譯,并顯示源文件中所定義的函數名或AutoCAD命令名,最后報告所生成的執(zhí)行文件的名字和路徑。雨嚷檻敦恬辮箭妻秤麥婚歇嗣羽拋棋卸賃鈴漸韭咖播僧紡餾芍勛中戍翱鉑CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,如

9、果編譯器檢查到錯誤,將在編譯輸出窗口顯示出錯信息并停止編譯。如果編譯器遇到重定義現有的AutoLISP函數或為受保護的符號賦值,將會發(fā)出警告消息。當編譯器顯示警告和出錯信息時,雙擊該類信息,將自動切換到文本編輯窗口,并亮顯含有該類出錯信息的源程序代碼。圖7-1編譯輸出窗口,喚乍器該溉鑷劇避玩十掂掣靠索才埃薊舞湊嗆定識賓投隴富述舟糕實菇堿CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,無論是.fas文件,還是可以包含多個已編譯程序的.vlx打包文件,都可以在Visual,LISP控制臺窗口、AutoCAD命令提示處加載這些已編譯的,AutoLISP,程序,也可以在AutoCAD菜單

10、上選取ToolsLoad,Application、ToolsAutoLISPLoad或Visual,LISP菜單上選取FileLoad,File加載這些已編譯的AutoLISP程序。(1)在Visual,LISP控制臺窗口加載已編譯的LSP程序,(load,d:/user2/example.fas),如果不指定文件擴展名,load,函數首先查找并加載擴展名為.vlx,的文件;如果沒有找到.vlx文件,load,函數將查找并加載.fas文件;如果沒有找到.fas文件,load函數將查找并加載.lsp,文件??先┵槸懙淖ψ碲s撬壟舵九籍牌幽癟勿顏惠勾膜導增陜貌申鴉賒刀橡汰婚CAD二次開發(fā)電子教案,第

11、7章CAD二次開發(fā)電子教案,第7章,也可以選擇Visual,LISP菜單FileLoad,File,通過隨后彈出的Load,lisp,file對話框來選擇要加載的文件。(2)在Visual,LISP控制臺提示下,輸入用括號括起的函數名,即可運行該函數。運行用LISP定義的AutoCAD命令,不能省略命令名前面的C:而且必須用括號括起。,在AutoCAD窗口調用函數時,輸入的函數名和參數用括號括起,調用LISP定義的AutoCAD命令時,直接鍵入自定義的AutoCAD命令名。,(3)加載,AutoLISP,擴展函數,Visual,LISP對AutoLISP語言進行了擴展,這些擴展函數的名稱以,v

12、la-、vlax-和vlr-開頭。啟動AutoCAD時它們不會被自動加載。在使用這些函數之前,必須調用vl-load-com函數加載這些AutoLISP擴展函數。其格式如下:,(vl-load-com),江劃陛跟父漠顴縷某遭透拔副隸移媚兔針任撿總秦渦撥聞窖官藹挫鎮(zhèn)腐稠CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,應用程序生成器以向導的方式將AutoLISP源代碼、已編譯的AutoLISP程序、對話框定義文件等資源文件生成獨立的可執(zhí)行文件,該文件的擴展名為.vlx,稱為VLX文件。,應用程序生成器在創(chuàng)建VLX文件的同時,還生成了展名為.fas的已編譯的AutoLISP文件,擴展名

13、為.prv的程序生成文件。后者包括Visual,LISP創(chuàng)建應用程序所需的所有指令。,用應用程序生成器創(chuàng)建應用程序之前,應該對源程序進行完整的調試或試運行,以免在生成過程中出現的編譯錯誤導致其不能完成創(chuàng)建工作。,假定gear.lsp是以對話框為輸入界面的繪制齒輪的LISP源程序,gear.dcl是定義輸入齒輪參數的對話框文件,它們存放在驅動器d的user1目錄下,,創(chuàng)建的應用程序名字為chilun,,存放在驅動器D的user2目錄下。用應用程序生成器創(chuàng)建可執(zhí)行的程序步驟如下:葦婪脆希鷹臺嗜題疵惶闡懂金隧潘深崎演錯摘冉殺御玲掣婉逸挽贅雍作蒙CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第

14、7章(1),調用應用程序生成向導,從Visual,LISP菜單上選擇FileMake,AplicationNew,Aplication,Wizard,啟動向導。Visual,LISP將顯示圖7-2所示向導模式對話框。圖7-2向導模式對話框,栗孽千墻啦諺近浩俐袒剃著保曙者摧諧錫烈嘗仕玲淆隆拔隱捍哇罩抑犁捐CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章(2),確定向導模式,應用程序生成向導有Simple(簡單)和Expert(專家)兩種模式。在簡單模式下,只需指出LISP源文件、LISP編譯文件或Visual,LISP工程文件和要創(chuàng)建的文件名;在專家模式下,可以設置許多其他的選項。如

15、果是單一LISP程序,應該選Simple模式,本例因為還要包含有對話框文件,因此選擇Expert模式。單擊Next按鈕。將彈出圖7-3所示應用程序路徑對話框。圖7-3應用程序路徑對話框,炒窄負拄魚雀膠單七咽蝎口廬斌室撒側茸繃襄劈叢俏賄李版贈蛀欣師龔姑CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章(3),確定待建程序的位置和名稱,在圖7-3所示應用程序路徑對話框的Application,Location編輯框填寫應用程序所處的位置(目錄)??梢酝ㄟ^Browse(瀏覽)按鈕在目錄樹上指定應用程序所處的位置,也可以在文本框中輸入完整的路徑名。例如:d:/user2。,在Applicat

16、ion,Name編輯框填寫要創(chuàng)建的應用程序名。例如:chilun,這樣將在d:/user2/目錄下創(chuàng)建應用程序文件chilun.vlx和程序生成文件chilun.prv。圖7-4應用選項對話框,在簡單模式和專家模式下都會出現圖7-3所示應用程序路徑對話框。,單擊Next按鈕。彈出圖7-4所示應用選項對話框。,本例不打開Separate,Namespace切換開關,單擊Next按鈕將彈出圖7-5所示的包含LISP文件對話框。充糞收按要燥梆餅夷罵尿篆梯吾隨盟灣買假醉徐翼鮑貯監(jiān)佛惹葉庭眨峽怒CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章(5)確定LISP文件的類型,LISP文件可以是A

17、utoLISP源代碼文件、編譯AutoLISP文件(FAS)或Visual,LISP工程文件三種類型。通過圖7-5所示的包含LISP文件對話框的下拉菜單確定LISP文件類型。,圖7-5包含LISP文件對話框,例如選擇了Lisp,source,files類型,并且單擊Add按鈕,將彈出圖7-6所示添加lisp源文件對話框。人椿堪斯摳般莊躥遂俊呸芽葉倒庶參烘缸斑鉗左壟刊怪綻燼忠曲汝臘鄙惹CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章(6)添加lisp源文件,可以使用標準的Windows文件選取方法來選取多個文件。在圖7-6所示對話框上選取gear.lsp文件之后,單擊打開按鈕可以將該

18、文件添加到應用程序中,見圖7-7所示包含Lisp文件的對話框。如果想繼續(xù)添加其他類型的文件,先從下拉列表處選擇文件類型后再單擊Add按鈕。圖7-6添加lisp源文件對話框,如果指定的是AutoLISP源文件,Visual,LISP在打包成VLX文件前先編譯成FAS類型的文件;如果指定的是FAS類型的文件,則直接將其打包;如果指定的是PRJ類型的工程文件,則工程文件中的所有文件將根據其具體類型先編譯再打包或直接打包成VLX文件。龐糧盅娶溝擺鳳珍子伎嫂噴豆椎喝湊譏滅聽熱涂五獰伍硯短椿鮮搬斥琶戊CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,如果要從應用程序中刪除文件,只需選取這些文件

19、后單擊Remove按鈕即可,也可以在選取一個或多個文件后,單擊鼠標右鍵并從快捷菜單中選擇Remove項。圖7-7包含Lisp文件的對話框程畫姜啊矚薔屆貢么恐哼隴氦眩喻用棄喪塑伶睡拇掏創(chuàng)脈咐殖剖案揖狐搐CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,應用程序文件的加載順序和它們在LISP,Files,to,Include對話框中列出的順序相同。如果在加載時調用某函數,則必須在調用該函數前定義它。在這種情況下,應該把定義該函數的文件放在調用該函數的文件之前。選取待調整的文件名,然后點取下列按鈕即可。,Top:,移到列表頂端。,Up:移到上一文件之前。,Down:移到下一文件之后。,B

20、ottom:移到列表底端。,也可以先選取待調整的文件名,然后單擊鼠標右鍵,從隨后彈出的快捷菜單上選取相應選項。如果是工程文件,因其內的源文件順序已在工程文件內定義,只能通過修改工程文件以改變源文件的順序。鋇湍恫民線營斗誡咱屈逃棵砍鄙濰落蓖肺替憊懶憑妓昏鴛哭慨較心坐鄲尺CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,由于將應用程序生成向導確定為專家模式,因此,單擊Next按鈕,將彈出圖7-8所示的包含資源文件對話框。圖7-8,包含資源文件對話框,釩冊拆巢薔潑專鏟院尼添剪滇柿桅綽輥瘡摳帥壯波軀逆譏攙徘張馴拍鋒姥CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章(7)添加資源

21、文件,通過添加資源文件對話框??梢杂锰砑釉次募念愃撇僮魈砑樱ㄒ迫ィυ捒蚩刂艱CL文件、DVB,文件、文本文件等資源文件。如果添加的是LISP工程文件,在該工程文件中的所有文件都將被編譯并包含到VLX文件。,圖7-9添加DCL文件對話框,賦川矚漚翹搜頭槐拂頒錐酗皺嫉簿庸險移焉先描花倘壽用腹蹄披凈捶強汗CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,點取圖7-8所示對話框的下拉列表,選取DCL,files,點取Add按鈕,將彈出圖7-9所示的添加DCL文件對話框。選取gear.dcl文件,點取打開按鈕,該DCL文件將被加入到應用程序中,見圖710。,圖7-10包含資源文件對話框單

22、擊Next按鈕,將彈出圖7-11所示的確定編譯選項對話框。,巧捅覺界地付真從熾結躥膿蚌敝莢馴膜幕送過碧船媒臂敦遏子蝶愚端詣臨CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章(8)確定編譯選項,僅在專家模式下才出現圖7-11所示確定編譯選項如果選擇了Standard,此為標準模式,將生成最小的輸出文件,它適合于只包括單個文件的程序;如果選擇了Optimize,and,Link,此為優(yōu)化和鏈接模式,可使生成的的編譯文件效率更高,它適合于較大和較復雜的程序。圖7-11確定編譯選項對話框,本例選擇兩種模式均可,確定編譯選項后,單擊Next按鈕將彈出圖7-12所示的查看選項/編譯應用程序對話

23、框。,違迢桂奄侶賒萌卿悠冷巋氟佑郡緘醇把舅乾烤臥儡韻綠呈峭戒疙議般嶺會CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章(9),創(chuàng)建應用程序,這是應用程序生成向導的最后一步,單擊Back按鈕,返回到上一步,查看上一步的選擇;單擊Finish按鈕,創(chuàng)建應用程序結束。圖7-12查看選項/編譯應用程序對話框,孤升鉑佃藹誅腦逼纏煮篙戰(zhàn)莢窮赤寅烘恐椅歷柬路文瘓哇裳訝淪覽搜啪世CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,運行應用程序生成向導結束。在d:user2路徑下,生成了chilun.prv、chilun.vlx和gear.fas文件。其中chilun.prv是包括Visu

24、al,LISP創(chuàng)建應用程序所需的程序生成文件,gear.vlx是打包的可執(zhí)行文件,gear.fas是編譯gear.lsp時生成的目標文件。加載gear.vlx或gear.fas,在Command:提示下鍵入GEAR即可調用該應用程序繪制齒輪。,如果只有AutoLISP文件(源文件或目標文件),在創(chuàng)建應用程序時,第(2)步應選擇Simple(簡單)作為向導的模式,這樣可以省略第(4)、(7)和(8)步。耿頃短拋摹破楓坯漢懲繃答弘兌絮窿東版行痘償鉆穴棱鄉(xiāng)焊共霍渝拿虎污CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章7.3,利用工程管理器管理和維護LISP文件,AutoLISP應用程序通

25、常都是由多個獨立的LISP文件組成的。隨著應用程序中文件數量的增加,對這些文件的管理和維護就變得很困難。在這種情況下,應該使用Visual,LISP提供的最有效的工具工程管理器。7.3.1,工程管理器的功能,工程管理器通過命名的工程對工程所包含的LISP文件進行管理和維護。一個工程在本質上就是一個LISP源文件表和一套如何編譯這些文件的規(guī)則。,工程管理器具有以下的功能。,檢查應用程序中哪些LISP源文件尚未被編譯或者在上一次編譯后又被修改過,并自動編譯這樣的一些文件。,通過一個命名的工程的列表,可以很簡單地查找并打開相關的文件。,可以在一個工程的所有的文件中查找指定的源程序代碼。,可以通過直接

26、鏈接多個源文件中的相同描述來優(yōu)化編譯結果。,侵恭添存措傀炯妝刻挺殺嘻熏學詛拽好夯牙作裳凳屑炮屠纂轟著謝棺芝慰CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,下面通過一個實例介紹利用工程管理器管理和維護多個LISP文件的有關操作?!纠?-1】定義以遞規(guī)方式繪制旋轉正六邊形的命令。正六邊形的旋轉中心pc、最大邊長lmax、最小邊長lmin和旋轉角alf是交互輸入的參數。正六邊形在旋轉過程中,除了最外層的正六邊形之外,每一個正六邊形的頂點都在前一個正六邊形的邊上,當正六邊形的邊長縮短到近似最小邊長lmin時,繪制結束,見圖7-13(a)。從圖7-13(b)可以看出每個正六邊形與旋轉后的

27、下一個正六邊形的邊長之間具有以下的關系:,芯聽變兢麻蓮崩隊欠睫挾姓筐迷橙白霧上圃脾柞啃霍客淬租酞倪陌瘸軌柵CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章(a),(b),圖7-13以遞歸方式繪的制旋轉正六邊形,為了演示多文件的操作,將該程序分別存放于兩個文件。文件file1.lsp存放該程序的主函數部分。主函數定義了名字為r-hexagon的AutoCAD命令。文件file2.lsp定義了名字為hexagon的函數。函數hexagon被主函數調用。它們都存放在d盤的user1目錄下。,勿降踢證士蜀謂合隆僚梁輿畸啄漳喜傲褪暖嗡旺才吝猿熒投菊認粥真酥臣CAD二次開發(fā)電子教案,第7章CA

28、D二次開發(fā)電子教案,第7章文件file1.lsp的源代碼如下:(defun,c:r-hexagon(,/,pc,lmax,lmin,alf,),(setvar,cmdecho,0),;關閉普通命令提示信息,(setvar,blipmode,0),;關閉光標痕跡,(setvar,osmode,0),;關閉對象捕捉狀態(tài),(setq,pc(getpoint,n輸入正六邊形的旋轉中心:),(setq,lmax(getdist,pc,n輸入正六邊形的最大邊長:),(setq,lmin(getdist,pc,n輸入正六邊形的最小邊長:),(setq,alf(getangle,pc,n輸入正六邊形的旋轉角:

29、),(hexagon,pc,lmax,lmin,0.0),;調用遞歸方式繪制旋轉正六邊形的函數,(princ),;靜默退出)盼訝祁站裹釋趕觀碴娘稍惺透抿福偉議樣形搔度啄援煌兩術哺傘是司鯨車CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章文件file2.lsp的源代碼如下:(defun,hexagon,(pc,l,lmin,phi,),;變元phi是正六邊形的初始角度,(command,pline,(polar,pc,phi,l),(polar,pc,(+,phi,(/,pi,3.0,),l),(polar,pc,(+,phi,(/,pi,1.5,),l),(polar,pc,(+,

30、phi,pi),l),(polar,pc,(+,phi,(/,pi,0.75),l),(polar,pc,(+,phi,(/,pi,0.6,),l),c,),(if,(=,l,lmin),(progn,(setq,l(/,l,(+,(cos,alf),(*,(sin,alf),0.5773503);下一個正六邊形的邊長,(setq,phi,(+,phi,alf),;下一個正六邊形的旋轉角度,(hexagon,pc,l,lmin,phi),;繪制下一個正六邊形,)趕壬始兇端識迫咆幀厲倔躥碉呵暇臺介啡篷攜末唾僑糧要玖拾銥傀柬芭巷CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章7.3.2

31、,創(chuàng)建一個工程1.,創(chuàng)建一個工程文件,選擇菜單ProjectNew,project,將彈出圖7-14所示的新工程對話框,此對話框用于確定新工程的路徑和文件名。例如輸入工程的名字為rh,存放在d盤的user2目錄下。,圖7-14新工程對話框,妥雨公搏飯攔迪般竣裴置臘則庇擰但禍搖胚拌狽鍍鎢隔重窿要夷跺頤承票CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章2.,向工程添加LISP源文件,單擊圖7-14新工程對話框的保存按鈕,將彈出圖7-15所示的工程特性對話框。該對話框有工程文件和編譯選項兩個選項卡。工程文件選項卡用于向工程添加LISP源文件。,圖7-15工程特性對話框,到值散蜂祖懾罰讕

32、十棄錢撼蔽鴦限擻漱核升胡冷皚廬翻頰跳遮渠查動紡岳CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,圖7-15所示為工程文件選項卡。通過按鈕,指定LISP源文件的路徑,路徑下方的列表顯示了該路徑下所有的LISP文件名。選取該列表的一個或多個文件,單擊按鈕,,被選的文件就會轉移到右邊的列表內。右邊的列表顯示了該工程當前包含的所有LISP文件名。,如果選取右邊列表的一個文件,單擊按鈕,,被選的文件就會從當前的工程中移回原處。按鈕Top、Up、Down和Bottom用于排列LISP文件在列表框中的順序,該順序即為加載這些文件的順序。,例如,在圖7-15所示為工程文件選項卡上單擊按鈕,,指定

33、LISP源文件的路徑為d盤的user1。路徑下方的列表內顯示了user1路徑下的LISP文件名。選取該列表的文件file1和file2之后,單擊按鈕,,文件file1和file2將移至右邊的列表作為rh工程的成員。單擊確定按鈕,將彈出圖7-16所示的工程窗口,名字為rh的工程創(chuàng)建完畢,同時在d盤的user2目錄下得到了名字為rh.prj的工程文件。,唱渤嘻肅盂膨當亡匯梅晝圈闌狂歇違線琢楚韭遙本沖殷憊姨余苛摸銜騎譯CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章7.3.3,工程窗口,工程窗口的標題顯示了該工程的名字,列表框內顯示了該工程包含的所有的LISP源文件的名字,雙擊列表框內的

34、任意一個文件名(無論文件是否打開)即可激活包含該文件的文本編輯窗口。,圖7-16工程窗口,工程窗口的工具欄上有5個按鈕,它們分別具有以下的功能。,:彈出圖7-15所示的工程特性對話框,通過該對話框修改該工程的特性。椅蔡仿薪漿虧碳縱酪姓咕冬卉藥隔悉犯侖逝酸琳磋惶沙矮菠苯圃靳氛緬乘CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,:加載工程中所有經過編譯的.fas文件。如果某些LISP文件尚未被編譯,則顯示如圖7-17所示的是否編譯這些文件的詢問信息。單擊按鈕是,則首先編譯這些文件,然后將其加載,單擊按鈕否,則直接加載這些LISP源文件和已經存在的.fas文件。,假定文件file1.l

35、sp和file2.lsp尚未被編譯,單擊此按鈕,在圖7-17所示的詢問框中單擊按鈕是,則首先編譯這兩個文件,然后加載剛生成的file1.fas和file2.,fas。這時在AutoCAD的Command:提示下,鍵入r-hexagon命令即可繪制旋轉正六邊形。攪退啞挨勛瘁菲蓄總暢諺綁索轟脯鎬鑼龍壇沮常個夫絕綽祈繩戎津西導雁CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,:加載工程中所有的LISP源文件。,:編譯工程中所有的在上一次編譯后被修改過的文件,生成新的.fas文件。,:重新編譯工程中所有的LISP,無論這些文件是否已經被編譯過。以上操作也可以通過工程的快捷菜單的相應選項完

36、成。將鼠標移至工程窗口的列表框內,單擊鼠標右鍵,將彈出圖7-18所示的快捷菜單,其中各菜單項的功能見下一頁。圖7-18工程窗口的快捷菜單,云感燭措紀組譬祟瓶邱婆餐柴瑞了渺廢半署指龜謀辦胺拂卷廳兌兼聯購抉CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章Edit:編輯選中的文件Add,File:打開工程特性對話框,向工程中添加文件Remove,file:從工程中刪除選中的文件Load:加載所選文件的.fas文件,如果所選文件尚未被編譯,則加載其LISP源文件Load,source:加載所選文件的LISP源文件Check,syntax:對所選的文件進行語法檢查Touch:處理所選的文件。

37、經過處理的文件即使是新編譯過的,單擊圖標,時,也要再次重新編譯。Arrange,files:根據該菜單項的下一級菜單提供的規(guī)則對工程中的成員排序Multiple,Selection:單擊該菜單項可以切換否具有多選功能的狀態(tài)。若設置為多,選,菜單項前加標記UnSelect,all:沒有一個文件被選取時,選取所有文件。已經選取了一些文件時,,放棄選取的那些文件Close,project:關閉當前的工程Save,proct,as:將當前的工程另存為其他名字,撞顴初躲玖乳吁鹿涯恃尺吹酵瞞礦包賃諷氟禱無侶灸扇徊候蕊慰稱哇攔嘉CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章7.3.4,在工程中

38、查找源程序代碼,單擊查找按鈕,,彈出圖7-19所示的查找對話框。打開Project互鎖按鈕,通過Project下拉列表選取一個工程,在Find,What列表輸入或選擇要查找的源程序代碼,單擊Find按鈕,在圖7-20所示的查找輸出窗口報告了在指定工程的所有文件中查找的結果。,圖7-19查找對話框,捷降娃蟬鼓問告寅薛紗拳矩羽屜敢蟻燼頒鄙僳綽煞晨戳砰廈泉頁昏襟棧抒CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章,例如,通過Project下拉列表選取工程rh,在Find,What列表輸入hexagon,單擊Find按鈕,在圖7-20所示的查找輸出窗口中顯示了在文件file2.lsp和fi

39、le1.lsp中含有源代碼hexagon的4個表達式。雙擊其中任意一個表達式,就會激活該表達式所在的文件,并且亮顯所查找的源代碼,例如hexagon處于被選狀態(tài)。,圖7-20查找輸出窗口,墓扯汰云勁徹墨鬧湍故托臃錯梁錯祟鎖晚劊汕移字百癱鴻嫡倍幀狂歹宿輝CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章7.3.5,通過工程創(chuàng)建應用程序,上一節(jié)介紹了用應用程序生成器創(chuàng)建應用程序的全過程。在第5步確定LISP文件的類型時,除了選擇LISP源文件和編譯過的LISP文件之外,還可以選擇Visual,LISP工程文件。通過指定的工程文件名,該工程所包含的所有文件都被添加到應用程序中。,例如,通過

40、圖7-21所示的包含LISP文件對話框的下拉列表選擇VisualLISP,project,單擊Add按鈕,通過隨后彈出的Add,VisualLISP,project,files對話框選擇d盤的user2目錄下的rh.prj工程文件,見圖7-21。最后單擊Next按鈕,進行下一步操作。此時d盤的user1目錄下的文件file1.lsp和file2.lsp被添加到當前的應用程序。己浦庫斤宛橇暮寡垂傲十咸皺聊襄壇詞繪杯險讕諧邵墨榮仙聲穎毛沁胡玻CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章圖7-21選擇了VisualLISP,project選項的包含LISP文件的對話框,燈功淄謬錳月劫

41、崖縛尾蘸漂篇壺努煌宏捕渴傳挫職耙洋桓六敷綢雪敏乖諒CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章7.3.6,優(yōu)化應用程序,通過Visual,LISP編譯選項的優(yōu)化功能可以得到運行效率更高的編譯代碼。單擊圖7-15所示的工程特性對話框的編譯選項標簽,即可顯示圖7-22所示的編譯選項卡。該選項卡包含以下的一些工程編譯選項。,圖7-22編譯選項卡,端湊咆祖高伯計擔耗始寺荒順蘭盞易舉自蘭結哼脫喧派滯沈盈薯跺依豐妖CAD二次開發(fā)電子教案,第7章CAD二次開發(fā)電子教案,第7章1.,Compilation,Mode欄該欄的功能是確定設置編譯模式,它有以下兩個選項。lStandar(標準):選擇標準模式時,編譯器將保留函數和全局變量的符號名,因為這些符號可能被其他程序引用。在引用某一符號時,編譯器將在符號表中查找這個符號。該模式比較適合于單個文件的程序。lOptimize(優(yōu)化):選擇優(yōu)化模式時,編譯器

溫馨提示

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

評論

0/150

提交評論