999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2017-11-16 21:54:40張向良
科技創新與應用 2017年33期
關鍵詞:二次開發

張向良

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

關鍵詞:激光切割;圖形處理;連通性;封閉性;ObjectARX;二次開發

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

引言

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

1 連通性檢查問題描述

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

2 算法分析

圖元的拓撲關系判定需要考慮一個因素——公差。假設約定的公差值為geTol(長度變量單位默認為mm,下同),則兩點距離小于geTol時,認為兩點重合。這個值應根據所選用的設備、設備的配套軟件設置和使用的CAD軟件設置來確定。

在激光切割圖形中,允許存在的圖元包括且限于直線、圓弧和圓。由于圓自封閉,不需要判斷連通性,故只需檢查直線與圓?。ㄒ韵潞喎Q曲線)。當曲線pCurve1的某一端點與曲線pCurve2的某一端點重合時,稱兩曲線鄰接。

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

3 算法的實現

考慮到業內普遍的工作方式,本文選擇在AutoCAD平臺上實現上述算法。由于基于VC++的ObjectARX程序運行效率最高,擁有與AutoCAD自身幾乎相同的編程接口與控制能力[1],故使用ObjectARX(VC)2007開發,編譯環境是Visual Studio 2005。與AutoCAD自身的功能一樣,該連通性檢查功能通過命令調用。如圖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):獲得所選擇的圖形元素,分解其中的組合元素:將模型空間中所有實體的ID加入查找范圍數組。對獲得的所有實體執行分解動作,如果分解成功,則將所得的實體依次發送至模型空間,并將其ID加入查找范圍數組,然后在查找范圍數組中移除該組合元素的ID,并將該組合元素從模型空間刪除。

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

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

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

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

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

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

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

4 結束語

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

參考文獻:

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

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

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

猜你喜歡
二次開發
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
基于C#的AutoCAD建筑構件庫二次開發
江西建材(2018年2期)2018-04-14 08:01:14
西門子Easy Screen對倒棱機床界面二次開發
基于全站儀二次開發的覆冰厚度測量與實現
電測與儀表(2016年9期)2016-04-12 00:29:52
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
基于VB的ANSYS二次開發在變壓器抗短路性能分析中的應用
基于CATIA的橡皮囊成形毛料展開的二次開發
機械工程師(2015年9期)2015-02-26 08:38:10
ANSYS Workbench二次開發在汽車穩定桿CAE分析中的應用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 欧美a在线视频| 91小视频在线观看| 无码丝袜人妻| 国产免费观看av大片的网站| 一区二区影院| 午夜性爽视频男人的天堂| 91色在线观看| 国内精品视频在线| 夜夜拍夜夜爽| 日韩精品成人网页视频在线| 99久久婷婷国产综合精| 亚洲中文久久精品无玛| 亚洲水蜜桃久久综合网站| 在线视频一区二区三区不卡| 久久久精品无码一区二区三区| 亚洲精品在线影院| a毛片在线播放| 自拍偷拍欧美| 四虎成人精品在永久免费| 亚洲成a人片7777| 99久久精彩视频| 国产亚洲欧美在线视频| 国产成人精品免费视频大全五级| 国产成人午夜福利免费无码r| аv天堂最新中文在线| 国产精品99一区不卡| 亚洲一级毛片| 精品视频一区二区观看| 久久这里只精品国产99热8| 久久窝窝国产精品午夜看片| 免费a级毛片18以上观看精品| 热re99久久精品国99热| 久久国语对白| 国产情精品嫩草影院88av| 欧美午夜在线观看| 日韩高清成人| AV色爱天堂网| jizz在线观看| 中文字幕在线永久在线视频2020| 国产美女自慰在线观看| 欧美精品亚洲精品日韩专区va| 精品国产女同疯狂摩擦2| 国产尤物视频在线| 一级毛片免费高清视频| 毛片久久久| 国产丝袜无码一区二区视频| 六月婷婷综合| 97国产在线观看| 精品免费在线视频| 成人一级免费视频| 亚洲天堂.com| m男亚洲一区中文字幕| 精品三级网站| www.91中文字幕| 丰满人妻久久中文字幕| 国产欧美一区二区三区视频在线观看| 国产综合色在线视频播放线视| 白丝美女办公室高潮喷水视频| 国产麻豆精品在线观看| 91久久偷偷做嫩草影院免费看| 国产精品第5页| 露脸真实国语乱在线观看| 伊人久久久久久久| 欧美一级高清视频在线播放| 成人国产精品网站在线看| 亚洲色图欧美激情| 精品久久777| 四虎精品免费久久| 免费一级α片在线观看| 被公侵犯人妻少妇一区二区三区| 中文字幕中文字字幕码一二区| 国产农村精品一级毛片视频| 免费人成视频在线观看网站| 五月天福利视频 | 中文字幕乱码二三区免费| 99久久性生片| 不卡视频国产| 中文字幕乱码二三区免费| 欧美亚洲国产日韩电影在线| 91原创视频在线| 九九免费观看全部免费视频| 波多野结衣无码AV在线|