計算機輔助設計與制造CAD7課件_第1頁
計算機輔助設計與制造CAD7課件_第2頁
計算機輔助設計與制造CAD7課件_第3頁
計算機輔助設計與制造CAD7課件_第4頁
計算機輔助設計與制造CAD7課件_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章AutoCAD二次開發(fā)技術

7.1向AutoCAD增加新命令

任何CAD系統(tǒng),都不可能滿足所有用戶的要求,特別是一些專業(yè)設計用戶的要求。而AutoCAD的特長就是可以用簡單的程序設計,給系統(tǒng)增加一些專業(yè)設計所需要的新命令。利用AutoLISP語言編程就可以很容易地向AutoCAD增加新命令,用戶只要用自定義函數(shù)Defun產(chǎn)生一個名為“C:XXX”的函數(shù)即可。

圖7.1標注粗糙度下面的AutoLISP函數(shù)就是向AutoCAD增加一條標注粗糙度的新命令,命令名為CCD。(defunC:ccd()(setqbp(getpoint"\nEnterbasepoint:")ang(getangle"\nEnterrotateangle:")txt(getstring"\nEntervalue:"))(command"line"bp(polarbp(+ang(/pi3))12)"")(setqpt(polarbp(+ang(/pi1.5))7))

(command"line"bppt(polarptang7)"")(cond((<angpi)(command"text"(polarpt(+ang70)1.2)"2.5"(*ang(/180pi))(evaltxt)))(T(command"text""j""r"(polarpt(+ang70)3.7)"2.5"(*(-angpi)(/180pi))(evaltxt)))))

