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

基于NX Open批量自動求解模具零件包圍盒

2020-11-12 09:32:32孫育竹
模具工業(yè) 2020年11期
關鍵詞:信息

熊 毅,孫育竹,王 蕾

(1.河南工業(yè)職業(yè)技術學院,河南 南陽 473009;2.河南省材料成形裝備智能技術工程研究中心,河南 南陽 473009)

0 引言

模具零件的坯料尺寸、體積及表面積等數(shù)據(jù)是制造中的重要信息[1,2]。在求取零件信息中,基于最小包圍盒坯料尺寸的快速、準確計算是關鍵。一般可利用CAD軟件中的計算功能人工獲取,隨著模具零件的種類和數(shù)量增多,工作量急劇增加,人工方法步驟多、效率低、易遺漏,制約了模具生產(chǎn)周期。

包圍盒在零件下料、物流包裝、圖像處理、模式識別、碰撞檢測、模具分型等方面都有廣泛應用[3-8]。CAD軟件自帶的計算工具依賴于零件在坐標系中的形態(tài),需要人工反復調(diào)整零件的空間位置,才能得到準確的結(jié)果,耗時費力?,F(xiàn)有的最小包圍盒算法主要有兩類:①基于點云或三角面片模型的包圍盒算法[9-14];②迭代旋轉(zhuǎn)算法:旋轉(zhuǎn)物體或坐標系,將其AABB(axis-aligned-bounding-box)包圍盒的最小值作為最小包圍盒[15,16]。雖然上述算法計算精確,但其復雜度高,一般在O(n3/2)~O(n3),計算時間通常在幾十秒到幾百秒不等,并且有些算法需要先對模型進行離散,工程應用困難。

現(xiàn)提出一種基于零件特征快速計算包圍盒的方法,在三維CAD軟件siemens NX中,基于NX Open二次開發(fā)接口,以C++編程實現(xiàn)零件包圍盒、體積、表面積等制造信息的批量自動計算并輸出到Excel表格。

1 總體方案及界面設計

1.1 總體框架

總體框架如圖1所示,計算工具包括用戶界面、批量計算模塊、輸出模塊和顯示模塊。用戶界面主要接收用戶拾取部件、輸入的約束條件、Excel電子表格輸出路徑。批量計算模塊包括根據(jù)ID分組、求解包圍盒、計算零件屬性、格式化屬性信息。輸出模塊包括調(diào)用顯示模塊、將屬性信息逐條寫入Excel文件。顯示模塊主要負責在指定的屏幕位置顯示零件及包圍盒。

圖1 功能總體框架

1.2 菜單及UI界面設計

界面設計包括菜單設計和對話框設計,在NX二次開發(fā)中,通過NX Open Menu Script制作菜單,一般用記事本編寫代碼,另存為*.men的腳本文件,將*.men文件放在二次開發(fā)的startup目錄。系統(tǒng)的菜單腳本代碼如下:

UI界面如圖2所示,對話框分3個部分,“選擇對象”用于用戶選擇待求解的批量組件,定義包圍盒放置點?!昂凶娱g距”用于設置包圍盒間距。“輸出盒子信息”主要用于指定Excel文件存放路徑,文件名為“box_info.xlsx”。

圖2 UI界面

2 零件識別及數(shù)量統(tǒng)計

完全相同的零件具有相同的幾何信息,只需計算其中一個即可,避免重復計算,浪費時間。NX中,零件的幾何模型稱為部件(或組件),其ID是其唯一識別號,將相同ID的零件分為一組,建立屬性數(shù)據(jù)結(jié)構(gòu):

每組零件用一個結(jié)構(gòu)體partBoxInfo數(shù)據(jù)記錄,成員變量包含零件及其包圍盒的信息,其中part-Number記錄零件數(shù)量。

零件分組的基本方法:將用戶拾取的部件ID收集到容器1,定義partBoxInfo類型的容器2;逐條讀取容器1中的ID,與容器2中的ID匹配,若匹配成功,容器2中相應數(shù)據(jù)項的零件數(shù)量加1;匹配失敗,新建一個partBoxInfo數(shù)據(jù),零件數(shù)量置為1。分組算法如下:

算法 按ID對零件進行分組。

輸入 組件ID容器1。

輸出 分組后的partBoxInfo容器2。

(1)容器1為空或達到容器尾部,跳轉(zhuǎn)到(8)。

(2)讀取容器1的一個ID。

(3)遍歷容器2,找到與(1)中容器1的ID相等的數(shù)據(jù),數(shù)據(jù)中的partNumber加1,返回到(1)。

(4)新建一個partBoxInfo數(shù)據(jù),將partNumber置為1。

(5)計算該零件的包圍盒信息、零件體積和表面積。

(6)將該零件的信息賦值給(4)中數(shù)據(jù),part-Number加1。

(7)將該partBoxInfo數(shù)據(jù)存入容器2,迭代器加1,返回到(1)。

(8)結(jié)束。

某批模具零件分組前后的ID序列如表1所示,分組前,零件ID排列與用戶拾取順序一致,序列無規(guī)律,分組后,相同ID的零件被分為一組,零件數(shù)量更新。

