亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Linux的圖形交互線切割加工CAM軟件關(guān)鍵技術(shù)

        2010-06-27 02:13:44范益民趙萬生
        電加工與模具 2010年2期
        關(guān)鍵詞:圖元代碼指令

        曹 琨,范益民,羅 凌,趙萬生

        (上海交通大學機械與動力工程學院機械系統(tǒng)與振動國家重點實驗室,上海200240)

        隨著計算機和數(shù)控技術(shù)的飛速發(fā)展,CAM軟件已成為企業(yè)實現(xiàn)高度自動化設(shè)計及加工的重要手段。據(jù)統(tǒng)計,我國制造類企業(yè)每年采購三維CAD/CAM軟件的金額高達幾十億元,且還以每年20%的速度遞增,這對國內(nèi)制造企業(yè)是一個巨大的壓力,也存在信息和知識產(chǎn)權(quán)隱患[1]。因此,深化開發(fā)應(yīng)用CAD/CAM軟件具有重要意義。線切割機床由于采用金屬線作為加工工具,其加工對象多為直壁平面圖形,最復(fù)雜的加工當屬上下異形直紋面。而即使是對于上下異形的工件加工,也可通過二維的編程來實現(xiàn)[2]。用二維CAD/CAM軟件實現(xiàn)線切割加工的生產(chǎn)設(shè)計自動化,無疑將降低企業(yè)的成本,提高產(chǎn)品的競爭力。

        目前,國內(nèi)較為常用的二維線切割CAM軟件有YH型線切割軟件、CAXA、WTCAM,前者只能用于DOS系統(tǒng)中,后兩者目前也支持Windows系統(tǒng),同時后兩者還開發(fā)了專有的CAD模塊,因此能實現(xiàn)較強大的圖形交互CAM過程。而國內(nèi)許多高校也都有針對線切割加工的計算機輔助制造系統(tǒng)解決方案的研究,如基于Windows操作系統(tǒng),利用Visual C++6.0和OpenGL,開發(fā)了專用的空間曲面電火花線切割CAD/CAM 軟件[3];基于AutoCAD平臺,實現(xiàn)了線切割數(shù)控自動編程[4]。近年來,基于 Linux的線切割加工數(shù)控系統(tǒng)以其優(yōu)越的安全性,圖形界面的友好性,極好的穩(wěn)定性以及開源性,正在贏得越來越多的開發(fā)者和廠商的青睞。隨著該類型數(shù)控系統(tǒng)在加工制造業(yè)中的迅速發(fā)展,相信其在今后一定會迸發(fā)出更為強大的競爭力。而目前尚缺乏與之配套的較為成熟的線切割CAM軟件,本文針對基于Linux的線切割數(shù)控系統(tǒng),設(shè)計開發(fā)了一套圖形交互線切割加工計算機輔助制造系統(tǒng)解決方案。

        1 圖形交互線切割CAM軟件系統(tǒng)結(jié)構(gòu)

        本文所介紹的線切割CAM軟件系統(tǒng)的整體結(jié)構(gòu)如圖1所示,主要包括二維圖形數(shù)據(jù)DXF文件接口模塊、CAD圖形矢量化顯示模塊、線切割CAM模塊、ISO格式數(shù)控代碼輸出模塊和軌跡仿真模塊。

        圖1 軟件整體結(jié)構(gòu)

        該軟件特點:

        (1)標準的圖形文件接采用口,自定義開發(fā)的數(shù)據(jù)類,數(shù)據(jù)操作獨立且高效實用。

        (2)強大的 Graphics View Framework,提供了完善的CAD圖形矢量化顯示和高效的圖元管理模塊。

        (3)針對用戶操作習慣設(shè)計的人機交互環(huán)境和更為優(yōu)越的圖元鏈選取及排序算法,為生成符合用戶需求的數(shù)控代碼提供了保證。

        (4)能對復(fù)雜的零件,例如上下異形體零件進行CAM數(shù)控代碼生成。

        (5)針對ISO標準數(shù)控代碼設(shè)計的格式化輸出模塊,保證了輸出代碼的規(guī)范性和數(shù)據(jù)精確性。

        (6)界面友好、簡潔,用戶操作簡單。

        2 二維圖形DXF文件接口模塊

        DXF是Autodesk公司開發(fā)的用于AutoCAD與其他軟件之間進行數(shù)據(jù)交換的CAD數(shù)據(jù)文件格式,是一種基于矢量的ASCII文本文件。因為Auto-CAD是最流行的CAD系統(tǒng),所以DXF被廣泛使用,成為事實上的數(shù)據(jù)交換工業(yè)標準。

        調(diào)用QFileDialog類的成員函數(shù)getOpen-FileName,用戶可自定義選擇所需加載的DXF文件。通過對AutoCAD二維圖形DXF文件組碼的解析,可獲取文件中各個圖元的實體信息。為了能有效地分離數(shù)據(jù)處理和圖形顯示,保證數(shù)據(jù)處理的高速和準確,同時方便CAM模塊的設(shè)計開發(fā),基于Qt中Model/View的思想[5],作者開發(fā)了獨立的KData類,用于存儲DXF文件中各圖元的數(shù)據(jù)信息,并實現(xiàn)了多個函數(shù)以對這些數(shù)據(jù)進行分析、計算與處理。

        3 CAD圖形矢量化顯示模塊

        由于線切割異形面的CAM涉及到用戶對上下表面的單個圖元的拾取操作,而單純的CAD圖形位圖顯示并不能滿足軟件對這一功能的需求,因此需開發(fā) CAD圖形矢量化顯示模塊?;赒t的Graphics View Framework[6],作者實現(xiàn)了包括KGraphicView,KEntity,KEntityContainer的CAD圖形矢量化顯示模塊。該模塊基于Qt的 Model/View結(jié)構(gòu),實現(xiàn)了對大量圖元的高效管理,同時提供了坐標系間矩陣變換、圖元實體與用戶點擊位置間的碰撞檢測等多種功能。

        如圖1所示,將KData對象傳遞給KEntity的構(gòu)造函數(shù),建立單個圖元的KEntity對象,與Dennis Crain在Hit Testing Lines and Curves一文中提到的對直線和曲線的鼠標選中相比[7],KEntity類提供了更方便的碰撞檢測,以實現(xiàn)用戶對單個圖元實體的鼠標點擊選中。另外,在KEntity類中,作者還實現(xiàn)了圖元實體對不同狀態(tài)的響應(yīng)函數(shù)。如:實體被選中時,該圖元的線型和顏色都將發(fā)生改變。KEntityContainer對象用于管理之前創(chuàng)建的各個KEnity對象,在依次添加這些KEntity對象后,它負責控制各個圖元的狀態(tài)和相互位置關(guān)系。KGraphicView則是一個顯示窗口部件,負責物化顯示KEntity-Container中的各個圖元,同時它還提供了窗口滾動條,方便用戶移動圖形,提供了圖形放大、縮小和旋轉(zhuǎn)的接口,方便用戶查看大小不同的圖形和觀察圖形細節(jié)。

        4 線切割CAM模塊

        CAM模塊的基本結(jié)構(gòu)見圖1,由CAM參數(shù)設(shè)置界面、人機交互環(huán)境、圖元鏈選取及排序算法組成。

        在該軟件的參數(shù)設(shè)置界面,用戶可設(shè)置線切割加工的加工方式、電極絲切入方式、切入點和切出點的坐標等(圖2)。

        圖2 參數(shù)設(shè)置界面

        基于多線程技術(shù),作者建立了CAM的人機交互環(huán)境,由二維線切割加工和上下異形體線切割加工兩部分組成。它能使程序在機器的提示和用戶的反饋中獲得符合用戶需求的數(shù)控插補軌跡和數(shù)控代碼,該環(huán)境的工作流程如圖3所示。

        圖3 人機交互環(huán)境

        由于在使用AutoCAD之類的CAD軟件進行機械制圖時,其DXF文件中保存的圖元數(shù)據(jù)信息都是按設(shè)計人員的制圖順序排列的,因此如果直接由DXF文件生成數(shù)控ISO代碼,可能會生成序列混亂的軌跡和數(shù)控代碼。圖4是按此種方法生成的軌跡與真實軌跡之間的比較,其中圖4a中的軌跡為真實準確的加工軌跡,圖4b中的軌跡為直接由DXF文件生成的軌跡,很顯然,它在制圖時間連續(xù)但空間不連續(xù)的兩段圖元之間分別生成了3條不符合用戶要求的軌跡。

        為避免此現(xiàn)象的出現(xiàn),基于自定義的KData類,作者設(shè)計了該軟件的CAM算法,包括圖元鏈選取算法及圖元排序算法(圖5)。其中data為用戶選中的第一段圖元的數(shù)據(jù)對象,dataVector為所有圖元數(shù)據(jù)對象的集合,sortedData為經(jīng)過排序選擇后的圖元數(shù)據(jù)對象的集合。通過遍歷dataVector中的圖元數(shù)據(jù)對象,并和前一段圖元的數(shù)據(jù)對象進行比較,可獲取首尾相連的各段圖元數(shù)據(jù)對象。通過對相鄰的兩個圖元數(shù)據(jù)對象的位置關(guān)系和用戶拾取的切割方向的判斷,可將這些數(shù)據(jù)對象進行排序并最終獲得所需數(shù)據(jù)對象鏈表。bool型isEqual(a,b)函數(shù)用于比較兩個data對象是否等同,如等同就返回true,否則返回false。bool型 isNext(a,b)函數(shù)用于比較兩個data對象是否相鄰,如果對象b為對象a緊鄰的下一個圖元對象就返回true,否則返回false。

        5 ISO數(shù)控代碼輸出及軌跡仿真模塊

        依據(jù)之前CAM過程生成的sortedData,同時考慮各段圖元起始點的位置關(guān)系,作者利用QString[5]提供的格式化字符串函數(shù)生成了各段圖元的數(shù)控ISO代碼,并通過QFile[5]將各段代碼輸出到.iso文件中。該文件包含了多種基本線切割準備功能指令:“G00 X Y”直線快速進給指令,“G01 X Y”直線插補指令,“G02 X Y I J”順時針圓弧插補指令,“G03 X Y I J”逆時針圓弧插補指令,在此基礎(chǔ)上,作者擴展了多種4軸加工指令:“G01 X Y;G01 U V”4軸直線插補指令,“G02 X Y I J;G02 U V I J”4軸順時針圓弧插補指令,“G03 X Y I J;G03 U V I J”4軸逆時針圓弧插補指令,“G01 X Y;G02 U V I J” 、“G01 X Y;G03 U V I J”4 軸上下異形插補指令等。另外,還可擴展多種輔助功能指令。如圖6為對一上下異形體的CAM,其中,從原點到方形右下角的直線部分為切入切出軌跡,圓弧部分為上平面加工軌跡,方形部分為下平面加工軌跡。

        圖6 數(shù)控ISO代碼格式化輸出及加工軌跡

        為了方便用戶檢查最終生成的數(shù)控代碼是否準確,作者開發(fā)了數(shù)控代碼的軌跡仿真模塊。通過對前面生成的數(shù)控加工代碼的解釋,計算機根據(jù)各段加工代碼生成相應(yīng)軌跡,并依次在圖形窗口中顯示(圖 7)。

        圖7 數(shù)控代碼的軌跡仿真

        6 結(jié)束語

        本文立足于對國內(nèi)線切割數(shù)控系統(tǒng)發(fā)展的展望,以性能優(yōu)良、價格低廉為目標,開發(fā)了一套基于Linux操作系統(tǒng)的圖形交互線切割CAM軟件。由于該軟件開發(fā)了基于通用二維CAD圖形交換的DXF文件接口模塊,所以該軟件的使用并不受限于用戶所使用的CAD軟件,這樣可增強該軟件的獨立性和可移植性。

        [1]國產(chǎn)三維CAD/CAM 技術(shù)研討會在京舉行——開發(fā)核心基礎(chǔ)軟件,支持制造業(yè)創(chuàng)新發(fā)展[J].中國制造業(yè)信息化,2009(5):35-35.

        [2]郭艷玲,趙萬生.用二維編程實現(xiàn)線切割機床的三維型面加工[J].大連理工大學學報,2001,41(3):325-329.

        [3]任福君,姜永成.空間曲面電火花線切割CAD/CAM 系統(tǒng)[J].機械工程學報,2007,43(5):214-218.

        [4]章勇,谷安,項甫根.基于DXF文件的低速走絲線切割加工自動編程系統(tǒng)的開發(fā)[J].電加工與模具,2007(5):9-11.

        [5]Blanchette J,Summerfield M.C++GUI programming with Qt4[M].Prentice Hall,2006.

        [6]Troll Tech.Qt Reference Documentation:The Graphics View Framework.2007.

        [7]Crain D.Hit testing lines and curves.http://msdn.microsoft.com/en-us/library/ms969920.aspx.1994.02.

        猜你喜歡
        圖元代碼指令
        聽我指令:大催眠術(shù)
        一種組態(tài)控件技術(shù)在電力監(jiān)控系統(tǒng)中的運用
        學術(shù)出版物插圖的編排要求(一):圖注
        聯(lián)鎖表自動生成軟件的設(shè)計與實現(xiàn)
        ARINC661顯控指令快速驗證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        2020久久精品亚洲热综合一本| 放荡的美妇在线播放| 国产成人a∨激情视频厨房| 色噜噜av亚洲色一区二区| 欧美黑人疯狂性受xxxxx喷水| 国产成人久久精品77777综合| 国产一级自拍av播放| 视频一区二区三区黄色| 四虎成人精品国产永久免费无码| 亚洲成av人片一区二区| 精品人妻中文av一区二区三区 | 日本国产在线一区二区| 亚洲女人毛茸茸的视频| 午夜天堂一区人妻| 美女张开腿让男人桶爽| 永久黄网站色视频免费| 亚洲日韩国产精品不卡一区在线| 人妻少妇中文字幕久久hd高清| 日本在线观看一区二区三| 我把护士日出水了视频90分钟| 女人做爰高潮呻吟17分钟| 欧美xxxxx精品| 久久精品国产9久久综合| 亚洲成av人片乱码色午夜| 乌克兰粉嫩xxx极品hd| 日韩女人毛片在线播放| 成人在线视频亚洲国产| 日韩极品视频免费观看| 国产ww久久久久久久久久| 成人免费ā片在线观看| 人妻少妇精品视频一区二区三区| 亚洲精品国产一区二区免费视频 | 青青草好吊色在线视频| 国产一区二区自拍刺激在线观看| 国产后入又长又硬| 精品乱码卡1卡2卡3免费开放 | 国产精品日韩经典中文字幕| 日本熟妇hdsex视频| 亚洲av鲁丝一区二区三区| 人妻一区二区三区免费看| 亚洲中文字幕久久在线|