freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

虛擬數(shù)控車削加工系統(tǒng)研究與實(shí)現(xiàn)(文件)

 

【正文】 直觀、友好,只需要簡(jiǎn)單培訓(xùn)即可上手;軟件適用范圍廣,不僅能進(jìn)行數(shù)控教學(xué),又能用于實(shí)際生產(chǎn)。 (5)可靠性:能系統(tǒng)檢驗(yàn)數(shù)控代碼錯(cuò)誤,真實(shí)進(jìn)行圖形仿真。 (4)機(jī)床通信功能。虛擬加工過程的實(shí)現(xiàn)包括虛擬加工環(huán)境的建立和加工過程的仿真,本系統(tǒng)開發(fā)中進(jìn)行了二維仿真和三維仿真的研究。 除了AppWizard自動(dòng)生成的類以外,實(shí)現(xiàn)系統(tǒng)功能的主要類如下: (1) 數(shù)控程序編輯類 實(shí)現(xiàn)文本編輯,具備一般編輯器打開、新建、保存、另存為、復(fù)制、粘貼、剪切、撤消等功能。 (4) 加工過程仿真類 由代碼驅(qū)動(dòng)仿真加工過程的實(shí)現(xiàn)。 (7) 刀具類 根據(jù)需要選擇刀具型號(hào)及起刀點(diǎn)位置。左上區(qū)域是數(shù)控程序編輯區(qū),用戶可以打開已有程序文件或編寫新的數(shù)控程序,具備一般文本編輯軟件的常用功能;右上區(qū)域是顯示車削加工的動(dòng)態(tài)仿真過程,默認(rèn)為二維仿真環(huán)境,用戶可通過菜單選項(xiàng)進(jìn)行二、三維仿真的切換,系統(tǒng)還提供了默認(rèn)的毛坯和刀具,用戶可以通過“參數(shù)設(shè)置”菜單修改加工環(huán)境中的這些數(shù)據(jù);下方區(qū)域是系統(tǒng)信息輸出框,顯示數(shù)控代碼檢驗(yàn)中的出錯(cuò)提示和其他交互信息。 系統(tǒng)開發(fā)平臺(tái) Win32多線程技術(shù) Windows2000/XP操作系統(tǒng)是一個(gè)多任務(wù)操作系統(tǒng),其多任務(wù)實(shí)現(xiàn)機(jī)制有兩種:多進(jìn)程和多線程。前者包含一個(gè)消息泵,并關(guān)聯(lián)一個(gè)主窗口,消息泵為其主窗口分發(fā)消息,進(jìn)行消息驅(qū)動(dòng),從而主窗口可以響應(yīng)用戶的交互操作及其它系統(tǒng)事件;工作者線程則沒有消息循環(huán),也不能關(guān)聯(lián)窗口。保證各個(gè)線程可以在一起適當(dāng)?shù)膮f(xié)調(diào)工作稱為線程之間的同步。 (2) Semaphore(信號(hào))。用ResetEvent函數(shù)設(shè)置事件對(duì)象狀態(tài)為不允許線程通過;用SetEvent函數(shù)設(shè)置事件對(duì)象狀態(tài)為可以允許線程通過 (4) Mutex(互斥量)。這是一種簡(jiǎn)單的通訊方法,首先定義一些全局變量,通過其取值執(zhí)行各個(gè)線程間的協(xié)調(diào)。這是一種比較復(fù)雜的通訊方法,事件對(duì)象有兩種狀態(tài):有信號(hào)狀態(tài)和無信號(hào)狀態(tài),當(dāng)事件對(duì)象的狀態(tài)改變時(shí),其他線程將覺察這種變化,然后進(jìn)行響應(yīng)操作。 VC++ Visual C++,目前已成為國(guó)內(nèi)應(yīng)用最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言之一。本系統(tǒng)的開發(fā)采用第二種方式。 (2)變換 OpenGL圖形庫(kù)的變換包括基本變換和投影變換。 (4)光照和材質(zhì)設(shè)置 OpenGL光有輻射光、環(huán)境光、漫反射光和鏡面光,材質(zhì)是用光反射率來表示的。以上三條可使被仿真物更具真實(shí)感,增強(qiáng)圖形顯示的效果。 OpenGL只對(duì)此種類型的窗口有效。pfd)。 (5)OpenGL進(jìn)行圖形繪制 (6)退出時(shí)釋放RC和DC: 通過以下函數(shù)完成 wglMakeCurrent()。 在Windows98以前,Microsoft公司提供了創(chuàng)建幫助系統(tǒng)的工具Help Workshop,即Winhelp。 本系統(tǒng)的幫助系統(tǒng)采用基于HTML網(wǎng)頁(yè)的HTML Help,其開發(fā)步驟如下: (1) 使用FrontPage工具制作主題網(wǎng)頁(yè)。 (5) 編譯幫助工程。首先分析和設(shè)計(jì)了系統(tǒng)的總體結(jié)構(gòu),并給出了利用面向?qū)ο缶幊谭椒ㄟM(jìn)行開發(fā)的主要類結(jié)構(gòu),然后介紹系統(tǒng)的界面,最后對(duì)系統(tǒng)開發(fā)中用到的主要開發(fā)工具進(jìn)行了介紹。 數(shù)控語(yǔ)言結(jié)構(gòu)及其特點(diǎn) 數(shù)控機(jī)床每完成一個(gè)工件的加工,需要執(zhí)行一個(gè)完整的程序,每個(gè)程序由程序開始部分和許多程序段組成。用地址碼N和后面的若干位數(shù)字來表示。 (3)程序段的主體部分 一段程序中,除序號(hào)和結(jié)束符號(hào)外的其余部分是程序主體部分。模態(tài)G代碼一旦執(zhí)行就一直保持有效,直到同一模態(tài)組的另一個(gè)G代碼替代為止;非模態(tài)G代碼只在它所在的程序段內(nèi)有效。用它規(guī)定直線插補(bǔ)和圓弧插補(bǔ)方式下刀具中心的進(jìn)給運(yùn)動(dòng)速度。每一個(gè)輔助功能字的執(zhí)行順序在數(shù)控機(jī)床的編程手冊(cè)中都有明確的規(guī)定。 由于要實(shí)現(xiàn)通用數(shù)控代碼翻譯器尚有很大困難,因此本系統(tǒng)開發(fā)選用FANUC0TD數(shù)控系統(tǒng)機(jī)床主要編程指令集為例進(jìn)行研究,為進(jìn)一步開發(fā)通用系統(tǒng)打下基礎(chǔ)。 對(duì)一般的計(jì)算機(jī)高級(jí)語(yǔ)言,要將其翻譯成目標(biāo)程序后才運(yùn)行,這個(gè)過程稱為編譯。YACC實(shí)現(xiàn)數(shù)控程序的編譯,達(dá)到檢驗(yàn)數(shù)控程序的目的[20,21]。 翻譯器的總體結(jié)構(gòu)如圖31所示:數(shù)控源程序詞法分析語(yǔ)法分析出錯(cuò)處理語(yǔ)義分析執(zhí)行翻譯圖31數(shù)控程序翻譯器總體結(jié)構(gòu) 詞法分析的任務(wù)是對(duì)字符串表示的數(shù)控源程序從左到右進(jìn)行掃描分解,根據(jù)詞法規(guī)則識(shí)別出一個(gè)一個(gè)具有獨(dú)立意義的單詞符號(hào),傳送給語(yǔ)法分析程序,并對(duì)非法字符給出錯(cuò)誤提示。 詞法分析程序所輸出的單詞符號(hào)通常表示成二元式的形式:(單詞種別,單詞自身的值) 單詞種別表示單詞的種類,是語(yǔ)法分析需要的信息,現(xiàn)將基本字符視為一種,整常數(shù)視為一種,其他合法符號(hào)采用一符一種的方法。letter letter224。第一種方法是用手工方式,即根據(jù)識(shí)別語(yǔ)言單詞的狀態(tài)轉(zhuǎn)換圖,使用某種高級(jí)語(yǔ)言直接編寫詞法分析程序。有窮自動(dòng)機(jī)有“確定的”(DFA)和“非確定的”(NFA)兩類,兩者都能準(zhǔn)確地識(shí)別正規(guī)集。digit digit*X YdigitXdigit2 Y1圖33 從正規(guī)式構(gòu)造NFA (2)NFA確定化為DFA: 首先確定其初態(tài),命名0狀態(tài)。 digit0digit 1圖35 化簡(jiǎn)后的DFA 識(shí)別本數(shù)控系統(tǒng)指令集的單詞符號(hào)最終狀態(tài)轉(zhuǎn)換圖如圖36所示,圖中狀態(tài)0為初態(tài),帶雙圈者為終態(tài),構(gòu)造程序時(shí)讓每個(gè)雙圈狀態(tài)對(duì)應(yīng)一小段程序。否是合法符號(hào)數(shù)字其他符號(hào)拼數(shù)種別碼=2給出對(duì)應(yīng)種別碼 報(bào)錯(cuò)基本字符種別碼=1結(jié)束?變量初始化 忽略空格 開始返回返回圖37詞法分析流程圖 語(yǔ)法分析部分以詞法分析生成的單詞符號(hào)序列作為輸入,根據(jù)數(shù)控語(yǔ)言的語(yǔ)法規(guī)則識(shí)別各種語(yǔ)法成分(如程序字、程序段、整個(gè)程序等),在分析過程中檢查單詞符號(hào)序列是否是該語(yǔ)言文法的一個(gè)句子,若不是,要指明錯(cuò)誤的性質(zhì)和位置。a|b,滿足SELECT(Aa) SELECT(Ab)=空集。 數(shù)控語(yǔ)言文法的擴(kuò)充BNF表示如下: NC程序224。 程序段號(hào)段內(nèi)容 程序段號(hào)224。GNUM S字224。FNUM 根據(jù)數(shù)控語(yǔ)言的上述文法表示,本系統(tǒng)采用遞歸下降分析法進(jìn)行了語(yǔ)法分析程序的開發(fā)。如: 在同一個(gè)數(shù)控加工程序段中先后編入了互相矛盾的零件尺寸代碼; 在同一個(gè)數(shù)控加工程序段中先后出現(xiàn)了兩個(gè)或兩個(gè)以上同組的G代碼,例如同時(shí)編入了G01和G02是不允許的; 在同一個(gè)數(shù)控加工程序段中先后出現(xiàn)了兩個(gè)或兩個(gè)以上同組的M代碼,例如同時(shí)編入了M03和M04也是不允許的。 系統(tǒng)從文件獲得數(shù)據(jù)時(shí),先以字符形式保存,再轉(zhuǎn)換成相應(yīng)數(shù)值,根據(jù)指令的類型做出數(shù)學(xué)處理:如指令是G00 ,參數(shù)X和Z后的數(shù)值即是定位點(diǎn)坐標(biāo);指令G01,后參數(shù)數(shù)值是直線插補(bǔ)的終點(diǎn)坐標(biāo);對(duì)指令G0G03需根據(jù)圓弧走向、終點(diǎn)坐標(biāo)、圓弧半徑計(jì)算出圓心坐標(biāo)值為仿真時(shí)插補(bǔ)計(jì)算做好準(zhǔn)備。irow。 //G指令 int Mcode。 //I 值 float Knum。 //F值 int Tnum。第4章 虛擬加工過程實(shí)現(xiàn) 虛擬加工過程的實(shí)現(xiàn)是運(yùn)用計(jì)算機(jī)圖形學(xué)及虛擬現(xiàn)實(shí)技術(shù)對(duì)真實(shí)加工過程的仿真過程。 幾何建模技術(shù) 幾何模型是為了表示物體在計(jì)算機(jī)中的表達(dá)形式而建立的模型,幾何建模一直是CAD/CAM系統(tǒng)發(fā)展的核心內(nèi)容。應(yīng)用較為廣泛的三維實(shí)體造型方法有構(gòu)造實(shí)體幾何法(CSG)、邊界表示法(Brep)、單元分解法等: (1)構(gòu)造實(shí)體幾何法(CSG) 是將簡(jiǎn)單的實(shí)體進(jìn)行一定的集合運(yùn)算構(gòu)成所需要設(shè)計(jì)的復(fù)雜物體。物體的邊界是物體內(nèi)部點(diǎn)和外部點(diǎn)的分界線,要用實(shí)體的邊界信息表示一個(gè)實(shí)體,必須包含兩類信息:幾何信息和拓?fù)湫畔ⅰ?(3)單元分解法 單元分解法是將形體按某種規(guī)則分解為小的、更易于描述的部分,每一小部分又可分為更小的部分,直至每一小部分都能夠直接描述為止。但這種實(shí)體間的布爾運(yùn)算計(jì)算量也是驚人的,大大降低了加工過程的實(shí)時(shí)性,很難直接應(yīng)用于動(dòng)態(tài)仿真。另外Dexel網(wǎng)格的密度也決定了仿真顯示的精度,所以若采用均勻分布的Dexel結(jié)構(gòu)可能導(dǎo)致因象素劃分而形成的工件表面不均勻,影響加工仿真的結(jié)果。仿真計(jì)算時(shí),從該離散點(diǎn)出發(fā)并沿該點(diǎn)法矢方向的直線與刀具運(yùn)動(dòng)形成的刀具包絡(luò)體相交,如果交點(diǎn)到離散點(diǎn)的距離小于原來的法矢長(zhǎng)度,則用交點(diǎn)距離替代原來法矢長(zhǎng)度,否則保留。 在離散矢量建模方法中,離散矢量與刀具掃描體的求交算法是影響運(yùn)行速度的關(guān)鍵因素。離散矢量求交法基于零件的表面處理,能精確描述零件面的加工誤差,主要用于曲面加工的誤差檢測(cè)。目前應(yīng)用的插補(bǔ)算法主要有兩類:脈沖增量插補(bǔ)和數(shù)字增量插補(bǔ)。 在虛擬加工系統(tǒng)中,加工仿真的過程,也就是根據(jù)數(shù)控程序要求運(yùn)用插補(bǔ)算法改變毛坯幾何模型的過程。如圖42,直線的起點(diǎn)為坐標(biāo)原點(diǎn),終點(diǎn)為,設(shè)點(diǎn)為加工動(dòng)點(diǎn)。這樣走一步算一次直到終點(diǎn)。 根據(jù)上述插補(bǔ)原理,可以得到第一象限逐點(diǎn)比較直線插補(bǔ)的程序流程(見圖43):YNY初始化,F(xiàn)=0,求出總步長(zhǎng)B+X方向進(jìn)給+Y方向進(jìn)給B=0 結(jié)束N開始圖43第一象限直線插補(bǔ)流程 在圓弧加工過程中,是用動(dòng)點(diǎn)到圓心的距離來反映刀具位置與被加工圓弧之間的相對(duì)關(guān)系,現(xiàn)仍以第一象限圓弧插補(bǔ)為例進(jìn)行說明。(3)偏差與坐標(biāo)計(jì)算: 為簡(jiǎn)化計(jì)算,也導(dǎo)出便于計(jì)算的偏差遞推公式:當(dāng)時(shí),向進(jìn)給一步,加工點(diǎn)由移動(dòng)到則新加工點(diǎn)的偏差 當(dāng)時(shí),向進(jìn)給一步,則新加工點(diǎn)的偏差為 (4)終點(diǎn)判別: 圓弧插補(bǔ)的終點(diǎn)判別常用方法有兩種:一種是用X,Y方向應(yīng)走總步長(zhǎng)之和,每進(jìn)給一步,總步長(zhǎng)減1,直到為零;另一種是用圓弧末端來選取,如末端離Y(X)軸近,則選取X(Y)的坐標(biāo)做總步長(zhǎng),每在該坐標(biāo)進(jìn)給一步,總步長(zhǎng)減1,直到為零。折線逼近給定軌跡,誤差就會(huì)小于半個(gè)進(jìn)給單位,得到較高質(zhì)量的插補(bǔ)數(shù)據(jù)[30]。 MFC圖形編程方法 1 GDI基礎(chǔ)知識(shí) 圖形設(shè)備接口(GDI)是Windows提供的圖形編程接口,它接收應(yīng)用程序的繪圖請(qǐng)求,將它們傳給相應(yīng)的設(shè)備驅(qū)動(dòng)程序,完成特定硬件的輸出。 二維仿真 由于車削編程屬于二維編程,所以車削加工仿真可以在二維進(jìn)行。逐點(diǎn)比較法使用簡(jiǎn)單方便,但因其以垂直折線逼近給定軌跡,插補(bǔ)誤差只能小于或等于一個(gè)進(jìn)給單位。X0Y.圖44圓弧與動(dòng)點(diǎn)的關(guān)系與直線插補(bǔ)類似,圓弧插補(bǔ)每進(jìn)給一步也要經(jīng)過四個(gè)節(jié)拍的工作:(1)偏差判別: 若點(diǎn)在圓弧上,則下式成立: 取偏差函數(shù)為 則根據(jù)動(dòng)點(diǎn)所在區(qū)域不同,有下列三種情況:,動(dòng)點(diǎn)在圓弧外;,動(dòng)點(diǎn)在圓弧上;,動(dòng)點(diǎn)在圓弧內(nèi)。 當(dāng)時(shí)可得如下遞推公式: 當(dāng)時(shí)同理得: (4)終點(diǎn)判別: 終點(diǎn)判別方法一般有兩種:1)根據(jù)X、Y兩向坐標(biāo)總步長(zhǎng)判斷,每走一步x或y,均使總步長(zhǎng)減1,總步長(zhǎng)為零時(shí)到終點(diǎn)。(2)坐標(biāo)進(jìn)給: 坐標(biāo)進(jìn)給是向使偏差縮小的方向。 所謂逐點(diǎn)比較法,即每走一步都要和給定軌跡上的坐標(biāo)值進(jìn)行一次比較,視該點(diǎn)在給定軌跡的上方或下方,或在給定軌跡的里面或外面,從而決定下一步的進(jìn)給方向,使之趨近加工軌跡。數(shù)字增量插補(bǔ)的特點(diǎn)是插補(bǔ)運(yùn)算分兩步完成:粗插補(bǔ)和精插補(bǔ)。 插補(bǔ)算法 插補(bǔ)計(jì)算就是數(shù)控系統(tǒng)根據(jù)輸入的基本數(shù)據(jù)(起點(diǎn)、終點(diǎn)、進(jìn)給速度等),通過計(jì)算,將工件輪廓的特征描述出來,邊計(jì)算邊根據(jù)計(jì)算結(jié)果向各坐標(biāo)發(fā)出進(jìn)給命令,可見在數(shù)控加工過程中插補(bǔ)算法是系統(tǒng)控制的核心內(nèi)容。 總體來說,基于實(shí)體造型的方法中幾何模型的表達(dá)與實(shí)際加工過程相一致,使得仿真的最終結(jié)果與設(shè)計(jì)產(chǎn)品間的精確比較成為可能;但實(shí)體造型的技術(shù)要求高,計(jì)算量大,在目前的計(jì)算機(jī)實(shí)用環(huán)境下較難應(yīng)用于實(shí)時(shí)檢測(cè)和動(dòng)態(tài)模擬。 采用離散矢量建模方法的仿真加工過程實(shí)際上就是刀具掃描體與毛坯的求交及毛坯體的數(shù)據(jù)更新過程。針對(duì)以上缺陷提出了離散矢量建模方法,這種方法最早源于Chappel提出的“點(diǎn)-矢量”法[27]。利用圖像空間離散思想,Van Hook提出了一種利用擴(kuò)展的Z緩沖區(qū)數(shù)據(jù)結(jié)構(gòu)來進(jìn)行加工過程仿真的方法[25]:將實(shí)體按圖像空間的象素離散,在每一個(gè)屏幕象素點(diǎn)上,將刀具和毛坯表示為一個(gè)長(zhǎng)方體單元,稱為Dexel結(jié)構(gòu)。根據(jù)基本單元的不同形狀,常用四叉樹、八叉樹和多叉樹等表示方法。邊界表示法中最為重要的兩種數(shù)據(jù)結(jié)構(gòu)是翼邊結(jié)構(gòu)和半邊數(shù)據(jù)結(jié)構(gòu)。但CSG樹只是定義了所表示物體的構(gòu)造方式,既不反映物體的面、邊、頂點(diǎn)等有關(guān)邊界信息,也不顯示說明三維點(diǎn)集與所表示的物體在實(shí)際空間的一一對(duì)應(yīng)關(guān)系。 目前用于實(shí)現(xiàn)虛擬數(shù)控加工過程的幾何建模方法有三類:直接三維實(shí)體建模、基于圖像空間建模、離散矢量建模[24]。另外從本系統(tǒng)開發(fā)的目的來看,以檢驗(yàn)和驗(yàn)證數(shù)控代碼的正確性為目的,并不片面強(qiáng)調(diào)其真實(shí)性。 由于數(shù)控加工指令有模態(tài)和非模態(tài)之分,其中模態(tài)指令一旦執(zhí)行就一直保持有效,直到同一模態(tài)組的另一個(gè)代碼替代為止,而非模態(tài)指令只在它所在的程序段有效,所以每次執(zhí)行非模態(tài)指令程序段后都要需要作出相應(yīng)處理,使提取的G指令值只在本程序段有效。 //P值 float Rnum。 //X值 float Znum。 { while(本行未結(jié)束) //針對(duì)每行提取指令及參數(shù)數(shù)值; { 讀取G指令參數(shù); 讀取X指令參數(shù); 讀取Z指令參數(shù); 讀取R指令參數(shù); 讀取I指令參數(shù); 讀取K指令參數(shù); 讀取F指令參數(shù); ...... }//while語(yǔ)句結(jié)束。在眾多的G代碼中,只有部分G代碼與仿真有關(guān),如G00:點(diǎn)位控制;G01:直線插補(bǔ);G02/G03:圓弧插補(bǔ)等,為此,研究中將只對(duì)相關(guān)G代碼進(jìn)行處理[23]。 在虛擬加工系統(tǒng)中運(yùn)行數(shù)控程序時(shí)需要提取數(shù)控程序指令及指令參數(shù)等信息,驅(qū)動(dòng)仿真系統(tǒng)模型的運(yùn)動(dòng)。 結(jié)束置初值 用詞法分析程序讀入單詞 語(yǔ)法分析 開始圖38 語(yǔ)法分析主程序流程圖
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1