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

        ?

        DXF文件的橢圓(弧)曲線擬合算法的設(shè)計與實現(xiàn)

        2011-06-01 03:22:06楊澤林
        自動化儀表 2011年11期
        關(guān)鍵詞:代碼橢圓直線

        楊澤林 馬 凱 呂 靜

        (寧夏大學(xué)物理電氣信息學(xué)院,寧夏 銀川 750021)

        0 引言

        現(xiàn)有的基于可編程多軸運動控制卡(programmable multi-axis controller,PMAC)開發(fā)實現(xiàn)的數(shù)控系統(tǒng),都是在離線狀態(tài)下人工調(diào)試計算機數(shù)控(computer numerical control,CNC)代碼后保存在計算機的外存儲器。在進行加工時,需人工將控制程序調(diào)入內(nèi)存再執(zhí)行加工。這種方式在數(shù)控系統(tǒng)加工的工件類型較多時,對操作人員的要求就比較高,且人工調(diào)試CNC代碼較為繁瑣。

        如何利用AutoCAD系統(tǒng)提供的對儲存在DXF文件中的圖形信息進行數(shù)控加工過程的實時監(jiān)控和自動生成數(shù)控代碼,是當(dāng)前數(shù)控領(lǐng)域研究的熱點,也是目前研究的目標(biāo)。由于AutoCAD提供了圖形交換格式(drawing exchange format,DXF)文件與外界程序的接口方法[1],因此,為了實現(xiàn)對多種加工零件的實時監(jiān)控,首先應(yīng)將由AutoCAD所提供的零件信息讀入數(shù)據(jù)庫中,然后根據(jù)所讀入的參數(shù)在實時監(jiān)控系統(tǒng)中顯示出零件的外形加工輪廓。為此需要設(shè)計擬合算法,以便在橢圓(弧)曲線擬合插補時滿足數(shù)控加工的工藝需求[2]。本文就DXF文件所能提供的橢圓(弧)曲線的相關(guān)信息作簡要說明。

        1 DXF文件的橢圓(弧)信息

        1.1 DXF 文件概述

        DXF是具有規(guī)范格式的ASCII碼文本文件,易被其他程序處理,而且保存了CAD圖形的精確數(shù)據(jù)。因此,可以通過編制高級語言設(shè)計接口程序來提取相關(guān)圖形數(shù)據(jù),實現(xiàn)CAD圖形與計算機輔助制造(computer aided manufacturing,CAM)加工代碼之間的轉(zhuǎn)換,并結(jié)合相關(guān)數(shù)控工藝知識,生成CAM加工程序。DXF文件的特點和優(yōu)勢為CAD/CAM接口程序的開發(fā)提供了有利條件。

        利用高級語言編寫接口程序,必須首先了解文件的結(jié)構(gòu)[3]。DXF數(shù)據(jù)文件包含設(shè)計過程的所有圖形和非圖形信息。一個完整的DXF文件必須包括標(biāo)題段(HEADER)、類段(CLASSES)、表段(TABLES)、塊段(BLOCKS)、實體段(ENTITIES)和文件結(jié)束標(biāo)志(EOF)。

        DXF文件各組成部分具體介紹如下。

        ①標(biāo)題段(HEADER):它包含與本文件所繪制的圖形的基本信息,其中包括了AutoCAD數(shù)據(jù)庫的版本號、存盤時的各種設(shè)置以及許多系統(tǒng)變量。

        ②類段(CLASSES):它包含所有應(yīng)用程序定義的類的信息。它包括的大部分信息對非CAD應(yīng)用程序來說沒有任何價值。

        ③表段(TABLES):它包含了四個表,每個表又包含可變數(shù)目的表項。按照這些表在文件中出現(xiàn)的順序,它們依次為線型表、圖層表、字樣表和視圖表。TABLES段與HEADER段一樣,有時也可以忽略。

        ④塊段(BLOCKS):它記錄和定義每一塊段的塊名、當(dāng)前圖層名、塊的種類、塊的插入基點及組成該塊的所有成員。目前,它還沒有得到廣泛使用,但由于它允許繪圖的模塊化操作,所以現(xiàn)在的應(yīng)用越來越廣泛。

        ⑤ 實體段(ENTITIES):它通過使用點、線、圓、弧等定義實際的三維或二維幾何體(實體),記錄了每個幾何實體段的名稱、所在圖層的名稱、線型名、顏色號、基面高度、厚度以及有關(guān)幾何數(shù)據(jù)。它是實體交換的主要段。

        ⑥文件結(jié)束(EOF):它標(biāo)志了文件結(jié)束。

        文件中每個數(shù)據(jù)元素前面都帶有一個稱為組碼的整數(shù),組碼的值表明了其后數(shù)據(jù)元素的類型。相應(yīng)的一系列組碼和組值構(gòu)成了DXF文件中的段(SECTION),每一個段都以一個組碼為0、組值為字符串SECTION的組對開始,其后再緊跟組碼為2和表示各段名稱的字符串(如HEADER、ENTITIES等)。

        每個段中相應(yīng)的組碼和組值定義了相應(yīng)的DXF段,而每個段都以組碼為0和字符串為ENDSEC的組值構(gòu)成的代碼對結(jié)束。這些組碼和組值組織成的各段便組成了DXF文件。

        1.2 橢圓(弧)曲線信息

        橢圓(弧)曲線在DXF文件實體段中是以“AcD-bEllipse”開始標(biāo)記。在圖元實體模塊中,橢圓(弧)曲線的實體信息如表1所示。

        表1 橢圓(弧)曲線實體信息Tab.1 The substantive information of ellipse(arc)curve

        2 橢圓(弧)擬合算法的設(shè)計

        由上述分析可知,基于PMAC卡的開放式數(shù)控系統(tǒng)將由DXF文件讀取的圖元實體信息存儲于數(shù)據(jù)庫中,以便利用數(shù)據(jù)庫中的圖元信息自動生成CNC代碼[4-5],并依據(jù)生成的CNC代碼實現(xiàn)在線實時監(jiān)控并加工。

        橢圓(弧)曲線的加工實際上是直線擬合曲線的加工[6],即橢圓(弧)曲線的 CNC代碼實際上是直線CNC代碼的組合[7];而在工控機中,對于橢圓(弧)曲線的繪制是利用計算機輔助幾何設(shè)計的數(shù)學(xué)知識采用畫直線模擬曲線的方法??傊瑱E圓(弧)曲線擬合算法的根本思想是利用連續(xù)的多條直線來擬合曲線[8]。所以,通過連續(xù)的多條直線正確地擬合出曲線便成為生成橢圓(弧)曲線的CNC代碼與實現(xiàn)橢圓(弧)曲線加工實時監(jiān)控的關(guān)鍵。

        2.1 算法思想

        橢圓(弧)曲線擬合的基本思想是以弦進給代替弧進給[9]。第一象限內(nèi)橢圓(弧)逆時針擬合插補如圖1所示。

        圖1 橢圓(弧)逆時針擬合插補示意圖Fig.1 Schematic drawing of ellipse(arc)anti-clockwise fitting interpolation

        依據(jù)橢圓(弧)逆時針擬合插補示意圖,結(jié)合橢圓(弧)曲線的參數(shù)方程,根據(jù)最小擬合誤差給定的要求值,可依次確定各擬合點的坐標(biāo)值。

        橢圓(弧)方程的一般形式可表示為:

        由于橢圓(弧)在數(shù)控系統(tǒng)中無法直接識別,因此,必須將其分解為直線或圓弧。

        根據(jù)橢圓(弧)參數(shù)方程,其長、短軸分別為a、b(a≥b)。設(shè)起始角和終止角分別為α、β(0≤α<β≤2π),擬合誤差為 δ,起點坐標(biāo) P0(a cosα,b sinα)為本次插補點,求下次插補點 P1(a cosθ1,b sinθ1),以此來生成一條滿足擬合誤差要求的逼近線段P0P1,并以弦長P0P1代替弧長P0P1,則有:

        式中:VFeed為擬合插補時的切削進給速度,mm/s;Ti為插補采樣時間,s。

        設(shè)直線方程為y=kx+B,則直線P0P1的斜率為:

        同時,作弦P0P1的平行線切橢圓弧于Q點,則得橢圓上任意一點 Qi(a cosθi,b sinθi)處的斜率為:

        設(shè)與直線P0P1平行,切橢圓(弧)于點P(θi)的直線為 l,其中 α≤θi≤β。比較式(4)、式(6),由于在切點處兩斜率相等,因此,可得:

        當(dāng)l到P0P1的距離小于擬合誤差δ時,滿足逼近要求,由此可得到不等式:

        將式(4)、式(5)代入式(8),化簡后得到:

        直接解不等式(9)便可求出θ1,即求出點P1。

        為了進一步化簡式(9),對其左邊采用放縮法化簡,可得:

        一般情況下,δ<a,0<θ1-α <π,解不等式(10),可得:

        由式(11)可求出下一個逼近點的參數(shù)坐標(biāo)。依次類推,可以得到整個橢圓(弧)的線段擬合的參數(shù)坐標(biāo)值。

        需要說明的是,上述算法中,由于弦長P0P1近似等于弧長P0P1,因此,每次插補實際進給的輪廓步長不等于VFeed×Ti,但它們之間相差非常小,在實際切削過程中,完全可以認為輪廓步長保持恒定,即切削進給速度保持恒定。

        2.2 算法實現(xiàn)

        無論是橢圓(弧)曲線的CNC代碼的自動生成,還是用于實時監(jiān)控的圖形繪制,其基礎(chǔ)都是運用上述擬合算法[10]。

        本文以Visual C++6.0為前臺開發(fā)工具,利用MFC的框架設(shè)計思想,在相應(yīng)的DOC類下建立以下橢圓(弧)曲線擬合函數(shù)。

        針對橢圓(弧)順時針和逆時針這兩種插補方向,我們可以得出以下兩個橢圓(弧)擬合插補通用公式。

        當(dāng)Start_Angle<End_Angle,即橢圓(弧)按逆時針方向擬合插補時,有:

        式中:ΔA為滿足擬合誤差Δ的角度增量,且ΔA=2×(float)a cos(1-Δ/a)。

        同理,當(dāng) End_Angle<Start_Angle,即橢圓(弧)按順時針方向擬合插補時,有:

        可以看出,運用式(12)、式(13)進行插補計算,不必進行過象限判別,就可實現(xiàn)插補點自動過象限,從而避免了過象限時由于插補公式切換不及時而引起加工點表面粗糙度變大的現(xiàn)象。

        2.3 結(jié)果比較

        利用AutoCAD和上述方法繪制的典型橢圓(弧)曲線如圖2所示。

        圖2 典型橢圓(弧)曲線Fig.2 The typical ellipse(arc)curves

        從圖2可以看出,兩者是一致的。如果從PMAC卡中讀取出橢圓(弧)曲線的加工信息,則可以完成實時監(jiān)控。這也說明了利用上述算法,通過直線模擬曲線生成的 CNC代碼可以完成橢圓(弧)曲線的加工[11-12]。

        同時,利用上述擬合算法,在相應(yīng)的圖形文件夾中生成一個名為nc_code.gc的文件。該文件為文本文件,通過記事本或者文本處理軟件均可以打開,可以查看生成的CNC代碼。

        3 結(jié)束語

        本文針對實際應(yīng)用的需要,通過讀取DXF文件獲取了AutoCAD中橢圓(弧)曲線的幾何信息,提取出了橢圓(弧)曲線在數(shù)據(jù)庫中存儲的表結(jié)構(gòu);利用由連續(xù)的多條直線擬合曲線的設(shè)計思想,實現(xiàn)了小線段擬合插補算法,并通過Visual C++6.0重新繪制。由于此算法在設(shè)計過程中采用了插補點自動過象限的設(shè)計思路,因此,在實際加工過程中,從根本上避免了過象限時由于插補公式切換不及時而引起加工點表面粗糙度變大的現(xiàn)象,為以PMAC卡為基礎(chǔ)的開放式數(shù)控系統(tǒng)的動態(tài)在線監(jiān)視系統(tǒng)和加工代碼的研發(fā)奠定了基礎(chǔ)。

        [1]于杰,王懷明.基于DXF文件的CAD/CAM接口程序開發(fā)與應(yīng)用[J].制造業(yè)自動化,2008,30(7):79 -81.

        [2]王亮德,馬金河.數(shù)控加工圖形輪廓與曲面的數(shù)學(xué)處理[J].機床與液壓,2008,36(8):74 -76.

        [3]余承飛,方勇.AutoCAD 2000二次開發(fā)技術(shù)[M].北京:人民郵電出版社,1999.

        [4]Cogun C.NC parts programs generation from CAD exchange files[J].Computer in Industry,1992,20(2):193 -202.

        [5]Ulker E,Turanalp M E,Halkaci H S.An artificial immune system approach to CNC tool path generation[J].Journal of Intelligent Manufacturing,2009,20(1):67 -77.

        [6]冉樹成,曲長虹,劉義翔.數(shù)控系統(tǒng)中橢圓插補功能的研究與實現(xiàn)[J].組合機床與自動化加工技術(shù),1995(5):18-24.

        [7]曹斌,李光耀,李啟炎.基于DXF文件格式的二維復(fù)雜圖形數(shù)控代碼自動生成法[J].機械設(shè)計與制造,2003,6(3):30 -32.

        [8]陽濤.數(shù)控車床加工橢圓的方法探討[J].機電工程技術(shù),2008,37(9):20-21.

        [9]Piegl L.Curve fitting algorithm for rough cutting[J].Computeraided Design,1986,18(2):79 -82.

        [10]郭景峰,潘曉,吳雷.基于DXF文件的曲線擬合方法的設(shè)計與實現(xiàn)[J].機床與液壓,2006(11):210 -213.

        [11]夏斌,王偉,黃學(xué)良,等.橢圓弧數(shù)控代碼的自動生成方法[J].組合機床與自動化加工技術(shù),2007(5):67-70.

        [12]羅先全,黃學(xué)良,王偉,等.基于PMAC卡數(shù)控的G代碼自動生成[J].現(xiàn)代制造工程,2007(7):14-16.

        猜你喜歡
        代碼橢圓直線
        Heisenberg群上由加權(quán)次橢圓p-Laplace不等方程導(dǎo)出的Hardy型不等式及應(yīng)用
        例談橢圓的定義及其應(yīng)用
        一道橢圓試題的別樣求法
        畫直線
        創(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
        兩條直線 變變變
        畫直線
        美女视频黄是免费| 中文亚洲日韩欧美| 国产精品亚洲欧美云霸高清| 西西人体大胆视频无码| 亚洲高清在线视频网站| 日本中文字幕有码在线播放| 人人超碰人人爱超碰国产| 国产情侣久久久久aⅴ免费| 欧洲亚洲第一区久久久| 国产优质女主播在线观看| 久久本道久久综合伊人| 久久麻豆精品国产99国产精| 50岁退休熟女露脸高潮| 蜜桃日本免费看mv免费版 | 熟妇丰满多毛的大隂户| 亚洲精品夜夜夜| 日韩爱爱视频| av高清视频在线麻豆免费观看| 91三级在线观看免费| 久久久亚洲欧洲日产国码aⅴ | 中文亚洲av片在线观看不卡| 精品国产高清一区二区广区 | 青春草在线视频观看| 日产国产精品亚洲系列| 在线高清精品第一区二区三区| 国产欧美日韩图片一区二区| 亚洲av第二区国产精品| 麻豆69视频在线观看| 夜夜爽妓女8888888视频| 蜜桃视频一区二区三区在线观看| 国产成人精品日本亚洲语音1| 国产高清不卡二区三区在线观看| 少妇久久久久久被弄高潮| 18无码粉嫩小泬无套在线观看| 亚洲A∨日韩Av最新在线| 国产偷闻女邻居av在线观看| 久久精品免费中文字幕| 亚洲综合区图片小说区| 亚洲国产精品线路久久| 午夜av福利亚洲写真集| 亚洲av手机在线网站|