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

        ?

        數(shù)控加工G代碼程序圖形點(diǎn)位信息提取算法

        2019-09-25 06:08:11梁子財(cái)
        科技視界 2019年21期
        關(guān)鍵詞:算法

        梁子財(cái)

        【摘 要】由于零件結(jié)構(gòu)、加工工藝日益復(fù)雜,數(shù)控加工G代碼程序的質(zhì)量成為影響加工質(zhì)量和效率的重要因素。如今數(shù)控技術(shù)與計(jì)算機(jī)仿真技術(shù)相結(jié)合,技術(shù)人員可以利用相關(guān)的G代碼仿真加工軟件對(duì)G代碼的加工效果和正確性進(jìn)行驗(yàn)證,而無(wú)需進(jìn)行機(jī)床試加工,省時(shí)省材。針對(duì)G代碼仿真加工軟件的開(kāi)發(fā),關(guān)鍵在于正確提取G代碼程序中的點(diǎn)位信息。因此本文基于Qt平臺(tái)提出一種數(shù)控加工G代碼程序圖形點(diǎn)位信息提取算法。

        【關(guān)鍵詞】Qt;圖形點(diǎn)位信息;G代碼;G代碼程序加工仿真;算法

        中圖分類號(hào): TP311.5 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2019)21-0049-003

        DOI:10.19694/j.cnki.issn2095-2457.2019.21.022

        Graphic Point Information Extraction Algorithm for NC Machining G Code Program

        LIANG Zi-cai

        (China-EU Institute for Clean And Renewable Energy , Wuhan ?Hubei 430074,China)

        【Abstract】Due to the increasingly complex structure and processing technology, the quality of CNC machining G code programs has become an important factor affecting the quality and efficiency of machining. Nowadays, the combination of numerical control technology and computer simulation technology, technicians can use the relevant G code simulation processing software to verify the processing effect and correctness of G code, without the need for machine tool trial processing, saving time and materials. For the development of G code simulation processing software, the key is to correctly extract the point information in the G code program. Therefore, based on Qt platform, this paper proposes a graphics point information extraction algorithm for NC machining G code program.

        【Key words】Qt; Graphic point information; G code; G code program processing simulation; Algorithm

        0 引言

        由于零件結(jié)構(gòu)、加工工藝日益復(fù)雜,數(shù)控加工G代碼程序的質(zhì)量成為影響加工質(zhì)量和效率的重要因素。數(shù)控加工G代碼程序包含加工所需的所有信息,指導(dǎo)數(shù)控機(jī)床加工工作[1]。以往多采用試切法檢測(cè)數(shù)控加工G代碼的正確性[2],但是這種方法往往因?yàn)閿?shù)控程序錯(cuò)誤引起的刀具碰撞損壞[3],工件浪費(fèi)等。因此,人們通過(guò)運(yùn)用計(jì)算機(jī)仿真技術(shù)提前驗(yàn)證G代碼的準(zhǔn)確性[4],既可縮短開(kāi)發(fā)周期,又可減少材料浪費(fèi)。

        針對(duì)G代碼仿真加工軟件的開(kāi)發(fā),關(guān)鍵在于正確提取G代碼程序中的點(diǎn)位信息。筆者基于Qt平臺(tái)提出一種數(shù)控加工G代碼程序圖形點(diǎn)位信息提取算法。

        1 G代碼程序的譯碼

        在提取數(shù)控加工G代碼程序中的加工點(diǎn)位信息之前,需要對(duì)G代碼程序進(jìn)行譯碼,對(duì)G代碼進(jìn)行詞法語(yǔ)法錯(cuò)誤檢測(cè),再將加工命令和坐標(biāo)分類保存到相應(yīng)的數(shù)據(jù)存儲(chǔ)容器,數(shù)據(jù)存儲(chǔ)容器定義如下所示:

        typedef struct

        {QStringList drawtype;//繪圖類型:直線,圓弧

        QStringList codetype;//編程類型:增量式,絕對(duì)式

        QStringList xcoor;//X值

        QStringList ycoor;//Y值

        QStringList zcoor;//Z值

        QStringList icoor;//I值

        QStringList jcoor;//J值

        QStringList kcoor;//K值

        QStringList rcoor;//R值

        QStringList current_line;//軌跡當(dāng)前加工行號(hào)

        }scan_data;

        在對(duì)G代碼程序進(jìn)行譯碼之前,需要對(duì)每行代碼中的注釋內(nèi)容進(jìn)行屏蔽,之后再對(duì)每行代碼的有效信息進(jìn)行解析。具體流程如圖1所示。譯碼過(guò)程比較重要的幾個(gè)步驟是去掉注釋內(nèi)容、詞法錯(cuò)誤檢查、語(yǔ)法錯(cuò)誤檢查和字符分類。

        去掉注釋內(nèi)容。數(shù)控加工G代碼中有部分文本是注釋內(nèi)容,這些注釋內(nèi)容并不蘊(yùn)含有效加工數(shù)據(jù),因此無(wú)需進(jìn)行后續(xù)處理,因此需要提前屏蔽掉。

        詞法錯(cuò)誤檢查。根據(jù)數(shù)控加工G代碼的編程標(biāo)準(zhǔn),判別G代碼中的字符是否符合編程要求。實(shí)現(xiàn)的思路為:首先建立代碼關(guān)鍵字符集,然后逐個(gè)讀入G代碼中的字符,判斷它是否屬于關(guān)鍵字符集。如果不在則說(shuō)明程序使用了系統(tǒng)不能識(shí)別的指令,給出錯(cuò)誤信息,指出錯(cuò)誤所在行;如果該字符屬于字符集則繼續(xù)讀入下一個(gè)字符。

        語(yǔ)法錯(cuò)誤檢查。將數(shù)控G代碼的單詞按各類語(yǔ)法規(guī)則進(jìn)行分析,并進(jìn)行語(yǔ)句的語(yǔ)法正確性和不同語(yǔ)句之間的相容性檢查。歸納起來(lái),數(shù)控代碼中要檢查的語(yǔ)法錯(cuò)誤主要有指令搭配錯(cuò)誤、指令順序錯(cuò)誤和指令格式錯(cuò)誤。

        字符分類。經(jīng)過(guò)詞法錯(cuò)誤檢查和語(yǔ)法錯(cuò)誤檢查之后,需要對(duì)G代碼進(jìn)行加工命令和坐標(biāo)分類保存到相應(yīng)的數(shù)據(jù)存儲(chǔ)容器,后續(xù)將進(jìn)行坐標(biāo)點(diǎn)細(xì)分工作。

        2 G代碼程序點(diǎn)位信息的提取

        在完成數(shù)控加工G代碼程序的譯碼工作之后,G代碼的加工命令和坐標(biāo)分類保存到數(shù)據(jù)存儲(chǔ)容器,但是不能直接使用這些數(shù)據(jù)繪制出加工圖像。因此需要根據(jù)不同類型的命令和坐標(biāo)點(diǎn)進(jìn)行進(jìn)一步的點(diǎn)位信息提取,其具體流程如圖2所示。

        2.1 直線類型

        快速定位G00和直線插補(bǔ)G01這兩種類型比較簡(jiǎn)單,不需要什么判斷,直接細(xì)分即可。細(xì)分方法是:先求起點(diǎn)(old_x, old_y, old_z)和終點(diǎn)(new_x, new_y, new_z)之間的距離,然后細(xì)分count(自定義細(xì)分段數(shù)量)段,然后取點(diǎn) ,代碼如下:

        for (int i = 0;i < count+1;i++) {

        //計(jì)算點(diǎn)坐標(biāo)

        x_pos = old_x + ((i) * (new_x - old_x)) / count;

        y_pos = old_y + ((i) * (new_y - old_y)) / count;

        z_pos = old_z + ((i) * (new_z - old_z)) / count;

        //存儲(chǔ)點(diǎn)坐標(biāo)

        draw_Data.tool_pos_x.append(QString::number(x_pos));

        draw_Data.tool_pos_y.append(QString::number(y_pos));

        draw_Data.tool_pos_z.append(QString::number(z_pos));

        }

        2.2 圓弧類型

        相比之下,繪制圓弧則比較復(fù)雜。G代碼編程繪制圓弧有兩種類型,一種是IJK模式,另一種是R模式。IJK模式給出了圓點(diǎn)和半徑,R模式給出了半徑和圓弧的圓心角,兩種模式都需要判斷圓弧所在平面(XY,YZ,ZX三個(gè)之一)。以下分別細(xì)講這兩種圓弧類型的實(shí)現(xiàn)過(guò)程。

        2.2.1 IJK類型圓弧

        IJK類型下,已知圓弧起點(diǎn)、圓弧終點(diǎn)、半徑和圓心,如果要實(shí)現(xiàn)圓弧的繪制則需將圓弧細(xì)分成最夠小的直線段,只要細(xì)分段數(shù)足夠大,繪制出來(lái)的圖形就接近圓弧。大致流程如圖3所示。

        確定起點(diǎn)和終點(diǎn)相對(duì)于圓心的象限示意如下:

        左邊為逆時(shí)針繪圖,右邊為順時(shí)針繪圖。之后根據(jù)起點(diǎn)和終點(diǎn)所在的象限求其相對(duì)于圓心的角度,如圖5所示。

        求完angle和angle1之后,就可以進(jìn)行細(xì)分了,順時(shí)針細(xì)分如下:

        for (int i=0;i

        p4.x=center_point.x+Ra*cos(angle1-(angle*i)/count);

        p4.y=center_point.y+Ra*sin(angle1-(angle*i)/count);

        draw_Data.tool_pos_x.append(QString::number(p4.x));

        draw_Data.tool_pos_y.append(QString::number(p4.y));

        }

        逆時(shí)針細(xì)分如下:

        for (int i=0;i

        p4.x=center_point.x+Ra*cos(angle1+(angle*i)/count);

        p4.y=center_point.y+Ra*sin(angle1+(angle*i)/count);

        draw_Data.tool_pos_x.append(QString::number(p4.x));

        draw_Data.tool_pos_y.append(QString::number(p4.y));}

        2.2.2 R型圓弧

        R型圓弧下,已知起點(diǎn)和終點(diǎn),半徑和圓心角,但是不知圓心是哪個(gè),有兩種可能的情況,如圖6所示。因此需要先判斷出哪個(gè)是圓心。

        因此R型圓弧需要先判斷圓心然后再細(xì)分求位置點(diǎn),流程如圖7所示。

        R型圓弧的情況下,也需要計(jì)算起點(diǎn)相對(duì)于圓心的起始角度angle1與圓弧圓心角angle然后再細(xì)分(與IJK類型細(xì)分一致)。

        3 總結(jié)

        筆者利用Qt平臺(tái)與OpenGL庫(kù)開(kāi)發(fā)了一款針對(duì)數(shù)控加工G代碼程序的三維加工仿真軟件,該軟件能夠根據(jù)加載的G代碼程序提取加工圖像點(diǎn)位信息并繪制加工圖像并且可以模擬刀具的加工,同時(shí)可以檢測(cè)G代碼程序的錯(cuò)誤并給出錯(cuò)誤信息,方便用戶提前驗(yàn)證G代碼的可行性。通過(guò)使用該軟件,技術(shù)人員無(wú)需試加工就可以驗(yàn)證G代碼的加工效果,減少資源浪費(fèi)與縮短開(kāi)發(fā)周期。

        【參考文獻(xiàn)】

        [1]潘海鴻,葉文海,陳琳,et al.特種復(fù)合加工中心數(shù)控系統(tǒng)G代碼編譯器設(shè)計(jì)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2015(6):71-73.

        [2]婁志超,趙先鋒,史紅艷,et al.基于OpenGL車(chē)削仿真系統(tǒng)的開(kāi)發(fā)與研究[J].現(xiàn)代機(jī)械,2018,No.204(02):19-23.

        [3]劉思勝,李松生,陳萍.數(shù)控G代碼解釋器和仿真模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)械設(shè)計(jì)與制造,2012(1):172-174.

        [4]李春雷.虛擬數(shù)控車(chē)削加工誤差建模技術(shù)研究[J].機(jī)械工程與自動(dòng)化,2011(4):35-36.

        猜你喜歡
        算法
        基于MapReduce的改進(jìn)Eclat算法
        Travellng thg World Full—time for Rree
        進(jìn)位加法的兩種算法
        基于CC2530的改進(jìn)TPSN算法
        基于BCH和HOG的Mean Shift跟蹤算法
        算法初步兩點(diǎn)追蹤
        基于增強(qiáng)隨機(jī)搜索的OECI-ELM算法
        一種改進(jìn)的整周模糊度去相關(guān)算法
        一種抗CPS控制層欺騙攻擊的算法
        Wiener核的快速提取算法
        亚洲国产精品嫩草影院久久av| 亚洲妇女水蜜桃av网网站| 国产日韩A∨无码免费播放| 人妻风韵犹存av中文字幕 | 亚洲日韩区在线电影| 激情偷拍视频一区二区| 日韩免费视频| 天天做天天爱天天爽综合网| 国产丝袜一区二区三区在线不卡 | 欧美日韩在线观看免费| 亚洲av永久久无久之码精| 亚洲国产色婷婷久久精品| 亚洲春色在线视频| 精品一级毛片| 美腿丝袜一区在线观看| 亚洲成av人片一区二区密柚| 丰满岳妇乱一区二区三区| 五月婷婷影视| 亚洲av成人永久网站一区| 麻豆蜜桃av蜜臀av色欲av| 亚洲gv白嫩小受在线观看| 激情综合五月天开心久久| 久久精品国产亚洲av不卡国产| 欧美成人精品午夜免费影视| 免费的一级毛片| 丰满人妻一区二区三区52| 国产亚洲精品久久久久久国模美| 最近日本中文字幕免费完整| 亚洲中文字幕无码不卡电影| 24小时在线免费av| 最近免费mv在线观看动漫| 欧美成人精品三级在线观看| 免费av一区男人的天堂| 日产精品久久久一区二区| 成人国产精品999视频| 成人免费毛片在线播放| 精品一区二区三区在线视频| 韩国精品一区二区三区无码视频| 美女极度色诱视频国产免费| 一区二区三区日韩亚洲中文视频 | 亚洲欧洲偷自拍图片区|