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

        ?

        激光切割編程連通性檢查問題分析

        2017-11-16 21:54:40張向良
        科技創(chuàng)新與應(yīng)用 2017年33期
        關(guān)鍵詞:封閉性連通性二次開發(fā)

        張向良

        摘 要:激光切割程序需要將二維圖形進(jìn)行一系列處理后導(dǎo)入到專用的軟件中進(jìn)行編制,圖形中的外緣、終孔、視口等部位的輪廓必須是封閉的,才能被激光程序識別。然而,大多數(shù)尺寸大、曲度大、形狀復(fù)雜的零件,其二維圖通常都含有許多肉眼難以發(fā)現(xiàn)的不連通位置。這些位置肉眼難以發(fā)現(xiàn),而此前業(yè)內(nèi)使用的一種圖形處理程序SYLBDxfProcess實(shí)用性較差,性能與實(shí)際需求相差甚遠(yuǎn)。文章將探討在AutoCAD工作環(huán)境下,激光切割圖形連通性的檢查方法,以期為該工作提供高效的解決方案。

        關(guān)鍵詞:激光切割;圖形處理;連通性;封閉性;ObjectARX;二次開發(fā)

        中圖分類號:TG485 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2017)33-0079-02

        引言

        進(jìn)行激光切割,需要將二維圖形導(dǎo)入到專用軟件中生成切割程序。對于零件輪廓、通孔、視口等區(qū)域需要保證其圖形在激光編程程序中是連通(輪廓封閉)的,否則切割機(jī)和相關(guān)軟件無法識別。然而,大多數(shù)壁板、框等尺寸大、曲度大、形狀復(fù)雜的零件,其二維圖形中的傾斜邊、圓角、曲線結(jié)構(gòu)等位置的圖形質(zhì)量通常都不好,含有許多肉眼難以發(fā)現(xiàn)的不連通位置,如斷開、交疊、多余線條和端頭錯(cuò)位等。這些圖形缺陷肉眼難以發(fā)現(xiàn),人工處理幾乎不可能;而此前業(yè)內(nèi)使用的SYLBDxfProcess每次只能檢查一個(gè)鏈,而且運(yùn)行極慢,檢查結(jié)果也不可靠,對解決問題助益甚微。本文將探討激光切割圖形連通性問題及檢查算法,以及如何在基于ObjectARX(VC)開發(fā)的程序中實(shí)現(xiàn)。該方法可以一鍵式地找出上述圖形缺陷的精確位置,將為設(shè)計(jì)人員提供極大方便,同時(shí)也極大保證了工作質(zhì)量。

        1 連通性檢查問題描述

        用于編制激光切割程序的二維圖形中所有的輪廓,包括外緣、視口、各種孔等,必須是連通的才能被識別。在投影圖形質(zhì)量不佳的情況下,很多肉眼看起來連通的輪廓實(shí)際上被系統(tǒng)認(rèn)為是開放的。放大圖形后可知,這是由于線與線的連接處存在著尺度極小的斷開、重疊、毛刺等。如圖1。

        2 算法分析

        圖元的拓?fù)潢P(guān)系判定需要考慮一個(gè)因素——公差。假設(shè)約定的公差值為geTol(長度變量單位默認(rèn)為mm,下同),則兩點(diǎn)距離小于geTol時(shí),認(rèn)為兩點(diǎn)重合。這個(gè)值應(yīng)根據(jù)所選用的設(shè)備、設(shè)備的配套軟件設(shè)置和使用的CAD軟件設(shè)置來確定。

        在激光切割圖形中,允許存在的圖元包括且限于直線、圓弧和圓。由于圓自封閉,不需要判斷連通性,故只需檢查直線與圓弧(以下簡稱曲線)。當(dāng)曲線pCurve1的某一端點(diǎn)與曲線pCurve2的某一端點(diǎn)重合時(shí),稱兩曲線鄰接。

        在一組曲線中,如果每條曲線都與其他至少1條曲線鄰接,稱這組曲線為一個(gè)鏈;如果一個(gè)鏈中每條曲線的每個(gè)端點(diǎn)最多只與其他一條曲線鄰接,則稱這個(gè)鏈為一個(gè)單鏈。如果一個(gè)單鏈?zhǔn)孜蚕嘟樱瑒t稱該鏈連通。激光切割圖形中的輪廓最終應(yīng)達(dá)到這種狀態(tài)(由于激光切割圖形的特性,此處不考慮諸如8字形之類的曲線相交情形)。于是可根據(jù)以上條件設(shè)計(jì)出檢查連通性的算法:(1)獲得所有圖形元素,分解其中的組合元素。(2)將所有元素分成若干個(gè)鏈。(3)對于每個(gè)鏈,獲取一個(gè)元素,遞歸檢查與之鄰接的元素,以確定是否為連通鏈。(4)重復(fù)2、3步驟,檢查所有鏈。(5)在用戶界面突出顯示連通的鏈。

        3 算法的實(shí)現(xiàn)

        考慮到業(yè)內(nèi)普遍的工作方式,本文選擇在AutoCAD平臺上實(shí)現(xiàn)上述算法。由于基于VC++的ObjectARX程序運(yùn)行效率最高,擁有與AutoCAD自身幾乎相同的編程接口與控制能力[1],故使用ObjectARX(VC)2007開發(fā),編譯環(huán)境是Visual Studio 2005。與AutoCAD自身的功能一樣,該連通性檢查功能通過命令調(diào)用。如圖2。

        部分代碼如下:

        static void NITemplateAssistAutomaticChain(void)

        {

        std::list chainList;

        std::list::iterator iter;

        AcDbObjectIdArray entIds = GlobalFunction::GetAllEntityIds();

        if (entIds.isEmpty())

        {

        acutPrintf(_T("\nThere's no entity in this drawing!"));

        return;

        }

        // Divide entities into several chains

        TopologicalFunction::DivideIntoGroups(entIds,chainList,1);

        // For each chain, check its closure and mark the ents

        int count = 0;

        for (iter=chainList.begin();iter!=chainList.end();iter++)

        {

        AcGePoint3dArray points;

        if (TopologicalFunction::IsClosed(*iter,points))

        {

        GlobalFunction::MarkEnt(*iter);

        count++;

        }

        }

        acutPrintf(_T("\n%d loops are found."),count);

        }

        所述的步驟(1):獲得所選擇的圖形元素,分解其中的組合元素:將模型空間中所有實(shí)體的ID加入查找范圍數(shù)組。對獲得的所有實(shí)體執(zhí)行分解動作,如果分解成功,則將所得的實(shí)體依次發(fā)送至模型空間,并將其ID加入查找范圍數(shù)組,然后在查找范圍數(shù)組中移除該組合元素的ID,并將該組合元素從模型空間刪除。

        步驟(2):將所有元素分成若干個(gè)鏈:打開查找范圍的第一個(gè)元素pEnt,確認(rèn)其是直線或圓弧。將pEnt移入鏈,提取其兩端點(diǎn),在查找范圍數(shù)組中查找與之鄰接的元素。如果有,則將這個(gè)元素移入鏈,并檢查這個(gè)元素;否則新建一個(gè)鏈繼續(xù)查找。遞歸地執(zhí)行上述過程,直至檢查完所有元素,并獲得一個(gè)鏈列表。

        步驟(3):對于每個(gè)鏈,獲取一個(gè)元素,遞歸檢查與之鄰接的元素,以確定是否為連通鏈:對鏈中的每一條曲線pEnt,檢查它與其他曲線有沒有公共端點(diǎn),所以當(dāng)所有元素都檢查完畢后,結(jié)果分為三種:a.pEnt兩端點(diǎn)均有唯一曲線鄰接;b.pEnt僅在起點(diǎn)或終點(diǎn)有唯一曲線鄰接;c.pEnt兩端點(diǎn)均無唯一曲線鄰接(無元素或多個(gè)元素)。

        對于情形a,分為三種情況:一是pEnt兩端鄰接的曲線是同一個(gè)元素,則可以判定鏈連通,將這個(gè)元素移入鏈,查找結(jié)束;二是新起點(diǎn)與新終點(diǎn)重合,說明圖形由分別與pEnt兩端相連的兩條曲線閉合,將這2個(gè)元素移入連通元素集,查找結(jié)束;否則說明該鏈還沒有結(jié)束,對這2個(gè)元素執(zhí)行(3)的步驟。

        對于情形b,分為兩種情況:一是新的起點(diǎn)與原終點(diǎn)相同,說明原終點(diǎn)處存在多于1條鄰接曲線,圖形在此出現(xiàn)分支,一定不連通,查找結(jié)束;否則應(yīng)將這條曲線移入鏈,繼續(xù)查找以確定斷開位置。

        對于情形c,由于查找是遞歸的,所以忽略該情形,查找結(jié)束。

        步驟(4):重復(fù)2、3步驟,檢查所有鏈。

        步驟(5):在用戶界面突出顯示連通的鏈,如果一個(gè)鏈被判斷為連通的,則將其中每條曲線變?yōu)榧t色并加粗,令使用者一目了然;否則在該鏈的兩端繪制紅色粗實(shí)線圓圈,以標(biāo)明斷開位置。

        4 結(jié)束語

        本文描述了激光切割圖形連通性缺陷的成因與情形,給出了檢查連通性的一般方法,并說明了如何在基于ObjectARX(VC)開發(fā)的程序中實(shí)現(xiàn)。解決了激光切割圖形連通性缺陷肉眼難以察覺,之前業(yè)內(nèi)使用的方法實(shí)用性較差的問題,為相關(guān)工作提供了快速可靠的解決方案。

        參考文獻(xiàn):

        [1]張帆,朱文俊.AutoCAD ObjectARX(VC)開發(fā)基礎(chǔ)與實(shí)例教程[M].中國電力出版社,2014.

        [2]陸桂君.激光切割的機(jī)理與機(jī)械工藝技術(shù)[J].科技創(chuàng)新與應(yīng)用,2017(03):122.

        [3]胡家兵,郭宇斌,梁依忱.圖像實(shí)時(shí)檢測技術(shù)在激光切割中的應(yīng)用研究[J].科技創(chuàng)新與應(yīng)用,2016(34):75.endprint

        猜你喜歡
        封閉性連通性二次開發(fā)
        偏序集及其相關(guān)拓?fù)涞倪B通性?
        優(yōu)質(zhì)護(hù)理干預(yù)對老年高血壓合并糖尿病患者的臨床護(hù)理療效封閉性
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        擬莫比烏斯映射與擬度量空間的連通性
        潿西南凹陷TY油田斷層封閉性定量評價(jià)
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        斷層封閉性定量表征及對油氣富集的控制作用
        西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
        河道-灘區(qū)系統(tǒng)連通性評價(jià)研究
        高穩(wěn)定被動群集車聯(lián)網(wǎng)連通性研究
        亚洲国产成人精品无码区在线秒播| 中文字幕乱码亚洲美女精品一区| 精品日韩一区二区三区av| 日韩精品熟妇一区二区三区| 亚洲精品无人区| 国产在线一区观看| 国产天堂av手机在线| 日韩三级一区二区不卡| 性xxxx18免费观看视频| 国产福利免费看| 免费人成黄页网站在线观看国内| 国产在线一区二区av| 国产成人无码精品久久二区三区| 亚洲男人天堂2019| 精品视频在线观看一区二区有| 人妻少妇艳情视频中文字幕| 女人被狂躁c到高潮| 一级免费毛片| 亚洲高清一区二区三区视频| 国产一区二区三区在线观看完整版 | 国模吧无码一区二区三区| 国产一在线精品一区在线观看 | 性感人妻中文字幕在线| 久久精品国产色蜜蜜麻豆国语版| 亚洲综合色区另类av| 久久久久国产一级毛片高清版A| 国产av三级精品车模| 国产在线无码不卡影视影院| 国产无套护士在线观看| 国产亚洲曝欧美不卡精品| 婚外情长久的相处之道 | 18禁美女裸体网站无遮挡| 中文字幕在线一区乱码| 亚洲国产精品成人av网| 日韩激情无码免费毛片| 亚洲国产成人精品91久久久| 久久老熟女一区二区三区| 精品人妻av一区二区三区不卡 | 国产免费观看黄av片| 国产精自产拍久久久久久蜜| 好爽~又到高潮了毛片视频|