




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
南昌航空大學科技學院學士學位論文PAGEPAGE40基于UG尺寸公差自動標注系統(tǒng)的研發(fā)1.課題的的提出1.1三維CAD軟件尺寸標注中的問題三維CAD在用于機械設(shè)計時,設(shè)計人員標注尺寸公差必須先查表獲得公差數(shù)值,然后通過DIM參數(shù)設(shè)定完成,但參數(shù)設(shè)定繁瑣,速度也慢。在一般的機械零件圖、裝配圖的繪制過程中,卻常常需要查詢公差代號所對應(yīng)的上下偏差,由此便引出尺寸公差偏差的自動查詢和標注的問題。在國家標準規(guī)定的標注方式中,有需要標出公差代號、上下偏差和配合公差的,還有需要公差代號和上下偏差一起標注的等等。CAD作為一種通用的繪圖軟件,它的各種版本中均沒有可直接用于尺寸公差自動查詢功能的命令,而且其尺寸公差的標注過程也比較煩瑣。在CAD中標注尺寸公差時,每標注一個不同的尺寸公差前都必須設(shè)置標注形式(Di—mensionStyle)中的有關(guān)參數(shù)值,操作繁雜、效率低下;另外,CAD中也沒有提供用于在裝配圖中標注配合公差的命令由于公差標注具有多種形式,同時不同零件尺寸段,不同公差等級具有不同的尺寸公差值,每一個不同公差值都要單獨設(shè)定,.才能進行標注。因此設(shè)計人員在標注多種尺寸公差時,上述過程必須重復進行,在尺寸公差標注上所花時間很多,不能實現(xiàn)尺寸公差快速查詢和自動標注。1.2標注系統(tǒng)開發(fā)的意義為了方便設(shè)計人員,提高設(shè)計效率,通過VC++編程實現(xiàn)尺寸公差的自動查詢及快速標注,在機械設(shè)計中具有較高的實用價值。應(yīng)用系統(tǒng)的總體設(shè)計本設(shè)計通過VC語言編寫程序?qū)崿F(xiàn),能實現(xiàn)尺寸公差快速查詢和自動標注。使得繁瑣的手冊查詢能夠省掉,為工作者提供一個輕松的查詢平臺大大提高公差查詢的速度。1.3課題研究目標課題研究為尺寸標注的自動生成,該課題的實現(xiàn)解決了用編程的方法進行參數(shù)化繪圖中的尺寸標注問題,大大提高了這種方法的實用性及效率。該軟件的實現(xiàn)采用樣本圖的方法,并利用了圖形中實體的生成序號來對圖形實體進行標識,使新生成圖可以完全無誤地與樣本圖進行匹配。如果能用成拓撲關(guān)系而不是生成順號來標識則會擴大其使用范圍,當然這在程序?qū)崿F(xiàn)上會增加相當?shù)碾y度。另外本軟件所采用的一些基本思想在應(yīng)用上還可以做進一步的擴展,即不止在尺寸標注線上這樣做,在一些附加實體或某種特征圖形上也可采用這種方法來實現(xiàn),這樣配合特征設(shè)計更加能提高繪圖效率,這也是今后特別值得去做的工作2.尺寸標注系統(tǒng)2.1參數(shù)化標注的研究2.1.1編程參數(shù)化的實現(xiàn)1.確定處理表格約束參數(shù)確定標準數(shù)據(jù)的約束檢索參數(shù),建立檢索參數(shù)與標準數(shù)據(jù)之間的約束關(guān)系是首要的工作.尺寸公差的數(shù)據(jù)一般是以表格的形式給出和進行約束的.它的檢索參數(shù)需要兩個,即需要兩個參數(shù)才能決定一組相關(guān)的尺寸公差數(shù)據(jù).此外,這些參數(shù)除自身系列外,參數(shù)之間還有一定的約束關(guān)系.2.1.2確定公差帶數(shù)值時,反映零件基本尺寸D、公差等級IT與公差帶大小數(shù)值間的約束關(guān)系.b.確定上、下偏差數(shù)值時,反映基本尺寸D、公差等級IT與基本偏差即es(ES)或ei(EI)的數(shù)值之間的約束關(guān)系[1].按照這些分別進行轉(zhuǎn)化及處理,完成公差數(shù)據(jù)表格的建立和查詢.這部分工作是建立和維護標準的表格,使用數(shù)據(jù)庫制成表格及文本文件.應(yīng)用C編程實現(xiàn)標準數(shù)據(jù)錄入、形成標準表格建立2.1.3接口程序在軟件中起到連接作用,也是CAD系統(tǒng)中的核心部分.將系統(tǒng)接收的參數(shù)值與程序處理結(jié)果的參數(shù)值,按照參數(shù)之間的約束關(guān)系從標準文本文件中檢索出所需要的數(shù)值,接口程序一方面要具備根據(jù)交互輸入的基本尺寸和程序處理輸出的IT等級,檢索出公差帶的大小;根據(jù)交互輸入的基本尺寸和零件種類(軸或孔)及程序輸入的IT等級檢索出所需要的上偏差或下偏差數(shù)值等功能.另一方面具備將從有關(guān)標準中檢索得到的數(shù)值輸入標注序.作用如圖1所示接口程序除具備連接橋梁功能外,還提供判斷及修改功能.比如可以判斷用戶輸入的基本尺寸是否符合標準直徑和標準長度系列,如果是標準系列數(shù)值,即可以直接采用.否則,接口程序?qū)⑦x擇與其相近的標準數(shù)值;判別設(shè)計所選用的配合是否符合國家標準.接口程序應(yīng)用AutoLisp制作,應(yīng)用AutoLisp提供的I/O函數(shù)打開文本文件.順序讀入數(shù)據(jù),應(yīng)用循環(huán)函數(shù)依設(shè)定的關(guān)鍵字檢索出所需的數(shù)值.(setqf(open“gb.txt”“r”))(setqn(read-linef))l0)(while(<=ln)(setqm(read-linef))(setql1(nth0m))(if(=l1l)(setql(+n1))))(setql(+l1))2.1.4計算求值若選用國家標準規(guī)定的優(yōu)先和常用配合,其上下、偏差數(shù)值可以從標準中直接查取.如果不是優(yōu)先、常用配合,則根據(jù)基本尺寸和基本偏差代號確定一個上(或下)偏差的值,另一個偏差的數(shù)值則須經(jīng)過計算才能確定.程序按照順序進行,即若遇常數(shù)繼續(xù)查找,遇運算符或函數(shù),則根據(jù)操作數(shù)目,從前面常數(shù)進行運算,直至將所有運算符及函數(shù)進行完畢為止,將最后的運算結(jié)果儲存使用.計算求值采用C語言進行編程,應(yīng)用該程序?qū)⒂嬎銛?shù)據(jù)及標準數(shù)據(jù)生成順序文本文件,以供讀取.2.1.5標注編程在裝配圖上標注基本尺寸相同的兩個零件結(jié)合在一起的公差與配合.如圖2(a)所示.標注內(nèi)容包括基本尺寸、配合代號.配合代號是用孔、軸公差帶代號組成的分數(shù)形式表示,分子為孔的公差帶代號,分母為軸的公差帶代號.標注格式編程實現(xiàn),程序中的基本尺寸及公差帶代號均由交互輸入、計算程序和接口程序中的輸出獲取圖形存取.2.1.6參數(shù)化標注結(jié)束語隨著計算機輔助設(shè)計的廣泛應(yīng)用,設(shè)計軟件的開發(fā)成為機械設(shè)計的一項重要的工作.本軟件可以較方便的接入各種機械設(shè)計的CAD系統(tǒng)中,用以補充一些CAD系統(tǒng)功能的不足.本軟件具有與外部系統(tǒng)良好的接口功能,可以接入多種編程語言編制的程序.2.2公差設(shè)計概念與方法2.2.1公差概念1.由零件互換性的觀念衍生,規(guī)范零件制造之尺寸變異范圍為公差。2.組裝后的成品也必須滿足功能上的需求,亦即零件的功能配合應(yīng)該在制造組裝過程中列入考慮,因此在工作圖上標示公差之后才具有意義。3.使用公差除了能保證裝配可以確實進行之外,尚有下列優(yōu)點:–確保零組件互換性,維持技術(shù)水準–縮短加工時間,簡化檢驗工程易于分工合作,提高產(chǎn)品的質(zhì)量與壽命,降低生產(chǎn)成本2.2.2公差種類1.公差可分為三種,即尺寸公差(sizetolerance),形狀公差(formtolerance)與位置公差(positionorlocationtolerance)。2.位置公差又可細分為定位類公差、方向類公差與偏轉(zhuǎn)類公差;而形狀公差一般也涵蓋輪廓類公差。3.一般所稱的公差常指尺寸公差,而形狀公差與位置公差則合稱為幾何公差。2.2.3A.公差分析的傳統(tǒng)方法(I)WorstCase法首先,必須解釋在公差分析時所用的兩種方法:公差合成與公差分配.而在以下兩個例子中用來運算公差范圍的數(shù)學方法為WorstCase法,這是傳統(tǒng)的做法1.公差的合成(使用WorstCase法運算)PartA與PartB必須接合在一起,合成后的尺寸與公差范圍會是如何呢?在這個例子中,可以得到一個很直觀的結(jié)果當PartA與PartB相接后所得到的PartA+B長度和公差范圍都是PartA+PartB的結(jié)果.也就是說:合成后的公差范圍會包括到每個零件的最極端尺寸,無論每個零件的尺寸在其公差范圍內(nèi)如何變化,都會100%落入合成后的公差范圍內(nèi)..51.實驗式公差設(shè)計法:透過實驗方法找出設(shè)計參數(shù)之變動對于產(chǎn)品功能之影響,進而決定最佳之公差設(shè)定,例如田口式實驗法。2.數(shù)學模式之公差設(shè)計法:透過系統(tǒng)化之方法,以數(shù)學模式分析設(shè)計參數(shù)之變動對于產(chǎn)品功能之影響,再透過敏感度分析決定最佳之公差設(shè)定。零件之公差設(shè)計與標示例幾何公差標示例2.3CAD軟件輔助標注的實現(xiàn)CAD軟件的標注功能確實強大,適應(yīng)面涵蓋機械、建筑等行業(yè),但從機械標注的角度來看,如此之多的標注變量選項,琢磨不透的標注變量含義,讓人感覺CAD將簡單功能復雜化了。在使用CAD做設(shè)計時經(jīng)常碰到如下問題:
1、如何方便的標注帶公差的尺寸,能否直接查詢公差帶和公差值2、新國家標準中的孔深符號,展開長度符號如何填寫、3、對稱半尺寸如何標注
所見即所得的尺寸標注編輯框:啟動尺寸標注命令后,彈出尺寸編輯對話框,如圖一。以尺寸值為核心,前面是前綴區(qū),后面有中綴區(qū),公差區(qū),后綴區(qū),看起來就像一個真實的尺寸,想在哪個區(qū)域填寫內(nèi)容、填寫什么內(nèi)容一目了然。通過在尺寸標注對話框中點擊“公差帶...”按鈕,彈出公差查詢/配合查詢對話框,
在CAD中,用尺寸樣式設(shè)置統(tǒng)一的公差值雖然是最簡單的公差標注,但最不可取。一般的公差標注方法是在標注時進入文本編輯框,用轉(zhuǎn)義字符或堆疊方式變相實現(xiàn),想想都復雜!在CAD里,公差既可以在尺寸編輯對話框的公差區(qū)域里直接輸入,也可以點擊常用的公差帶表,通過查詢的方式自動填寫,只需幾秒鐘,一個復雜的帶公差的尺寸就被標注出來了。試一試在CAD中標注形如的公差,然后再在CAD中標注同樣的尺寸,就不一樣了。我們在工程繪圖時,常需插入α、δ、Ⅰ、Ⅱ、還有新標準中規(guī)定的一些符號如:
CAD在尺寸編輯對話框(如圖一)設(shè)置了“常用字符”一欄,點擊即可選用。
如果這些常用字符里沒有,點對話框中的按鈕“特殊字符...”,系統(tǒng)提供了更多的特殊字符,如圖三。
如果特殊字符里還沒有,還可以點擊自定義,添加一些常用的符號,這個對話框具有記憶功能,常用字符被添加后,將來可以直接使用。輕松實現(xiàn)對稱半標注在CAD的軟件中,標注一個對稱半尺寸有多困難:先標一個完整的尺寸(如果只有一半圖形,標注前還得先畫輔助線),然后通過編輯尺寸屬性的方式,隱藏一邊的尺寸線,隱藏尺寸界限以及箭頭,再調(diào)整一下文本的位置,標注出了一個對稱半尺寸。啟動對稱半線性尺寸或?qū)ΨQ半角度尺寸功能,指定中心線,指定一端的目標位置,對稱半尺寸完成。如何實現(xiàn)螺紋標注?CAD標注螺紋有點小技巧,使用直徑標注功能標注時,在尺寸編輯對話框中只顯示了尺寸值,直徑符號φ由標注類型決定,不顯示在對話框中的,如果就這樣確定,標注的是直徑,可如果在前綴區(qū)加M,最后標注會顯示成Mφ+尺寸值了,怎么辦?解決的方法是,在尺寸值區(qū)域尺寸數(shù)值的前面輸入M,即可得到M+尺寸值,如果還需要在尺寸值后加說明,可以在后綴區(qū)填寫。如何標注尺寸線下的文字呢?
在尺寸編輯對話框的后綴區(qū)輸入“/X”后再輸入文字,這串文字確定后即可顯示到尺寸線的下方3.數(shù)據(jù)庫3.1數(shù)據(jù)庫的定義所有的信息(數(shù)據(jù)率檔)的編纂物,不論其是以印刷形式,計算機存儲單元形式,還是其它形式存在,都應(yīng)視為“數(shù)據(jù)庫”。數(shù)字化內(nèi)容選擇的原因有很多,概括起來主要有:(1)存儲空間的原因。數(shù)字化的產(chǎn)品是通過網(wǎng)絡(luò)被廣大用戶存取利用,而大家都知道數(shù)字化產(chǎn)品是存放在磁盤陣列上的,磁盤陣列由服務(wù)器來管理,磁盤空間是有限的,服務(wù)器的能力也是有限的,不可能無限量地存入數(shù)字資源,這就需要我們對文獻資源數(shù)字化內(nèi)容進行選擇。(2)解決數(shù)字化生產(chǎn)高成本和圖書館經(jīng)費有限性之間矛盾的需要。幾乎沒有圖書館有充足的資源來對整個館藏進行數(shù)字化,內(nèi)容選擇不可避免。(3)數(shù)字資源管理的需要。技術(shù)的快速發(fā)展使數(shù)字化項目所生成的數(shù)字資源的生命周期越來越短,投入巨資進行數(shù)字遷移是延長數(shù)字資源生命的1個重要途徑,昂貴的維護成本就必須考慮數(shù)字化的內(nèi)容選擇。數(shù)據(jù)庫發(fā)展史數(shù)據(jù)庫技術(shù)從誕生到現(xiàn)在,在不到半個世紀的時間里,形成了堅實的理論基礎(chǔ)、成熟的商業(yè)產(chǎn)品和廣泛的應(yīng)用領(lǐng)域,吸引越來越多的研究者加入。數(shù)據(jù)庫的誕生和發(fā)展給計算機信息管理帶來了一場巨大的革命。三十多年來,國內(nèi)外已經(jīng)開發(fā)建設(shè)了成千上萬個數(shù)據(jù)庫,它已成為企業(yè)、部門乃至個人日常工作、生產(chǎn)和生活的基礎(chǔ)設(shè)施。同時,隨著應(yīng)用的擴展與深入,數(shù)據(jù)庫的數(shù)量和規(guī)模越來越大,數(shù)據(jù)庫的研究領(lǐng)域也已經(jīng)大大地拓廣和深化了。30年間數(shù)據(jù)庫領(lǐng)域獲得了三次計算機圖靈獎(C.W.Bachman,E.F.Codd,J.Gray),更加充分地說明了數(shù)據(jù)庫是一個充滿活力和創(chuàng)新精神的領(lǐng)域。就讓我們沿著歷史的軌跡,追溯一下數(shù)據(jù)庫的發(fā)展歷程。傳統(tǒng)上,為了確保企業(yè)持續(xù)擴大的IT系統(tǒng)穩(wěn)定運行,一般用戶信息中心往往不僅要不斷更新更大容量的IT運維軟硬件設(shè)備,極大浪費企業(yè)資源;更要長期維持一支由數(shù)據(jù)庫維護、服務(wù)器維護、機房值班等各種維護人員組成的運維大軍,維護成本也隨之節(jié)節(jié)高升。為此,企業(yè)IT決策者開始思考:能不能像擰水龍頭一樣按需調(diào)節(jié)的使用IT運維服務(wù)?而不是不斷增加已經(jīng)價格不菲的運維成本。3.2數(shù)據(jù)庫中數(shù)據(jù)的性質(zhì)1.數(shù)據(jù)整體性:數(shù)據(jù)庫是一個單位或是一個應(yīng)用領(lǐng)域的通用數(shù)據(jù)處理系統(tǒng),他存儲的是屬于企業(yè)和事業(yè)部門、團體和個人的有關(guān)數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)是從全局觀點出發(fā)建立的,他按一定的數(shù)據(jù)模型進行組織、描述和存儲。其結(jié)構(gòu)基于數(shù)據(jù)間的自然聯(lián)系,從而可提供一切必要的存取路徑,且數(shù)據(jù)不再針對某一應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化特征。2.數(shù)據(jù)共享性:數(shù)據(jù)庫中的數(shù)據(jù)是為眾多用戶所共享其信息而建立的,已經(jīng)擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用數(shù)據(jù)庫中的數(shù)據(jù);多個用戶可以同時共享數(shù)據(jù)庫中的數(shù)據(jù)資源,即不同的用戶可以同時存取數(shù)據(jù)庫中的同一個數(shù)據(jù)。數(shù)據(jù)共享性不僅滿足了各用戶對信息內(nèi)容的要求,同時也滿足了各用戶之間信息通信的要求。3.3結(jié)構(gòu)化查詢語言(SQL)1974年,IBM的RayBoyce和DonChamberlin將Codd關(guān)系數(shù)據(jù)庫的12條準則的數(shù)學定義以簡單的關(guān)鍵字語法表現(xiàn)出來,里程碑式地提出了SQL(StructuredQueryLanguage)語言。SQL語言的功能包括查詢、操縱、定義和控制,是一個綜合的、通用的關(guān)系數(shù)據(jù)庫語言,同時又是一種高度非過程化的語言,只要求用戶指出做什么而不需要指出怎么做。SQL集成實現(xiàn)了數(shù)據(jù)庫生命周期中的全部操作。SQL提供了與關(guān)系數(shù)據(jù)庫進行交互的方法,它可以與標準的編程語言一起工作。自產(chǎn)生之日起,SQL語言便成了檢驗關(guān)系數(shù)據(jù)庫的試金石,而SQL語言標準的每一次變更都指導著關(guān)系數(shù)據(jù)庫產(chǎn)品的發(fā)展方向。然而,直到二十世紀七十年代中期,關(guān)系理論才通過SQL在商業(yè)數(shù)據(jù)庫Oracle和DB2中使用。1986年,ANSI把SQL作為關(guān)系數(shù)據(jù)庫語言的美國標準,同年公布了標準SQL文本。目前SQL標準有3個版本?;維QL定義是ANSIX3135-89,“DatabaseLanguage-SQLwithIntegrityEnhancement”[ANS89],一般叫做SQL-89。SQL-89定義了模式定義、數(shù)據(jù)操作和事務(wù)處理。SQL-89和隨后的ANSIX3168-1989,“DatabaseLanguage-EmbeddedSQL”構(gòu)成了第一代SQL標準。ANSIX3135-1992[ANS92]描述了一種增強功能的SQL,現(xiàn)在叫做SQL-92標準。SQL-92包括模式操作,動態(tài)創(chuàng)建和SQL語句動態(tài)執(zhí)行、網(wǎng)絡(luò)環(huán)境支持等增強特性。在完成SQL-92標準后,ANSI和ISO即開始合作開發(fā)SQL3標準。SQL3的主要特點在于抽象數(shù)據(jù)類型的支持,為新一代對象關(guān)系數(shù)據(jù)庫提供了標準。3.4基本結(jié)構(gòu)數(shù)據(jù)庫的基本結(jié)構(gòu)分三個層次,反映了觀察數(shù)據(jù)庫的三種不同角度。(1)物理數(shù)據(jù)層。它是數(shù)據(jù)庫的最內(nèi)層,是物理存貯設(shè)備上實際存儲的數(shù)據(jù)的集合。這些數(shù)據(jù)是原始數(shù)據(jù),是用戶加工的對象,由內(nèi)部模式描述的指令操作處理的位串、字符和字組成。(2)概念數(shù)據(jù)層。它是數(shù)據(jù)庫的中間一層,是數(shù)據(jù)庫的整體邏輯表示。指出了每個數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系,是存貯記錄的集合。它所涉及的是數(shù)據(jù)庫所有對象的邏輯關(guān)系,而不是它們的物理情況,是數(shù)據(jù)庫管理員概念下的數(shù)據(jù)庫。(3)邏輯數(shù)據(jù)層。它是用戶所看到和使用的數(shù)據(jù)庫,表示了一個或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。數(shù)據(jù)庫不同層次之間的聯(lián)系是通過映射進行轉(zhuǎn)換的。主要特點(1)實現(xiàn)數(shù)據(jù)共享。數(shù)據(jù)共享包含所有用戶可同時存取數(shù)據(jù)庫中的數(shù)據(jù),也包括用戶可以用各種方式通過接口使用數(shù)據(jù)庫,并提供數(shù)據(jù)共享。(2)減少數(shù)據(jù)的余度。同文件系統(tǒng)相比,由于數(shù)據(jù)庫實現(xiàn)了數(shù)據(jù)共享,從而避免了用戶各自建立應(yīng)用文件。減少了大量重復數(shù)據(jù),減少了數(shù)據(jù)冗余,維護了數(shù)據(jù)的一致性。(3)數(shù)據(jù)的獨立性數(shù)據(jù)的獨立性包括數(shù)據(jù)庫中數(shù)據(jù)庫的邏輯結(jié)構(gòu)和應(yīng)用程序相互獨立,也包括數(shù)據(jù)物理結(jié)構(gòu)的變化不影響數(shù)據(jù)的邏輯結(jié)構(gòu)。(4)數(shù)據(jù)實現(xiàn)集中控制。文件管理方式中,數(shù)據(jù)處于一種分散的狀態(tài),不同的用戶或同一用戶在不同處理中其文件之間毫無關(guān)系。利用數(shù)據(jù)庫可對數(shù)據(jù)進行集中控制和管理,并通過數(shù)據(jù)模型表示各種數(shù)據(jù)的組織以及數(shù)據(jù)間的聯(lián)系。(5)數(shù)據(jù)一致性和可維護性,以確保數(shù)據(jù)的安全性和可靠性。主要包括:①安全性控制:以防止數(shù)據(jù)丟失、錯誤更新和越權(quán)使用;②完整性控制:保證數(shù)據(jù)的正確性、有效性和相容性;③并發(fā)控制:使在同一時間周期內(nèi),允許對數(shù)據(jù)實現(xiàn)多路存取,又能防止用戶之間的不正常交互作用;④故障的發(fā)現(xiàn)和恢復:由數(shù)據(jù)庫管理系統(tǒng)提供一套方法,可及時發(fā)現(xiàn)故障和修復故障,從而防止數(shù)據(jù)被破壞。3.5種類數(shù)據(jù)庫通常分為層次式數(shù)據(jù)庫、網(wǎng)絡(luò)式數(shù)據(jù)庫和關(guān)系式數(shù)據(jù)庫三種。而不同的數(shù)據(jù)庫是按不同的數(shù)據(jù)結(jié)構(gòu)來聯(lián)系和組織的。1.數(shù)據(jù)庫模型(1)數(shù)據(jù)結(jié)構(gòu)所謂數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)的組織形式或數(shù)據(jù)之間的聯(lián)系。如果用D表示數(shù)據(jù),用R表示數(shù)據(jù)對象之間存在的關(guān)系集合,則將DS=(D,R)稱為數(shù)據(jù)結(jié)構(gòu)。例如,設(shè)有一個電話號碼簿,它記錄了n個人的名字和相應(yīng)的電話號碼。為了方便地查找某人的電話號碼,將人名和號碼按字典順序排列,并在名字的后面跟隨著對應(yīng)的電話號碼。這樣,若要查找某人的電話號碼(假定他的名字的第一個字母是Y),那么只須查找以Y開頭的那些名字就可以了。該例中,數(shù)據(jù)的集合D就是人名和電話號碼,它們之間的聯(lián)系R就是按字典順序的排列,其相應(yīng)的數(shù)據(jù)結(jié)構(gòu)就是DS=(D,R),即一個數(shù)組。(2)數(shù)據(jù)結(jié)構(gòu)種類數(shù)據(jù)結(jié)構(gòu)又分為數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的物理結(jié)構(gòu)。數(shù)據(jù)的邏輯結(jié)構(gòu)是從邏輯的角度(即數(shù)據(jù)間的聯(lián)系和組織方式)來觀察數(shù)據(jù),分析數(shù)據(jù),與數(shù)據(jù)的存儲位置無關(guān)。數(shù)據(jù)的物理結(jié)構(gòu)是指數(shù)據(jù)在計算機中存放的結(jié)構(gòu),即數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的實現(xiàn)形式,所以物理結(jié)構(gòu)也被稱為存儲結(jié)構(gòu)。這里只研究數(shù)據(jù)的邏輯結(jié)構(gòu),并將反映和實現(xiàn)數(shù)據(jù)聯(lián)系的方法稱為數(shù)據(jù)模型。目前,比較流行的數(shù)據(jù)模型有三種,即按圖論理論建立的層次結(jié)構(gòu)模型和網(wǎng)狀結(jié)構(gòu)模型以及按關(guān)系理論建立的關(guān)系結(jié)構(gòu)模型。2.層次,網(wǎng)狀和關(guān)系數(shù)據(jù)庫系統(tǒng)(1)層次結(jié)構(gòu)模型層次結(jié)構(gòu)模型實質(zhì)上是一種有根結(jié)點的定向有序樹(在數(shù)學中"樹"被定義為一個無回的連通圖)。下圖是一個高等學校的組織結(jié)構(gòu)圖。這個組織結(jié)構(gòu)圖像一棵樹,校部就是樹根(稱為根結(jié)點),各系、專業(yè)、教師、學生等為枝點(稱為結(jié)點),樹根與枝點之間的聯(lián)系稱為邊,樹根與邊之比為1:N,即樹根只有一個,樹枝有N個。按照層次模型建立的數(shù)據(jù)庫系統(tǒng)稱為層次模型數(shù)據(jù)庫系統(tǒng)。IMS(InformationManage-mentSystem)是其典型代表。(2)網(wǎng)狀結(jié)構(gòu)模型按照網(wǎng)狀數(shù)據(jù)結(jié)構(gòu)建立的數(shù)據(jù)庫系統(tǒng)稱為網(wǎng)狀數(shù)據(jù)庫系統(tǒng),其典型代表是DBTG(DataBaseTaskGroup)。用數(shù)學方法可將網(wǎng)狀數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為層次數(shù)據(jù)結(jié)構(gòu)。(3)關(guān)系結(jié)構(gòu)模型關(guān)系式數(shù)據(jù)結(jié)構(gòu)把一些復雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡單的二元關(guān)系(即二維表格形式)。例如某單位的職工關(guān)系就是一個二元關(guān)系。由關(guān)系數(shù)據(jù)結(jié)構(gòu)組成的數(shù)據(jù)庫系統(tǒng)被稱為關(guān)系數(shù)據(jù)庫系統(tǒng)。在關(guān)系數(shù)據(jù)庫中,對數(shù)據(jù)的操作幾乎全部建立在一個或多個關(guān)系表格上,通過對這些關(guān)系表格的分類、合并、連接或選取等運算來實現(xiàn)數(shù)據(jù)的管理。dBASEII就是這類數(shù)據(jù)庫管理系統(tǒng)的典型代表。對于一個實際的應(yīng)用問題(如人事管理問題),有時需要多個關(guān)系才能實現(xiàn)。用dBASEII建立起來的一個關(guān)系稱為一個數(shù)據(jù)庫(或稱數(shù)據(jù)庫文件),而把對應(yīng)多個關(guān)系建立起來的多個數(shù)據(jù)庫稱為數(shù)據(jù)庫系統(tǒng)。dBASEII的另一個重要功能是通過建立命令文件來實現(xiàn)對數(shù)據(jù)庫的使用和管理,對于一個數(shù)據(jù)庫系統(tǒng)相應(yīng)的命令序列文件,稱為該數(shù)據(jù)庫的應(yīng)用系統(tǒng)。因此,可以概括地說,一個關(guān)系稱為一個數(shù)據(jù)庫,若干個數(shù)據(jù)庫可以構(gòu)成一個數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫系統(tǒng)可以派生出各種不同類型的輔助文件和建立它的應(yīng)用系統(tǒng)。3.6本次開發(fā)中所用數(shù)據(jù)庫本次程序用的是SQL2005來實現(xiàn)數(shù)據(jù)查詢的本次二次開發(fā)過程所用數(shù)據(jù)庫如下圖所示4.UG二次開發(fā)的研究4.1.UG軟件概述Unigraphics(簡稱UG)是當前世界上最先進和緊密集成的、面向制造行業(yè)的CAID/CAD/CAE/CAM高端軟件。它為制造業(yè)產(chǎn)品開發(fā)的全過程提供解決方案,主要功能包括:概念設(shè)計、工程設(shè)計、性能分析和制造。此外,UG軟件還提供了CAD/CAE/CAM業(yè)界最先進的編程工具集,以滿足用戶二次開發(fā)的需要。我們先討論UG軟件的主要功能,然后簡單介紹二次開發(fā)各功能模塊的特點和應(yīng)用4.1.1.UG軟件功能介紹UG是知識驅(qū)動自動化技術(shù)領(lǐng)域中的領(lǐng)先者。它實現(xiàn)了設(shè)計優(yōu)化技術(shù)與基于產(chǎn)品和過程的知識工程的組合,顯著地改進了如汽車、航天航空、機械、消費產(chǎn)品、醫(yī)療儀器和工具等工業(yè)的生產(chǎn)率。它為各種規(guī)模的企業(yè)遞交可測量的價值,更快地遞交產(chǎn)品到市場,使復雜產(chǎn)品的設(shè)計簡化,減少產(chǎn)品成本和增加企業(yè)的競爭實力。NX是一個交互的計算機輔助設(shè)計、計算機輔助制造和輔助工程(CAD/CAE/CAM)系統(tǒng)。CAD功能自動化是在今天制造公司中見到的一般工程、設(shè)計和制圖能力;CAM功能利用NX描述完成零件的設(shè)計模型,為現(xiàn)代機床提供NC編程;CAE功能橫越一廣范的工程學科,提供許多的產(chǎn)品、裝配和零件的性能防真能力。NX是一個全三維、雙精度系統(tǒng),它允許用戶精確地描述幾乎任一幾何形狀。通過組合這些形狀,用戶可以設(shè)計、分析產(chǎn)品和建立他們的工程圖。一但設(shè)計完成,制造應(yīng)用允許用戶選擇描述零件的幾何體,加入制造信息,如刀具直徑并自動生成一刀具位置,源文件(CLSF),它可用來驅(qū)動大多數(shù)NC機床[8]。目前UGS公司已經(jīng)推出NX5產(chǎn)品,本次設(shè)計中使用的是NX4版本的軟件。NX4的特點是:1、為了數(shù)字化產(chǎn)品開發(fā)集成的自動化;2、在所有開發(fā)學科中的新能力,包括工業(yè)設(shè)計、防真、工裝、加工和管理;3、在一個全面的產(chǎn)品生命周期管理(PLM)解決力案內(nèi)的領(lǐng)先前沿的CAD、CAE和CAM技術(shù)。4.1.2.UG功能模塊利用NX,可以建立、存儲、恢復和操縱設(shè)計與制造信息,典型地通過建立描述一零件的幾何體開始工作。NX功能被劃分成共同功能的一系列“應(yīng)用(Application)”共18個模塊,各模塊分別為:1、入口(Gateway):對所有其他交互應(yīng)用的首要必備的應(yīng)用;2、建模(Modeling):包括實體、特征、自由形狀、鈑金特征建模和用戶定義特征;3、裝配(Assembilies):支持裝配建模;4、幾何公差模塊(GeometricTolerancingModule):讓用戶捕捉公差;5、產(chǎn)品和制造信息(PMIIntroduction):可用于在三維環(huán)境中對產(chǎn)品形成文檔說明;6、分析(Analysis):包括注塑模流動分析、運動應(yīng)用和ICAD;7、制圖(Drafting):可將三維模型生成二維視圖;8、高質(zhì)量圖像(HighQualityImage):生成逼真照片的圖像;9、知識熔接(KnowledgeFusion):允許用戶應(yīng)用工程知識驅(qū)動規(guī)則和設(shè)計意圖到NX中的幾何模型和裝配;10、制造(Manufacturing):可進行虛擬加工和自動加工編程;11、開放的用戶界面設(shè)計(OpenUserInterfaceStyler):允許用戶和第三方開發(fā)商生成NX對話框;12、編程語言(ProgrammingLanguages):包括GRIP和API;13、質(zhì)量控制(QuallityControl);14、走線(Routing):定義圍繞和通過其他NX裝配的裝配;15、鈑金(SheetMetal):包括鈑金設(shè)計、沖壓和多零件加工的柵格;16、電子表格(Spreadsheet):提供一在Xess或者電子表格應(yīng)用和NX間的智能界面;17、WebExpress;18、WireHarness:可在用于描述產(chǎn)品機械裝配的同一三維空間建立電氣布線的表示。4.2UG二次開發(fā)相關(guān)工具的概述UG軟件提供了CAD/CAE/CAM業(yè)界最先進的編程工具集,以滿足用戶二次開發(fā)的需要,這組工具集稱之為UG/Open,是一系列UG開發(fā)工具的總稱,它們隨UG一起發(fā)布,以開放性架構(gòu)面向不同的軟件平臺提供靈活的開發(fā)支持。UG/Open包括以下幾個部分:UG/OpenMenuscrip開發(fā)工具,對UG軟件操作界面進行用戶化開發(fā),無須編程即可對UG標準菜單進行添加、重組、剪裁或在UG軟件中集成用戶自己的軟件功能;UG/OpenUIStyler開發(fā)工具是一個可視化編輯器,用于創(chuàng)建類似UG的交互界面,利用該工具,用戶可為UG/Open應(yīng)用程序開發(fā)獨立于硬件平臺的交互界面;UG/OpenAPI開發(fā)工具提供了UG軟件直接編程接口,支持C、C++、Fortran和Java等主要高級語言;UG/OpenGRIP開發(fā)工具是一個類似API的UG內(nèi)部開發(fā)語言,利用該工具用戶可生成NC自動化或自動建模等用戶的特殊應(yīng)用[9]。利用UG/Open提供的應(yīng)用程序和開發(fā)工具,用戶可以在其提供的平臺上開發(fā)出適合自己需要的CAD產(chǎn)品。4.2.1UG/OPENGRIPUG/OpenGRIP(GraphicsInteractiveProgramming)是一種專用的圖形交互編程語言。這種語言與UG系統(tǒng)集成,實現(xiàn)UG下的絕大多數(shù)的操作。GRIP語言與一般的通用語言一樣,有其自身的語法結(jié)構(gòu),程序結(jié)構(gòu),內(nèi)部函數(shù),以及與其他通用語言程序相互調(diào)用的接口。一個GRIP語句是由一個或幾個GRIP命令組成,GRIP命令是GRIP語言的基本組成部分。GRIP命令有三種表示格式:a)陳述格式。主要用于生成和編輯實體。b)GPA符號格式。GPA是全局參數(shù)存取(GlobalParameterAccess)的縮寫,用于訪問UG系統(tǒng)中各種對象的狀態(tài)和參數(shù)。c)EDA符號格式。EDA是實體數(shù)據(jù)存取(EntityDataAccess)的縮寫,用于訪問UG數(shù)據(jù)庫,能夠訪問各種對象的功能性數(shù)據(jù)。例如在屬性、繪圖和尺寸標注以及幾何體等領(lǐng)域與UG進行交互操作時,其參數(shù)可用EDA格式的命令取得。用GRIP語言編寫GRIP源程序,可以在windows的記事本中進行,記為*.grs;或者在GRIP高級開發(fā)環(huán)境(GRAD-GripAdvancedDevelopmentEnvironment)中編寫。執(zhí)行GRIP程序必需進入UG環(huán)境中,運行File—ExecuteUG/Open—Grip。GRIP編程語言是面向工程師的語言,具有簡單、易學、易用的特點,但是所編寫的程序長、復雜。要考慮程序的各個細節(jié)問題。因此,GRIP語言常用于開發(fā)一些規(guī)模比較小的程序,例如,同類零件建模、計算和分析、數(shù)據(jù)訪問等程序。與GRIP語言相比較,用API函數(shù)編程則可實現(xiàn)功能復雜的操作[10]。4.2.2UG/OPENAPI作為UGNX4.0與外部應(yīng)用程序之間的接口,UG/OpenAPI是一系列函數(shù)的集合。通過UG/OpenAPI的編程,用戶幾乎能夠?qū)崿F(xiàn)所有的UGNX4.0功能。開發(fā)人員可以通過用C++語言編程來調(diào)用這些函數(shù),從而實現(xiàn)用戶的需要。(1)對UGpart文件及相應(yīng)模型進行操作,包括建立UGNX4.0模型、查詢模型對象、建立并遍歷裝配體,以及創(chuàng)建工程圖等。(2)在UGNX4.0中創(chuàng)建交互式程序界面。(3)創(chuàng)建并管理用戶定義對象等。應(yīng)用函數(shù)時應(yīng)注意所有的UG/OpenAPI應(yīng)用必須及時進行初始化和終止,以確保獲取或者釋放UG/OpenAPI的執(zhí)行許可權(quán)限。初始化函數(shù)是UF_initialize(),當開始調(diào)用UG/OpenAPI的函數(shù)時應(yīng)先調(diào)用UF_initialize()來獲取執(zhí)行許可權(quán)限。一般來說,我們在變量聲明完成后,第1個調(diào)用UG/OpenAPI的函數(shù)就是UF_initialize()。終止函數(shù)是UF_terminate(),當不再調(diào)用UG/OpenAPI的函數(shù)時必須調(diào)用UF_terminate()來釋放執(zhí)行許可。UG/OpenAPI程序能在兩種不同環(huán)境(依賴于程序的連接方式)下運行,即Internal環(huán)境(也稱為“Internal開發(fā)模式”)和External模式。其中Internal環(huán)境下的程序只能在UGNX4.0的界面環(huán)境(session)下運行,在運行這些程序時他們被加載到UGNX4.0的運行空間中(UGNX4.0分配的內(nèi)存);External模式開發(fā)的程序能在操作系統(tǒng)(WindowsNT/2000/XP及UNIX)下運行,不在UGNX4.0環(huán)境中或作為UGNX4.0的子進程運行。盡管沒有圖形顯示,但UG/OpenAPI提供了函數(shù)用于打印機或繪圖儀輸出,也可以輸出為CGM文件等其他數(shù)據(jù)文件。4.2.3UG/OpenMenuScript不僅可以使用戶利用ASCⅡ文件來編輯UG的菜單,也可以以一種無縫集成的方式為用戶開發(fā)的應(yīng)用程序創(chuàng)建菜單。MenuScript同時也提供了一個菜單欄報告工具,以幫助用戶查看定制的菜單,診斷錯誤。對于菜單的自定義大致可以分為如下三個層次。 (1)自定義菜單 該級別的自定義允許單個用戶或者管理員重新安排UG的功能,去除在其產(chǎn)品開發(fā)過程中不需要的功能。這種級別的自定義不需要編程實現(xiàn)。 (2)自定義UG功能 該級別的自定義允許單個用戶或者管理員取代或增加標準的UG功能,并添加其自己定義的功能。 (3)添加自定義應(yīng)用 該級別的自定義其目的在于使用戶或第三方開發(fā)商開發(fā)的應(yīng)用程序完全集成在UG中。該級別的自定義需要編程實現(xiàn)。 UG的菜單文件是擴展名為.men的文本文件,可以使用Windows的記事本進行編輯。UG/OpenMenuScript提供了一套用于定義UG菜單的腳本語言。實際上,UG系統(tǒng)的菜單文件也是用該腳本語言編寫的。UG為主菜單欄、快捷菜單欄提供了豐富的系統(tǒng)菜單文件,這些菜單文件默認情況下都保存在UGⅡ_BASE_DIR/UGⅡ/menus文件夾下。 使用UG/OpenMenuScript自定義UG菜單可以有兩種方法,分別是使用Add-on菜單文件和復制和編輯系統(tǒng)菜單文件。使用Add-on菜單方法是添加編輯量很小的菜單文件到菜單文件的目錄中,使用Add-on菜單可以移出用戶不需要的菜單項;添加新的菜單和菜單項;重新組織UG的菜單;修改菜單和菜單項的標題;為已經(jīng)存在的應(yīng)用按鈕添加動態(tài)庫和菜單文件。復制和編輯系統(tǒng)菜單文件是指復制、編輯系統(tǒng)菜單文件并將其放置在特定的目錄下,覆蓋原始菜單文件。系統(tǒng)推薦使用Add-on菜單文件方法,該方法不僅編輯起來比較方便、易于維護,而且其功能也相當強大,基本可以滿足應(yīng)用開發(fā)的所有需求。使用Add-on菜單文件的另一個優(yōu)點在于它可以被UG很方便地自動加載。對于與具體應(yīng)用模式無關(guān)的菜單文件放置在startup文件夾下,與具體應(yīng)用模式相關(guān)的菜單文件放置在相應(yīng)的application文件夾下,通過使用MENU_FILES聲明,即可將菜單名與應(yīng)用模式按鈕相關(guān)聯(lián),點擊該應(yīng)用模式按鈕后即可自動加載與其相關(guān)聯(lián)的菜單文件。復制和編輯系統(tǒng)菜單文件方法不推薦使用,這主要是由于其編輯起來相當復雜,特別是對于像ug_main.men這樣大型的菜單文件,其維護也非常麻煩。4.2.4UG/OPENUIStylerUIStyler是開發(fā)UG對話框的可視化工具,生成的對話框能與UG集成,讓用戶更方便、更高效地與UG進行交互操作。UG/OpenUIStyler模塊提供了強大的制作UG風格窗口的功能,其主要功能如下:(1)提供了讓開發(fā)人員建造UG風格對話框的可視化環(huán)境,并能生成UG/OpenUIStyler文件和C代碼,從而使用戶在使用UG/OpenUIStyler產(chǎn)生的對話框時,不必考慮圖形用戶界面(GraphicalUserInterface縮寫為GUI)的實現(xiàn)。(2)利用可視化環(huán)境快速生成UG風格對話框,從而減少開發(fā)時間。(3)通過選取和放置控件,從而能實現(xiàn)所見即所得。(4)可以在對話框中實現(xiàn)用戶自定義位圖。(5)提供了屬性編輯器,從而允許開發(fā)人員設(shè)置和修改控件屬性。(6)UIStyelr產(chǎn)生的對話框可以在MenuScript中被調(diào)用,因此可以實現(xiàn)在UG菜單項上調(diào)用UIStyler產(chǎn)生的對話框,從而將用戶應(yīng)用程序和UG軟件完全融合。應(yīng)用UIStyler這一工具可以使開發(fā)人員方便、快速地設(shè)計出與UG界面風格一致的對話框,避免其他復雜的編程。而且可以和用其他開發(fā)工具開發(fā)出的結(jié)果進行集成。UG/OpenUIStyler工具和UG/OpenMenuScript工具一樣,都只具有某一方面的功能:UG/OpenUIStyler用于對話框的開發(fā),UG/OpenMenuScript用于菜單的開發(fā)。4.2.5UserTools工具UG軟件為用戶提供了一個調(diào)用二次開發(fā)結(jié)果的交互式接口:UserTools。它的功能是生成彈出式對話框或工具條,其界面風格與UG界面風格一致。通過執(zhí)行對話框或工具條,操作相應(yīng)的控件就可運行菜單文件、宏文件、UG/OpenGRIP程序、UG/OpenAPI程序和其他二次開發(fā)文件。例如,執(zhí)行皮帶輪生成的程序集,可以用UserTools工具產(chǎn)生兩個對話框分別為實心式皮帶輪和腹板式皮帶輪,然后在相應(yīng)的對話框上進行操作就生成相應(yīng)種類的皮帶輪。通過編寫對話框定義文件(*.utd)來實現(xiàn)UserTool工具的功能。編寫文件完成以后,在UG中執(zhí)行Tools—Customize—UserTools—Load.選擇所編寫的*.utd文件即可彈出需要的對話框或工具條。*.utd這個文件是文本文件,可用Windows中的記事本進行編寫和編輯。一種比較簡單的實現(xiàn)方法:拷貝UG中的模板文件Usertoo1.utd到UG啟動目錄下,然后編輯模板文件,實現(xiàn)所需要的功能。在以前較早版本中例如V13,運用UserTools工具必須編寫兩個文件:菜單定義文件(*.utm)和對話框定義文件(*.utd),然后通過執(zhí)行菜單項彈出相應(yīng)的對話框或工具條?,F(xiàn)在,較高的UG版本已經(jīng)省略產(chǎn)生菜單這一步,操作同上所述。在UG界面中應(yīng)用File—ExecuteUG/Open菜單執(zhí)行UG/OpenAPI程序或UG/OpenGRIP程序,操作一次只能執(zhí)行一個程序,而且必須找到程序所在的路徑。若利用UserTools這個工具,用戶可以將多個GRIP或API函數(shù)所編寫的程序集成到一個UserTools對話框或者工具條中,一個程序?qū)?yīng)一個控件,通過操作控件來調(diào)用程序,使用起來就非常方便。4.3動態(tài)鏈接庫技術(shù)4.3.1動態(tài)鏈介紹動態(tài)鏈接庫(DLL)是一個包含可由多個程序同時使用的代碼和數(shù)據(jù)的庫,DLL不是可執(zhí)行文件。動態(tài)鏈接提供了一種方法,使進程可以調(diào)用不屬于其可執(zhí)行代碼的函數(shù)。函數(shù)的可執(zhí)行代碼位于一個DLL中,該DLL包含一個或多個已被編譯、鏈接并與使用它們的進程分開存儲的函數(shù)。DLL還有助于共享數(shù)據(jù)和資源。多個應(yīng)用程序可同時訪問內(nèi)存中單個DLL副本的內(nèi)容。4.3.2DLL基本編程原理分析一般來說,DLL是一種磁盤文件(通常帶有.dll擴展名),它由全局數(shù)據(jù)、服務(wù)函數(shù)和資源組成,在運行時被系統(tǒng)加載到進程的虛擬空間中,成為調(diào)用進程的一部分。如果與其它DLL之間沒有沖突,該文件通常映射到進程虛擬空間的同一地址上。DLL模塊中包含各種導出函數(shù),用于向外界提供服務(wù)。Windows在加載DLL模塊時將進程函數(shù)調(diào)用與DLL文件的導出函數(shù)相匹配。在Win32環(huán)境中,每個進程都復制了自己的讀/寫全局變量。如果想要與其它進程共享內(nèi)存,必須使用內(nèi)存映射文件或者聲明一個共享數(shù)據(jù)段。DLL模塊需要的堆棧內(nèi)存都是從運行進程的堆棧中分配出來的4.3.3DLL的實現(xiàn)及其調(diào)用在創(chuàng)建和調(diào)用動態(tài)鏈接庫時要用到一些函數(shù)調(diào)用約定。函數(shù)調(diào)用約定是指決定函數(shù)參數(shù)傳送時入棧和出棧的順序,由調(diào)用者還是被調(diào)用者把參數(shù)彈出棧,以及編譯器用來識別函數(shù)名字的修飾約定(1)函數(shù)調(diào)用約定有多種stdcall調(diào)用約定相當于16位動態(tài)庫中經(jīng)常使用的PASCAL調(diào)用約定。在32位的VC++6.0中PASCAL調(diào)用約定不再被支持,取而代之的是__stdcall調(diào)用約定。兩者實質(zhì)上是一致的,即函數(shù)的參數(shù)自右向左通過棧傳遞,被調(diào)用的函數(shù)在返回前清理傳送參數(shù)的內(nèi)存棧,但不同的是函數(shù)名的修飾部分。_stdcall是Pascal程序的缺省調(diào)用方式,通常用于Win32API中,函數(shù)采用從右到左的壓棧方式,自己在退出時清空堆棧VC將函數(shù)編譯后會在函數(shù)名前面加上下劃線前綴,在函數(shù)名后加上"@"和參數(shù)的字節(jié)數(shù)。(2)C調(diào)用約定,按從右至左的順序壓參數(shù)入棧,由調(diào)用者把參數(shù)彈出棧。對于傳送參數(shù)的內(nèi)存棧是由調(diào)用者來維護的。另外,在函數(shù)名修飾約定方面也有所不同。_cdecl是C和C++程序缺省的調(diào)用方式。每一個調(diào)用它的函數(shù)都包含清空堆棧的代碼,所以產(chǎn)生的可執(zhí)行文件大小會比調(diào)用_stdcall函數(shù)的大。函數(shù)采用從右到左的壓棧方式。VC將函數(shù)編譯后會在函數(shù)名前面加上下劃線前綴。它是MFC缺省調(diào)用約定。4.3.4創(chuàng)建動態(tài)鏈接庫DLL在VisualC++6.0開發(fā)環(huán)境下,打開File\New\Project選項,可以選擇Win32DynamicLinkLibrary或MFCAppWizard[dll]來以不同的方式來創(chuàng)建Non-MFCDll、RegularDll、ExtensionDll等不同種類的動態(tài)鏈接庫。該動態(tài)鏈接庫編譯成功后,打開MyDll工程中的debug目錄,可以看到MyDll.dll、MyDll.lib兩個文件。LIB文件中包含DLL文件名和DLL文件中的函數(shù)名等,該LIB文件只是對應(yīng)該DLL文件的“映像文件”,與DLL文件中,LIB文件的長度要小的多,在進行隱式鏈接DLL時要用到它4.3.5動態(tài)鏈接庫DLL的調(diào)用(1)隱式的調(diào)用:需要把產(chǎn)生動態(tài)連接庫時產(chǎn)生的LIB文件加入到應(yīng)用程序的工程中,想使用DLL中的函數(shù)時,只須說明一下。隱式調(diào)用不需要調(diào)用LoadLibrary()和FreeLibrary()。程序員在建立一個DLL文件時,鏈接程序會自動生成一個與之對應(yīng)的LIB導入文件。該文件包含了每一個DLL導出函數(shù)的符號名和可選的標識號,但是并不含有實際的代碼。LIB文件作為DLL的替代文件被編譯到應(yīng)用程序項目中。當程序員通過靜態(tài)鏈接方式編譯生成應(yīng)用程序時,應(yīng)用程序中的調(diào)用函數(shù)與LIB文件中導出符號相匹配,這些符號或標識號進入到生成的EXE文件中。LIB文件中也包含了對應(yīng)的DLL文件名,鏈接程序?qū)⑵浯鎯υ贓XE文件內(nèi)部。當應(yīng)用程序運行過程中需要加載DLL文件時,Windows根據(jù)這些信息發(fā)現(xiàn)并加載DLL,然后通過符號名或標識號實現(xiàn)對DLL函數(shù)的動態(tài)鏈接。所有被應(yīng)用程序調(diào)用的DLL文件都會在應(yīng)用程序EXE文件加載時被再加載到內(nèi)存中??蓤?zhí)行程序鏈接到一個包含DLL輸出函數(shù)信息的輸入庫文件。操作系統(tǒng)在加載使用可執(zhí)行程序時加載DLL??蓤?zhí)行程序直接通過函數(shù)名調(diào)用DLL的輸出函數(shù),調(diào)用方法和程序內(nèi)部其它的函數(shù)是一樣的。(2)動態(tài)調(diào)用方式:是由編程者用API函數(shù)加載和卸載DLL來達到調(diào)用DLL的目的,使用上較復雜,但能更加有效地使用內(nèi)存,是編制大型應(yīng)用程序時的重要方式。顯式的調(diào)用:是指在應(yīng)用程序中用LoadLibrary或MFC提供的AfxLoadLibrary顯式的將自己所做的動態(tài)連接庫調(diào)進來,動態(tài)連接庫的文件名即是上面兩個函數(shù)的參數(shù),再用GetProcAddress()獲取想要引入的函數(shù)。自此,你就可以像使用如同本應(yīng)用程序自定義的函數(shù)一樣來調(diào)用此引入函數(shù)了。在應(yīng)用程序退出之前,應(yīng)該用FreeLibrary或MFC提供的AfxFreeLibrary釋放動態(tài)連接庫。直接調(diào)用Win32的LoadLibary函數(shù),并指定DLL的路徑作為參數(shù)。LoadLibary返回HINSTANCE參數(shù),應(yīng)用程序在調(diào)用GetProcAddress函數(shù)時使用這一參數(shù)。GetProcAddress函數(shù)將符號名或標識號轉(zhuǎn)換為DLL內(nèi)部的地址。程序員可以決定DLL文件何時加載或不加載,顯式鏈接在運行時決定加載哪個DLL文件。使用DLL的程序在使用之前必須加載(LoadLibrary)DLL從而得到一個DLL模塊的句柄,然后調(diào)用GetProcAddress函數(shù)得到輸出函數(shù)的指針,在退出之前必須卸載DLL(FreeLibrary)。5.二次開發(fā)技術(shù)實現(xiàn)5.1創(chuàng)建應(yīng)用UG提供的UG/OpenUIStyle開發(fā)工具是一個可視化編輯器,用于創(chuàng)建類似UG的交互界面,利用該工具,用戶可以為UG/Open應(yīng)用程序開發(fā)獨立于硬件平臺的交互界面。但是對于比較復雜的應(yīng)用程序交互界面,UG/OpenUIStyle的界面設(shè)計功能則顯然不能完全滿足要求,而MFC(MicrosoftFoundationClass)具有強大的界面設(shè)計功能。因此,本課題采用MFC來進行應(yīng)用程序界面設(shè)計。在VisualC++環(huán)境下新建一個類型為“MFCAppWizard.dll”的項目文件,使用MFC應(yīng)用向?qū)?chuàng)建應(yīng)用程序的步驟如下:步驟一:啟動VC++,選擇下拉菜單【File】→【New】選項,打開如圖4.1所示的“New”對話框。在對話框中選擇“Projects”選項卡,在項目類別中選擇中選擇“MFCAppWizard(dll)”選項。在右側(cè)的“Projectname”文本框中輸入工程名稱,在“Location”文本框設(shè)置合適的路徑來存放工程文件,單擊“OK”按鈕,進入4.2所示的“MFCAppWizard-Step1of1”圖4.1“NEW”對話框步驟二:在“MFCAppWizard”對話框中,選擇“RegularDLLusingsharedMFCDLL”單選框,使用UG/OpenAPI應(yīng)用程序使用共享的MFC。單擊“Finish”按鈕,進入NewProjectInformation窗口后,單擊OK按鈕,完成應(yīng)用程序框架的創(chuàng)建。圖4.2“MFCAppWizard-Step1of2”步驟三:在VC++6.0集成開發(fā)環(huán)境下,選擇下拉菜單【Tools】→【Options】選項,在打開的“Option”對話框中選擇“Directories”選項卡,在“Showdirectionfor:”下拉列表中選擇“Includeflies”加入頭文件所在文件夾,再選擇“Libraryfiles”加入庫文件所在文件夾,如圖所示:圖4.3設(shè)置工程路徑步驟四:單擊菜單欄中Project/Setting選項設(shè)置調(diào)試環(huán)境。選擇C/C++選項卡,在Category下拉列表框中選擇CodeGeneration選項,在Userun-timelibrary下拉列表框中選擇MultithreadedDLL(多線程動態(tài)鏈接庫)選項。選擇Link選項卡,在Objectlibrarymodules輸入框中添加2個所需的庫文件:libufun.lib和libugopenint.lib圖4.4使用MultithreadedDLL5.2對話框界面設(shè)計由VC應(yīng)用程序生成的項目文件中包括ReadMe、txt、StdAfx、cpp和以項目文件名為前綴的cpp源文件、def模塊定義文件以及rc資源文件等。雙擊以項目文件名為前綴的rc資源文件,在資源文件加入對話框資源,利用對話框編輯器設(shè)計布局合理、使用方便的用戶應(yīng)用程序工作界面。設(shè)置完成后雙擊此對話框,在彈出的類向?qū)?ClassWizard)中選擇默認的“CreateanewClass”選項(如圖4.5所示),選擇基類為“CDialog”,在Name編輯框中輸入新建類的名稱[21]。本課題以支承釘為例,創(chuàng)建一個CFixedPin的對話框類名。這時在Filename靜態(tài)文本框中將會自動顯示出系統(tǒng)默認的該類的執(zhí)行文件(*.cpp)。5.3系統(tǒng)實現(xiàn)5.3.1添加接口程序應(yīng)用程序的開發(fā)可以分為兩部分:界面程序和UG應(yīng)用程序。界面程序是顯示用戶界面,實現(xiàn)用戶與UG之間的交互功能。UG應(yīng)用程序是UG用戶界面程序的連接橋梁。此二者之間的接口部分是解決問題的關(guān)鍵。本定位件庫中用戶界面程序是VC中MFC編寫的,因此,在編寫用戶應(yīng)用程序之前必須添加接口程序。接口程序是添加在與本項目文件名同名的.cpp源文件中。本定位件庫的接口程序如下[22]:externvoidufsta(char*param,int*retcode,intrlen){if((UF_initialize())!=0)return;AFX_MANAGE_STATE(AfxGetStaticModuleState()); interror_code=0; if((error_code=UF_MB_add_actions(action_table))!=0) {charfail_message[133]=""; UF_get_fail_message(error_code,fail_message); AfxMessageBox(fail_message,1); }return;}函數(shù)UF_MB_add_actions()中的參數(shù)“actions”是類型為UF_MB_action_t的字符串數(shù)組,其中定義了動作名和執(zhí)行該動作調(diào)用的函數(shù)。其代碼如下:staticUF_MB_action_taction_table[]={ {"FIXED_PIN_DESIGN",",Application,NULL},};其中FIXED_PIN_DESIGN是動作名,需要與菜單文件中的動作名保持一致。Application是函數(shù)名,表示執(zhí)行FIXED_PIN_DESIGN動作時所執(zhí)行的函數(shù)。5.3.2創(chuàng)建對話框在界面設(shè)計時新建了一個對話框類。由于非模式對話框不必在關(guān)閉對話框后才將控制權(quán)交還給窗口,而是與主窗口分享控制權(quán),適合于本定位件庫的操作,所以添加代碼創(chuàng)建一個此類型的無模式實例,此段代碼需添加在接口程序所定義的執(zhí)行FIXED_PIN_DESIGN動作時所執(zhí)行的函數(shù)Application中,其關(guān)鍵代碼如下:UF_MB_cb_status_tApplication( UF_MB_widget_twidget, UF_MB_data_tclient_data, UF_MB_activated_button_p_tbutton){ CFixedPin*pindlg=newCFixedPin; pindlg->Create(IDD_DIALOG4);//創(chuàng)建并顯示對話框 pindlg->ShowWindow(SW_RESTORE); UF_terminate();//與UF_initialize()成對使用 return(UF_MB_CB_CONTINUE);}其中CFixedPin是界面設(shè)計中新建對話框類的類名,IDD_DIALOG4是所建此對話框的ID號。5.3.3創(chuàng)建用戶菜單由于開發(fā)的應(yīng)用程序是內(nèi)嵌在UG環(huán)境中的,需要一個用戶菜單來調(diào)用此應(yīng)用程序,這就需要UG/OPENManuScript技術(shù)。它提供用戶創(chuàng)建并編輯Unigraphics的下拉菜單及工具條。UG/OpenManuScript是UG/open的一個重要組成部分,支持UG主菜單和彈出式下拉菜單的修改,通過它可以改變UG菜單的布局、添加新的菜單項和工具條,生成用戶化的菜單進而集成用戶二次開發(fā)的特殊應(yīng)用。應(yīng)用ManuScript進行用戶菜單定制主要有兩種實現(xiàn)途徑。(l)添加菜單文件:開發(fā)人員添加菜單文件到相應(yīng)的菜單目錄下,這些菜單文件是經(jīng)過用戶編輯的,符合自己要求的菜單文件,這是一種比較好的方法。(2)編輯標準菜單文件:開發(fā)人員編輯存在的標準菜單文件,使之符合自己的要求,并且覆蓋原來的菜單文件。開發(fā)人員可以通過文本編輯器,例如Windows的記事本編輯UG菜單文件。UG/OpenApl提供UG/OpenAPI程序UG/OpenManuScript程序的接口函數(shù)。運用UG/OpenManuScript這一開發(fā)工具,可以很方便的編寫用戶菜單。通過此菜單調(diào)用用戶自行開發(fā)的對話框或UG本身的對話框,生成滿足用戶要求的交互式操作。創(chuàng)建一個文件名為pro_design.men菜單腳本文件用記事本打開,在其中用UG/OpenManuScript腳本語言添加代碼如下:編寫完菜單VERSION120EDITUG_GATEWAY_MAIN_MENUBARBEFOREUG_HELPCASCADE_BUTTONLOCATORS_DESIGNLABEL尺寸公差自動生成END_OF_BEFOREMENULOCATORS_DESIGNBUTTON FIXTURE_MODELLABEL尺寸公差庫ACTIONSFIXTURE_MODEL_ACTIONEND_OF_MENU腳本文件后,需進行系統(tǒng)環(huán)境變量的設(shè)置,否則UG無法訪問用戶自定義的菜單。系統(tǒng)環(huán)境變量的設(shè)置:在${UGll_BASE_DIR}\UGll\menus文件夾的目錄下找到:custom_dirs.dat文件,用記事本打開,在最后一行輸入D:/Toleranceindication存盤,退出。設(shè)置系統(tǒng)環(huán)境運行結(jié)果如下圖:5.3.4應(yīng)用實例打開UGNX4.0后,系統(tǒng)自動加載所示的尺寸公差自動生成菜單在沒有開發(fā)本功能以前,公差需要自己通過書上查表得知,在經(jīng)過二次開發(fā)后尺寸公差能夠自動標注在圖片上面,以下是隨便舉個實例,這是在沒利用公差標注系統(tǒng)以前:通過軟件開發(fā)工具操作如下圖:來實現(xiàn)尺寸公差的自動標準如下圖所示,已經(jīng)實現(xiàn)了公差的標注6.不足與展望從國內(nèi)外引入的大型CAD軟件,總是存在或多或少的不符合國家標準的環(huán)節(jié),雖然利用系統(tǒng)提供的工具開發(fā)適合于使用的軟件,有利于用戶提高工作效率?;赨G/Drafting平臺開發(fā)的公差標注系統(tǒng),能夠滿足設(shè)計樣圖的實際需要。利用本文提出的二次開發(fā)系統(tǒng)架構(gòu)和相關(guān)技術(shù),可以方便地實現(xiàn)UG其他方面的開發(fā)?;赨G的3D公差系統(tǒng)開發(fā)是今后的一重大工作.另外本軟件所采用的一些基本思想在應(yīng)用上還可以做進一步的擴展,即不止在尺寸標注線上這樣做,在一些附加實體或某種特征圖形上也可采用這種方法來實現(xiàn),這樣配合特征設(shè)計更加能提高繪圖效率,這也是今后特別值得去做的工作。參考文獻李進春,李雙躍,陳運遂.三維參數(shù)化夾具元件庫的數(shù)據(jù)驅(qū)動技術(shù)研究,浙江工業(yè)大學學報,2005,33(5):588-591。CecilJ.Computer-aidedfixturedesign-areviewandfuturetrends[J].IntJAdvManufTechol,2001,18:790-793WuY,RongYM,ChuTC.Automatedgenerationofdedicatedfixturedesign[J].InmmatimalJournalofComputerApplicationinTechnology,1997(10),213-235.麻建東,劉璇.三維組合夾具元件庫的建立,北京輕工業(yè)學院學報,2001,19(2):6-10.靖穎怡,付德欣,張善青.建立組合夾具元件圖庫的方法及技巧的研究,組合機床與自動化加工技術(shù),2002,(10):29-31.剛建華,段國林,劉璇,周靜.基于ACIS平臺的組合夾具元件庫的參數(shù)化設(shè)計。河北工業(yè)大學學報.2007(1):24-29.葉鵬,胡軍,李平.UG的參數(shù)化建模方法及三維零件庫的創(chuàng)建[J].機械,2004,31(z1):74-76.蔡瑾,段國林,李翠玉,李德紅.夾具設(shè)計技術(shù)發(fā)展綜述.河北工業(yè)大學學報.2002,31(5):35-40朱用樣,融亦鳴.柔性夾具與計算機輔助夾具設(shè)計技術(shù)的進展[1].制造技術(shù)與機床.2000(8):5-8.童秉樞,李學志,吳志軍等.機械CAD技術(shù)基礎(chǔ).北京:清華大學出版社,2003.安會民,劉美蓮.基于參數(shù)化特征造型系統(tǒng)的草圖尺寸標注的實現(xiàn).北京輕工業(yè)學院學報,2000,18(3):6-10.張秉森,王任.計算機輔助設(shè)計教程.北京:清華大學出版社.2005.董玉德,譚建榮,趙韓.基于約束參數(shù)化的設(shè)計技術(shù)研究現(xiàn)狀分析.中國圖象圖形學報,2002,7(6):532一538.基于UG的制冷用換熱器CAD系統(tǒng)的研究與開發(fā):(碩士學位論文).大連:大連理工大學,2007.汪愷.機械制造基礎(chǔ)標準應(yīng)用手冊(上).北京:機械工業(yè)出版社,1997.肖繼德,陳寧平主編.機床夾具設(shè)計.北京:機械工業(yè)出版社,1998.戴曙主編.金屬切削機床.北京:機械工業(yè)出版社,2005.李繼豪,崇凱.關(guān)于UG軟件二次開發(fā)的研究.機電產(chǎn)品開發(fā)與創(chuàng)新,2004,17(6):41-43.梅瑋,謝世坤.UG/OPENAPI對MFC的調(diào)用方法研究.2004,6:44-48.董正衛(wèi),田立中等.UG/OpenAPI編程基礎(chǔ).清華大學出版社,2002.張冶,洪雪,張澤幫.UnigraphicsNX參數(shù)化設(shè)計實例教程,北京:清華大學出版社,2003高鑫,李琳.基于.NET的參數(shù)化模型庫的開發(fā).計算機與現(xiàn)代化,2007(10):130-133.黃翔,李迎光.UG應(yīng)用開發(fā)教程與實例精解.北京:清華大學出版社,2005張海生.基于Solidworks的組合夾具元件的參數(shù)化設(shè)計.CAD/CAM與制造業(yè)信息化,2005(11):36-38.金建國,周明華,鄔學軍.參數(shù)化設(shè)計綜述[J].計算機工程與應(yīng)用,2003(7):16-18.李素萍,劉根生,林建平,等.基于UG的參數(shù)化設(shè)計方法及程序設(shè)計方法?,F(xiàn)代機械,2005(5):57-59.廖美根.基于UG生成表驅(qū)動的零件三維參數(shù)化模型研究.機械,2004(12):46-47.童團剛.利用UG/OpenAPI開發(fā)標準件庫[J].機械設(shè)計與制造,2004(1):19-20.張應(yīng)中,羅曉芳.基于UG/OpenAPI技術(shù)的參數(shù)化標準件庫的開發(fā)[J].計算機工程,2003,29(21):180-181.高飛.基于特征的設(shè)計過程模型.計算機輔助設(shè)計與圖形學學報,1995,7(l):69-74.劉璇,王晶,陳珊.尺寸公差的精度等級自動轉(zhuǎn)換.現(xiàn)代制造工程,2003(2):5-6劉璇,馮濤,陳珊.形位公差的精度等級自動轉(zhuǎn)換.現(xiàn)代制造公差,2002(9):18-20萬久團,黃翔.基于UG的三維參數(shù)化標準件庫的建立[J].電氣技術(shù)與自動化,2002(6):82—84.李玉龍,劉漢成,朱正然.UG下用戶CAD系統(tǒng)的界面二次開發(fā)研究.合肥學院學報(自然科學版),2006,16(4):41-45.EungNamKo.AnAdaptiveFaultToleranceSystemforUbiquitousComputingEnvironments:AFTS[J].ComputationalScienceAndItsApplications,2006,Volume3983/2006:475~482龔雄,劉建軍,王啟付.UG/Drafting國際化工程輔助制圖軟件的研究和實踐[J].計算機工程與設(shè)計,2005(2):473-475黃勇,張博林,薛運峰.UG二次開發(fā)與數(shù)據(jù)庫應(yīng)用基礎(chǔ)與典型范例[M].北京:電子工業(yè)出版社,2008李東波,劉萍萍,史翔.淺談solidworks中尺寸公差標注的二次開發(fā)[J].煤礦機械:2003(11):71-73.龐廣志,任家駿,吳鳳林,孫恒五等.基于UG/Drafting的公差標注系統(tǒng)開發(fā)研究[J].機械管理開發(fā):2009(6):148-149致謝經(jīng)過三個多月的忙碌和學習,本次畢業(yè)設(shè)計已經(jīng)到了尾聲。本次課題是基于UG的二次開發(fā),對UG的各項操作要求比較高。作為只有一點點UG基礎(chǔ)知識的我來說,如果沒有指導教師的的督促指導,想要完成這個設(shè)計是難以想象的。在這里首先要感謝我的指導老師。老師平日里工作繁多,但在我做畢業(yè)設(shè)計的每個階段,從開始選題到查閱資料,與及在設(shè)計計劃中的各個環(huán)節(jié)都給予了我悉心的指導。除了敬佩老師的專業(yè)水平和認真的工作態(tài)度外,他的治學嚴謹和科學研究的精神也是我永遠學習的榜樣。同時也非常感謝研究生師兄對我的大力幫助與支持,拋開自己的學習時間來為我講解論文制作過程中遇到的問題。此外,在我遇到問題時,葉老師總是不厭其煩地為我講解,他的為人將積極影響我今后的為人處事和學習工作。最后特別感謝審閱我的設(shè)計和畢業(yè)答辯的老師,感謝你們在白忙之中抽出時間來看我的設(shè)計成果。老師,你們辛苦了。
學位論文原創(chuàng)性聲明學位論文作者(本人簽名):年月日學位論文出版授權(quán)書論文密級:□公開 □保密(___年__月至__年__月)(作者簽名:_______導師簽名:______________年_____月_____日_______年_____月_____日
獨創(chuàng)聲明本人鄭重聲明:所呈交的畢業(yè)設(shè)計(論文),是本人在指導老師的指導下,獨立進行研究工作所取得的成果,成果不存在知識產(chǎn)權(quán)爭議。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計(論文)不含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對本文的研究做出重要貢獻的個人和集體均已在文中以明確方式標明。本聲明的法律后果由本人承擔。
作者簽名:二〇一〇年九月二十日
畢業(yè)設(shè)計(論文)使用授權(quán)聲明本人完全了解濱州學院關(guān)于收集、保存、使用畢業(yè)設(shè)計(論文)的規(guī)定。本人愿意按照學校要求提交學位論文的印刷本和電子版,同意學校保存學位論文的印刷本和電子版,或采用影印、數(shù)字化或其它復制手段保存設(shè)計(論文);同意學校在不以營利為目的的前提下,建立目錄檢索與閱覽服務(wù)系統(tǒng),公布設(shè)計(論文)的部分或全部內(nèi)容,允許他人依法合理使用。(保密論文在解密后遵守此規(guī)定)
作者簽名:二〇一〇年九月二十日
致謝時間飛逝,大學的學習生活很快就要過去,在這四年的學習生活中,收獲了很多,而這些成績的取得是和一直關(guān)心幫助我的人分不開的。首先非常感謝學校開設(shè)這個課題,為本人日后從事計算機方面的工作提供了經(jīng)驗,奠定了基礎(chǔ)。本次畢業(yè)設(shè)計大概持續(xù)了半年,現(xiàn)在終于到結(jié)尾了。本次畢業(yè)設(shè)計是對我大學四年學習下來最好的檢驗。經(jīng)過這次畢業(yè)設(shè)計,我的能力有了很大的提高,比如操作能力、分析問題的能力、合作精神、嚴謹?shù)墓ぷ髯黠L等方方面面都有很大的進步。這期間凝聚了很多人的心血,在此我表示由衷的感謝。沒有他們的幫助,我將無法順利完成這次設(shè)計。首先,我要特別感謝我的知道郭謙功老師對我的悉心指導,在我的論文書寫及設(shè)計過程中給了我大量的幫助和指導,為我理清了設(shè)計思路和操作方法,并對我所做的課題提出了有效的改進方案。郭謙功老師淵博的知識、嚴謹?shù)淖黠L和誨人不倦的態(tài)度給我留下了深刻的印象。從他身上,我學到了許多能受益終生的東西。再次對周巍老師表示衷心的感謝。其次,我要感謝大學四年中所有的任課老師和輔導員在學習期間對我的嚴格要求,感謝他們對我學習上和生活上的幫助,使我了解了許多專業(yè)知識和為人的道理,能夠在今后的生活道路上有繼續(xù)奮斗的力量。另外,我還要感謝大學四年和我一起走過的同學朋友對我的關(guān)心與支持,與他們一起學習、生活,讓我在大學期間生活的很充實,給我留下了很多難忘的回憶。最后,我要感謝我的父母對我的關(guān)系和理解,如果沒有他們在我的學習生涯中的無私奉獻和默默支持,我將無法順利完成今天的學業(yè)。四年的大學生活就快走入尾聲,我們的校園生活就要劃上句號,心中是無盡的難舍與眷戀。從這里走出,對我的人生來說,將是踏上一個新的征程,要把所學的知識應(yīng)用到實際工作中去?;厥姿哪?,取得了些許成績,生活中有快樂也有艱辛。感謝老師四
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于推行電子化辦公的通知申請
- 商場店鋪轉(zhuǎn)讓協(xié)議書
- 股份制文書與權(quán)益分配細則
- 垃圾轉(zhuǎn)運站防污處理方法
- 大規(guī)模數(shù)據(jù)處理框架構(gòu)建
- 農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)應(yīng)用與示范方案設(shè)計
- 年度旅游景點游客數(shù)量統(tǒng)計表
- 2025年安徽藝術(shù)職業(yè)學院單招職業(yè)技能考試題庫參考答案
- 市場細分效果分析表
- 國際貿(mào)易合同術(shù)語
- 材料化學合成與制備技術(shù)
- 金屬工藝學(鑄造)課件
- DB23∕T 343-2003 國有林區(qū)更新造林技術(shù)規(guī)程
- 醫(yī)療廢物管理組織機構(gòu)架構(gòu)圖
- cjj/t135-2009《透水水泥混凝土路面技術(shù)規(guī)程》
- 短時耐受電流
- 社保人事專員績效考核表
- 河北省自然科學基金資助項目申請書模板
- 上海世博會對上海城市競爭力影響的評估模型
- 河南書法家協(xié)會入會申請表
- 鄉(xiāng)村獸醫(yī)登記申請表(共1頁)
評論
0/150
提交評論