表1 某批模具零件分組前后的ID序列

3 零件包圍盒及幾何信息計算

3.1 包圍盒快速求解

模具零件一般需要在銑床上加工,這類零件至少有一個基準平面和一條直線邊。根據(jù)這些特征,構(gòu)造快速計算包圍盒的算法,該算法依據(jù)零件的平直面、直線邊特征確定3個主方向,并以此構(gòu)建空間直角坐標系;在新建坐標系下調(diào)用AABB算法,快速計算近似最小包圍盒,算法的時間復雜度為O(n),計算時間通常在0.1 s以內(nèi)。算法如下:

算法 物體最小包圍盒計算。

輸入 部件ID。

輸出 包圍盒參數(shù)。

(1)打開部件,記錄工作坐標系。

(2)遍歷部件的體,記錄最長直邊ID、存儲平直面ID到鏈表。

(3)以最長直邊構(gòu)造Z軸矢量。

(4)在鏈表中查找Z軸的垂直面,若找到,轉(zhuǎn)到(5),否則轉(zhuǎn)到(6)。

(5)遍歷面的最長邊,以此構(gòu)造Y軸矢量,轉(zhuǎn)到(7)。

(6)以Z軸對應邊的相鄰平面法向為Y軸矢量。

(7)創(chuàng)建坐標矩陣和坐標系。

(8)以新建坐標系調(diào)用AABB函數(shù),得到包圍盒尺寸及位置參數(shù)。

(9)結(jié)束。

圖3所示為幾種模具零件的包圍盒計算結(jié)果,求解時間在0.02~0.06 s,效率高,包圍盒的致密度好,精度滿足實際的工程需求。

3.2 零件體積和表面積的快速計算

NX二次開發(fā)中提供了3種計算體積和表面積的方式:①調(diào)用UF_MODL_ask_mass_props_3d函數(shù),優(yōu)點是通用性好,編程容易,缺點是計算效率低,且計算前需要從體中抽取面;②利用UFUN調(diào)KF(知識熔接)中的函數(shù),計算速度比①快,但KF中的函數(shù)格式復雜,編程困難;③利用NX Open C++中的MeasureManager測量類處理,其效率最高,代碼簡單,可以通過NX日志的代碼錄制功能實現(xiàn)。

現(xiàn)采用方式③,通過NX中[分析]/[測量體]功能查詢零件的屬性,錄制過程代碼,并在Visual Studio中將代碼改成通用格式,修改后的關鍵代碼如下:

4 零件信息輸出

一些大型的應用軟件有讀寫Excel表格的接口,針對Excel的數(shù)據(jù)讀寫也有一些具體方法[17,18]。NX可以調(diào)用KF中的函數(shù)讀寫Excel文件,KF是內(nèi)嵌于NX的知識工程應用技術,用“規(guī)則”(Rule)表示零件的幾何參數(shù)和工程屬性之間的相互關系。用戶可使用KF語言建立自己的規(guī)則,并利用規(guī)則添加知識數(shù)據(jù)。

零件信息輸出到Excel的基本過程:在本地新建電子表格模板文件,通過NX Open的文件處理函數(shù)將模板文件另存到用戶指定目錄,讀取零件信息結(jié)構(gòu)體中的數(shù)據(jù),通過KF語言創(chuàng)建規(guī)則將這些數(shù)據(jù)寫入表格中的指定區(qū)域,算法如下:

算法 NX信息寫入Excel。

輸入 存儲部件信息的容器。

輸出 Excel電子表格數(shù)據(jù)。

(1)復制本地模板文件到UI指定的路徑。

(2)打開電子表格文件。

(3)初始化容器迭代器。

圖3 幾種模具零件的包圍盒計算結(jié)果

(4)從容器中讀取一條信息并格式化為KF函數(shù)所需格式。

(5)調(diào)用KF寫Excel函數(shù),在表格的指定區(qū)域?qū)懭敫袷交畔ⅰ?/p>

(6)強制需求,更新模型,刪除屬性。

(7)若迭代器未達到容器末尾,迭代器加1,轉(zhuǎn)到(4)。

(8)更新模型,關閉電子表格,刪除屬性。

(9)結(jié)束。

利用UF_KF_create_rule_no_update函數(shù)創(chuàng)建規(guī)則,分別實現(xiàn)對電子表格的打開、數(shù)據(jù)寫入及關閉電子表格。其中,寫入的信息需要格式化,存放在字符組數(shù)write_buf中,寫入的具體規(guī)則如下:

5 應用案例

以某大型注射模中的斜推組件為例,如圖4所示,測試自動工具的計算效果。在NX 10.0中啟動系統(tǒng)菜單,設置零件間距、零件組間距及Excel輸出目錄。批量選擇斜推組件,該批零件共12種,91個零件,形態(tài)各異,計算總時間為3.776 s。圖5所示為計算結(jié)果,零件被分為12個組,如圖5(a)所示;系統(tǒng)自動建立裝配目錄H289-BOX,零件按組被裝配12個目錄,如圖5(b)所示。表2所示為輸出的電子表格數(shù)據(jù),表格中的A列數(shù)據(jù)是根據(jù)分組數(shù)動態(tài)編號自動生成,B~K列是零件屬性信息格式化后的輸出結(jié)果,L、M列是利用Excel自帶公式計算所得的派生數(shù)據(jù),避免了在NX中編寫代碼,節(jié)省時間。