7.2用戶界面的開發(fā)設計菜單是普遍采用的界面形式,它將命令和選擇項均列在相對應的交互設備上,通過鼠標器控制光標等辦法來點“菜”(即選擇拾?。?。菜單功能是通過菜單文件來實現(xiàn)的,AutoCAD菜單文件是一個標準的ASCII文件,允許用戶根據(jù)需要對它進行改造或創(chuàng)建,形成用戶界面。

7.2.1菜單文件的類型

菜單文件實際上是指一組協(xié)同定義和控制菜單區(qū)域的顯示及操作的文件。AutoCAD的菜單文件類型主要有以下5種。(1)

MNU:樣板(Template)菜單文件,是ASCII碼文本文件。(2)MNC:將MNU菜單源文件編譯之后得到的菜單目標文件。(3)MNR:菜單資源文件。(4)MNS:AutoCAD系統(tǒng)所生成的菜單源文件。(5)MNL:菜單LISP文件。使用MENU命令可引導AutoCAD從磁盤文件中裝載一個新菜單。

2.菜單文件的格式:菜單文件由多個菜單段組成,每段有一個段標題,單獨占一行,格式如下:***<段名>段名標識該菜單從屬于何種設備。AutoCAD有如下段標號:***MENUGROUP菜單組名***BUTTONSn按鈕菜單段***AUXn輔助菜單段***POP0光標菜單段***POPn下拉菜單段***IMAGE圖像塊菜單段***SCREEN屏幕菜單段***TABLETn數(shù)字化儀菜單段***ACCELERATORS快捷鍵段***HELPSTRINGS狀態(tài)欄幫助段子菜單的起始標記為“**子菜單名”,子菜單名可由用戶任意指定,但各個子菜單名不能相同。3.子菜單的調(diào)用:用戶在菜單項中可用以下格式來調(diào)用子菜單:$<菜單類型>=[被調(diào)用子菜單名]被調(diào)用子菜單的菜單類型采用縮寫形式,它們分別為:縮寫形式菜單類型S屏幕菜單A1~A4輔助菜單B1~B4按鈕菜單P0~P16彈出式菜單I圖像塊菜單T1~T4數(shù)字化儀菜單下面是調(diào)用子菜單的例子:$S=TRAN調(diào)用屏幕子菜單TRAN$I=PARTS調(diào)用圖像塊子菜單PARTS$T1=ELEMENT調(diào)用數(shù)字化儀子菜單ELEMENT如果沒有指定被調(diào)用子菜單名,則返回上一菜單。例如菜單項[AUTOCADY]$S=用來恢復前一屏幕菜單。

4.菜單項的表示:菜單或子菜單中包含的一行行命令串稱為菜單項。菜單項有以下幾種表示:(1)[菜單項名]命令串該方法用于屏幕菜單項或下拉菜單項的表示。(2)[字符串]方括號中的字符串只是作為子菜單的標題項使用。(3)字符串該種表示方法是第(1)種表示方法的特例,此時,字符串既作為菜單項名顯示在屏幕上,又作為命令串出現(xiàn)在命令行。(4)[->子菜單名]和[<-菜單項名]命令串前者是調(diào)用下拉子菜單或光標子菜單的菜單項。后者是子菜單的最后一個菜單項,方括號內(nèi)的菜單項名將顯示在屏幕上,命令串的作用同(1)所述。(5)[幻燈片庫名(幻燈片名,文字)]命令串這是圖像塊菜單段中菜單項的完整表示形式。

7.2.3用戶界面開發(fā)的一般方法用戶界面(即菜單文件)的開發(fā)有兩種途徑:一種是在AutoCAD的標準菜單文件ACAD.MNU中增加新內(nèi)容;另一種是用戶建立自己的菜單文件。

1.在ACAD.MNU中增加新內(nèi)容在ACAD.MNU標準菜單文件中增加新內(nèi)容的操作步驟如下:(1)確定要加入的菜單類型,如下拉菜單、屏幕菜單、圖像塊菜單等。(2)分析所要加入菜單的功能,如繪圖、編輯、顯示、圖形庫管理等。(3)確定所要增加的菜單的位置。(4)用文本編輯程序調(diào)出ACAD.MNU文件,將要增加的菜單新內(nèi)容放到相應的菜單段中或子菜單中。(5)對增加了新內(nèi)容的ACAD.MNU文件進行編譯。

2.建立用戶菜單

除了修改AutoCAD標準菜單文件ACAD.MNU外,還可以開發(fā)獨立的用戶菜單文件。建立用戶菜單的操作步驟如下:(1)確定要開發(fā)的菜單類型,如下拉菜單、屏幕菜單、圖像塊菜單等。(2)分析所要開發(fā)的菜單的功能,如繪圖、編輯、顯示、圖形庫管理等。(3)確定各個菜單的位置。(4)用文本編輯程序編輯用戶自己開發(fā)的菜單文件(.MNU文件),然后將其保存在對應于AutoCAD的相應文件夾(SUPPORT)中。(5)在AutoCAD系統(tǒng)環(huán)境下,使用MENU命令調(diào)用用戶菜單,格式如下:Command:MENU↙

7.3圖形系統(tǒng)與外部程序交換信息

7.3.1圖形交換文件

AutoCAD提供了一種固定格式的后綴為.DXF的ASCII碼文件,稱為圖形交換文件,用于與其它CAD系統(tǒng)及用戶應用程序間的圖形信息交換。

1.總體結構DXF文件由6個段(SECTION)組成:(1)標題段(HEADER)此段記錄了有關圖形的各種當前設置和參數(shù),它實際上描述了AutoCAD系統(tǒng)的當前工作環(huán)境。(2)類段(CLASSES)類段保存由應用程序定義的類,而該類的實體則出現(xiàn)在塊段,實體段,對象段中。

2.組(GROUP)DXF文件的最小組成單元為組(GROUP),每個組占兩行,第一行為組代碼,第二行為組值。組代碼是非負的整數(shù),而組值的數(shù)據(jù)類型取決于組代碼的數(shù)值,其規(guī)定如下:組代碼的范圍組值的數(shù)據(jù)類型0~9字符型10~59實型60~79整型常用組代碼的含義如下:0:標識一個事物的開始,如一個段、一個表、一個塊、一個實體等。2:名字,如段、表、塊等名字。8:圖層名(固定的)。10—18:X坐標值。20—28:Y坐標值。30—37:Z坐標值。40—48:高度、寬度、距離、半徑、比例因子等。50—58:角度值。

3.實體(直線、圓、圓?。┑膸缀螖?shù)據(jù)描述:(1)直線的幾何數(shù)據(jù)的組代碼10,20,30:起點的X,Y,Z坐標11,21,31:終點的X,Y,Z坐標(2)圓的幾何數(shù)據(jù)的組代碼10,20,30:圓心的X,Y,Z坐標40:圓的半徑(3)圓弧的幾何數(shù)據(jù)的組代碼10,20,30:圓弧中心的X,Y,Z坐標40:圓弧的半徑50:圓弧的起始角51:圓弧的終止角

4.圖形交換命令與DXF文件有關的AutoCAD命令有二個:Dxfout和Dxfin。(1)Dxfout命令用于將AutoCAD屏幕上的圖形信息轉(zhuǎn)換成DXF文件。(2)Dxfin命令用于將DXF文件轉(zhuǎn)換成AutoCAD的圖形,與Dxfout命令相反。

7.3.2用C語言生成DXF文件用C語言生成DXF文件就是編寫生成DXF文件的接口程序,進行接口程序開發(fā)應注意以下2個問題:(1)實用的DXF文件接口程序應該是一些具有專用功能的函數(shù)模塊組成。(2)AutoCAD可以接受缺少任何一些段、表的DXF文件.

main(){floatx0,y0,b,h,d;/*輸入圖形有關參數(shù)*/printf(“Enterx0,y0,b,h,d:”);scanf(“%f,%f,%f,%f,%f”,&x0,&y0,&b,&h,&d);/*調(diào)用接口函數(shù)*//*調(diào)用接口函數(shù)*/begin();line(x0,y0,x0+b,y0);line(x0+b,y0,x0+b,y0+h);arc(x0+b/2,y0+h,b/2,0,180);line(x0,y0+h,x0,y0);circle(x0+b/2,y0+h,d/2);ending();}圖7.9樣圖

7.3.3用C語言讀取DXF文件

讀取DXF文件,從中提取用戶應用程序所需信息,這是AutoCAD與高級語言程序接口的又一種形式。下面的C語言程序是從DXF文件中提取直線實體幾何信息的源程序,即提取直線的起點坐標xs,ys,zs和終點坐標xe,ye,ze,并將提取的坐標值存放在用戶指定的數(shù)據(jù)文件中。

7.4AutoCAD對話框設計對話框(DialogBox)是人機交互的主要界面之一。它具有良好的視覺效果,操作方便、直觀,輸入數(shù)據(jù)與順序無關。7.4.1對話框的組成(1)按鈕。一般用于啟動和執(zhí)行命令等操作。(2)編輯框。是一個用戶可以在其中輸入和編輯文本的窗口,一般用于輸入文件名、點的坐標、距離等數(shù)據(jù)。(3)列表框。用于為用戶顯示各種選擇,用戶可以在列表框中選擇一個或多個項。(4)單選按鈕組。用于一組相互排斥的有限選擇集中的一個選擇。(5)復選框。相當于一個開關,打開時顯示√,關閉時為空。(6)圖像按鈕。以圖像代替文本的按鈕。

7.4.3DCL文件的編寫方法對話框文件的擴展名為.dcl,對話框文件是用對話框控制語言(DialogControlLanguage)來編寫的。

1.DCL文件的結構:一個DCL文件可以包含下面三部分內(nèi)容:

溫馨提示

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

評論

0/150

提交評論