圖4 某模具的斜推組件

表3所示為圖4案例采用人工和自動計算耗時比較。手工計算時,坐標調(diào)整耗時最多,平均為30 s,調(diào)整時根據(jù)零件的形狀特征將其擺正,使零件最長方向與Z軸平行,第二長邊的方向與Y軸平行。其次是查詢零件表面積和體積的時間,平均為3 s,主要消耗在調(diào)用查詢命令窗口、拾取幾何對象。手工計算后的數(shù)據(jù)還需用戶記錄,而自動計算時,用戶一次拾取所有零件,計算工具自動調(diào)整零件姿態(tài)、計算零件信息,最后自動輸出到Excel表格,提高計算效率和數(shù)據(jù)準確性。自動計算時間不到手工計算的1%,且計算規(guī)模越大,自動計算的效率優(yōu)勢越明顯。

表2 批量信息輸出到Excel

圖5 自動計算結(jié)果

表3 不同方式計算圖4案例信息的時間 s

6 結(jié)束語

通過實例驗證,批量求解工具能在數(shù)秒內(nèi)實現(xiàn)大批量模具零件的快速分組、零件信息輸出到Excel表格,計算規(guī)模越大,自動計算的效率越高。

(1)通過分組算法,以零件ID作為匹配項,對同種零件進行了快速數(shù)量統(tǒng)計和分組,避免了零件信息的重復計算。

(2)以零件的幾何特征快速構(gòu)造主方向,在以主方向建立的坐標系下調(diào)用AABB包圍盒算法,計算時間控制在0.1 s內(nèi),算法的復雜程度降低到O(n),結(jié)果準確。

(3)利用NX中NX Open C++中的MeasureManager類和日志功能,實現(xiàn)了復雜零件體積和表面積的快速自動計算。

(4)利用NX中的KF函數(shù),完成了零件的ID、數(shù)量、體積、表面積及包圍盒等數(shù)據(jù)關聯(lián)輸出到Excel表格,實現(xiàn)了零件信息的批量輸出。

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
展會信息
展會信息
展會信息
展會信息
展會信息
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 五月婷婷丁香综合| 中文字幕佐山爱一区二区免费| 97狠狠操| 国产成人区在线观看视频| 青青久久91| 久久综合伊人 六十路| 中日无码在线观看| 影音先锋丝袜制服| 久久这里只有精品66| 四虎国产永久在线观看| 国产亚洲高清在线精品99| 18禁色诱爆乳网站| 国产h视频在线观看视频| 国产欧美又粗又猛又爽老| 视频二区欧美| 久久女人网| 国产精品视频3p| 无码精品国产VA在线观看DVD | 欧美一区日韩一区中文字幕页| 精品国产中文一级毛片在线看 | 国产一区成人| 久久综合色天堂av| 国产激情第一页| 亚洲男人天堂久久| 国产在线精品99一区不卡| 一级毛片在线免费视频| 一本大道香蕉高清久久| 114级毛片免费观看| 性欧美久久| 日韩成人在线一区二区| 伊人成人在线视频| 国产在线视频欧美亚综合| 亚洲性视频网站| 亚洲一级毛片| 中国一级毛片免费观看| 一级毛片免费播放视频| 久草中文网| 免费a级毛片18以上观看精品| 综合色区亚洲熟妇在线| 97狠狠操| 亚洲欧美自拍中文| 2020国产免费久久精品99| 久久黄色影院| 久久久久青草线综合超碰| 激情综合婷婷丁香五月尤物| 天天干天天色综合网| 国产成人久视频免费| 欧美区在线播放| 免费在线a视频| 日韩中文无码av超清| 18禁影院亚洲专区| 成人福利在线观看| 99免费视频观看| 97人人模人人爽人人喊小说| 欧美精品亚洲日韩a| 亚洲AV无码不卡无码| 日本AⅤ精品一区二区三区日| 亚洲国产成人精品无码区性色| 干中文字幕| 精品久久久久久中文字幕女| 国产真实乱子伦视频播放| 国产精品视频白浆免费视频| 国产日本一区二区三区| 欧美www在线观看| 韩国自拍偷自拍亚洲精品| 天堂成人在线视频| 97se亚洲综合在线| 国产精品久久久久久久久| 国产成人三级| 波多野结衣中文字幕一区二区 | 26uuu国产精品视频| 一级全黄毛片| 国产丝袜啪啪| 亚洲日韩高清无码| 久久中文字幕不卡一二区| 国产精品无码制服丝袜| 欧美三级视频在线播放| 免费无码AV片在线观看国产| 婷婷开心中文字幕| 色吊丝av中文字幕| 国产在线观看一区精品| 亚卅精品无码久久毛片乌克兰|