張 楊,劉曉軍,倪中華,程亞龍,劉金鋒
ZHANG Yang1,2, LIU Xiao-jun1,2, NI Zhong-hua1,2, CHENG Ya-long1,2, LIU Jin-feng1,2
(1.東南大學 江蘇省微納生物醫(yī)療器械設計與制造重點實驗室,南京 211189;2.東南大學 機械工程學院,南京 211189)
裝配工藝結構樹是按照工藝結構模板進行裝配工藝設計的樹形結構,工藝結構樹有助于提高工藝設計效率,因而得到了廣泛應用。當前,國內外很多典型的裝配工藝設計系統(tǒng)都采用工藝結構樹進行工藝設計,如哈爾濱工藝大學渦輪泵三維數字化裝配工藝系統(tǒng)的裝配模型樹[1],南京航空航天大學的基于DELMIA數字化裝配工藝設計系統(tǒng)的PPR樹[2],南京理工大學的戴國洪等學者提出的裝配工藝APS樹[3],哈爾濱工業(yè)大學的I-VADS系統(tǒng)的工藝目錄樹[4];新加坡南洋理工大學的V_REALISM系統(tǒng)的BSP樹[5],Lee和Gossard將裝配體產品分解,得到由“虛鏈”連接起來的裝配結構樹[6,7]。這些工藝結構樹按照不同的工藝結構模板進行工藝設計,探索了不同的工藝設計方法,提升了工藝設計效率。
工藝流程圖是用圖表符號形式,表達產品在工藝過程中的部分或全部階段所完成的工作[8];在工藝設計完成后,工藝人員利用工藝流程能有效的管理裝配工藝信息。國內相關單位對工藝流程進行了研究,主要集中在利用流程圖定制工具繪制流程圖,流程節(jié)點信息的鏈接和工藝流程的應用等方面,取得了有益的成果。如北京衛(wèi)星環(huán)境工程研究所的裝配工藝流程可視化系統(tǒng)[9],北京理工大學的計算機輔助裝配過程控制與管理軟件系統(tǒng)VPPC[10](Visual Production Process Control)。裝配工藝流程具有如下優(yōu)點:1)工藝流程比較直觀,符合使用習慣,人機交互性比較好;2)工藝流程能直觀的展示裝配順序,并支持并行的裝配過程表達;3)工藝流程有利于工藝人員有效管理和快速查看工藝信息;4)工藝流程有利于工藝設計過程的追溯和回溯。
因此,在裝配工藝系統(tǒng)中,通常利用裝配工藝結構樹進行裝配工藝設計,利用裝配工藝流程進行裝配工藝信息管理。然而,對于如何將裝配工藝結構樹映射為裝配工藝流程且快速自動地生成裝配工藝流程圖的方法,當前還鮮有研究。鑒于此,結合自主開發(fā)的裝配工藝設計系統(tǒng),本文給出了將裝配工藝結構樹映射為裝配工藝流程的方法,該方法能自動生成裝配工藝流程。
MBD(Model Based Definition),即基于模型的定義,是一個用集成的三維實體模型來完整表達產品定義信息的方法體,它詳細規(guī)定了三維實體模型中產品尺寸、公差的標注規(guī)則和工藝信息的表達方法[11]。MBD模型應用于裝配工藝設計,使得三維實體模型成為裝配過程中工藝數據信息的唯一來源,改變了傳統(tǒng)以工程圖紙為主要依據的裝配方法,是裝配工藝設計技術發(fā)展的新趨勢。
在基于三維模型的裝配工藝設計系統(tǒng)中,工藝人員首先進行裝配工藝建模,依據產品設計模型確定工藝方案;然后利用裝配工藝結構樹進行裝配工藝規(guī)劃,并對工藝規(guī)劃結果進行仿真;最后生成裝配工藝文件。
裝配序列規(guī)劃是工藝規(guī)劃的重要內容。產品結構反映產品中各零部件之間組成和層次關系,低層級零部件總是先于高層級零部件進行工藝設計。因而,產品結構包含了一定的裝配序列信息,工藝人員可以依據產品結構信息,進行裝配序列規(guī)劃。
在裝配工藝建模時,保存了產品的結構信息和零部件模型信息。在工藝規(guī)劃過程中,借助工藝結構樹進行工藝設計,生成了多種工藝數據集,包括裝配序列、裝配路徑、工藝標注、工藝裝備、輔助工藝等信息;工藝數據集按一定的方式組織存儲構成裝配工藝模型。裝配工藝模型信息集合如圖1所示。

圖1 裝配工藝模型信息
在裝配工藝設計過程中,利用裝配工藝結構樹描述、存儲工藝設計數據集,最終生成產品的裝配工藝。產品的裝配工藝通常由裝配工序、裝配工步組成。裝配工藝結構樹的數據結構如下:
1)裝配工序是裝配工藝的基本組成單元,它的含義與一般工序的定義一致。在工藝結構樹中,裝配工序的基本組成如下:

LO是工序對象列表,表示當前工序下所有待裝配零部件。根據產品結構,工序對象列表中的零部件必須是相同部件下的同級子零部件。
LP是裝配工步序列,LP由工序下所有待裝配零部件的裝配過程按照工步劃分規(guī)則進行細分得到。
2)裝配工步是裝配工藝信息的基本載體,它的含義與一般工步的定義一致。在工藝結構樹中,裝配工步的組成如下:

OA是裝配對象,它是當前工步下需要裝配的零部件。
IA是裝配信息,它是工藝設計過程中產生和由工藝人員補充的工藝信息。
3)裝配信息由各種工藝信息組成。在工藝結構樹中,裝配信息的組成如下:

AA是裝配活動,它表示模擬零部件裝配過程的三維動畫展示;
IAP是輔助工藝信息,它表示零部件常用的裝配操作方法、特殊零部件的處理方法及設計人員的經驗;
DP是工藝標注,它表示零部件在裝配過程中,與裝配工藝相關的標注特征信息,包括尺寸、公差、粗糙度、注釋等;
EP是工藝裝備,它表示零部件在裝配過程中用到的夾具、工具、量具等。
在實際裝配中,一個復雜產品的裝配過程通常是按照先組裝、再部裝、后總裝的順序進行的。在裝配工藝結構樹中,工藝人員不一定按照實際裝配過程進行工藝設計,即組裝和部裝工藝設計可能交替進行,這減小了工藝設計的限制,人機交互性更好。裝配工藝結構樹如圖2所示。
工藝設計完成后,采用何種方式管理裝配工藝信息,將直接影響工藝人員的工作效率。工藝結構樹的自身特性不利于工藝信息的管理,而工藝流程圖不僅克服了工藝結構樹的缺點,并且在工藝信息管理中具有優(yōu)勢。為此,本文將工藝流程圖應用于裝配工藝信息的組織和管理中,以解決上述問題。
產品的裝配過程分為三個階段,包括組裝階段、部裝階段、總裝階段;裝配過程可以由一組串(并)聯混合而成的裝配鏈表組成;因此,產品的裝配工藝可以由一系列流程節(jié)點組成的裝配工藝流程圖來表示。
在裝配工藝流程中,將包含一個或多個零部件裝配過程信息的單元定義為工藝流程節(jié)點;工藝流程節(jié)點是裝配工藝流程的基本組成元素,串并行工藝流程節(jié)點構成裝配工藝流程。工藝流程節(jié)點能鏈接裝配對象三維模型、裝配動畫、裝配標注信息、工藝裝備和輔助工藝信息等相關工藝信息。
裝配工藝流程不只是簡單的單個流程,對于不同的裝配階段,如組裝階段、部裝階段和總裝階段,工藝流程可以用組裝工藝流程、部裝工藝流程和總裝工藝流程分別表示。對于不同裝配階段的工藝流程,其工藝流程節(jié)點的裝配對象可能存在父子關系,某個工藝流程節(jié)點可由其子零部件所在的工藝流程構成,工藝流程之間存在組成和層次關系,因而,總裝工藝流程可以由部裝工藝流程組成,部裝工藝流程可以由組裝工藝流程組成。裝配工藝流程示意圖如圖3所示,流程節(jié)點間的連接箭頭表示裝配操作方向;流程節(jié)點的先后順序表示節(jié)點中裝配對象的裝配順序;并行的流程節(jié)點表示其裝配對象可同時進行裝配。

圖2 裝配工藝結構樹
工藝流程節(jié)點作為裝配工藝流程的基本組成單元,它的數據結構如下:
3.1.1 PIP5Ks基因家族各成員核酸序列分析 在NCBI搜索[15]PIP5K得到蓖麻PIP5Ks基因家族各成員的參考序列,并于表1中列出。通過初步分析從數據庫下載的7個蓖麻PIP5K基因(表2)可以看到,除了PIP5K11的序列全長為1 501 bp,其他基因的序列全長均在2 853~3 246 bp。PIP5K11的序列全長為其他序列的二分之一左右,其編碼的多肽鏈也因此較短。

Name是節(jié)點名稱,表示節(jié)點在工藝流程中的顯示名稱;
L是節(jié)點層級,為將工藝流程節(jié)點放入相應層級的工藝流程鏈表中提供數據;
ON表示該工藝流程節(jié)點需要裝配的零部件;ID是工藝流程節(jié)點的標識,具有唯一性;
ParID是父級工藝流程節(jié)點的標識,具有唯一性。根據裝配對象的父子關系,建立工藝流程節(jié)點的聯系,用于標識裝配對象的父級部件所在工藝流程節(jié)點,即父級工藝流程節(jié)點NPP,ParID為實現具有層次關系的裝配工藝流程提供數據支持;

圖3 裝配工藝流程示意圖
SeqID是并行工藝流程節(jié)點的標識,具有唯一性。SeqID為實現具有并行關系的工藝流程節(jié)點提供數據支持;在實際裝配過程中,并行工藝流程節(jié)點包含的裝配對象可同時進行裝配。
IN是節(jié)點工藝信息,表示該節(jié)點裝配對象的工藝信息。
工藝流程鏈表用于存儲工藝流程節(jié)點。工藝流程鏈表的組成如下:

工藝流程節(jié)點NP是工藝流程鏈表SN的基本組成元素。SN中NP的順序包含了裝配序列信息。
為了將裝配工藝結構樹映射為裝配工藝流程,首先要解析裝配工藝結構樹,從工藝結構樹中獲取裝配工藝信息。在工藝結構樹中,裝配工步PS是工藝信息的基本載體,可以從中獲得所有裝配對象OA及其裝配信息IA,IA包括裝配活動AA、輔助工藝信息IAP、工藝標注DP、工藝裝備EP等;根據裝配工序Pd及其裝配工步PS的先后順序關系,可以獲得零部件的裝配序列信息。同時,在解析工藝結構樹時,需要從工藝結構樹中分離出不同工藝階段的工藝過程,以便實現具有層次關系的裝配工藝流程。
然而,僅僅依靠解析工藝結構樹中的信息,不足以將工藝結構樹映射為裝配工藝流程,還需要對工藝結構樹進行預處理,完善相關信息。本文采用深度優(yōu)先遍歷算法解析裝配工藝結構樹并進行預處理。工藝結構樹解析與預處理過程如下:
Step1:根據產品結構樹中零部件最大層級n,建立n個工步鏈表SP,即{SPt|t=1,2,3,…,n};
Step2:搜索工藝結構樹,獲取第k個Pd(k初始值為1);
Step3:若Pd不為空,獲取Pd的LO,根據產品結構樹,確定LO中零部件的層級i;否則,結束搜索;
Step4:獲取Pd的第m個PS(m初始值為1);
Step5:若PS不為空,設置PS的編號N和同步編號SN;否則,轉Step7
Step6:將PS存儲到SPi中;
Step7:m=m+1,轉Step4;
Step8:k=k+1,轉Step2。
雖然不同工藝階段的工藝過程可能交叉在一起,但在工藝結構樹解析的過程中,同一工藝階段的裝配工步被存儲在同層級工步鏈表SP中,SP的數據結構如下:
在解析工藝結構樹的基礎上,將PS映射為工藝流程節(jié)點NP,并存儲在工藝流程鏈表SN中,為生成裝配工藝流程提供數據準備。裝配工步與工藝流程節(jié)點的映射過程如下。
Step1:根據產品結構樹中零部件的最大層級n,建立n個工藝流程鏈表SN,即{SNk|k=1,2,3,…,n};
Step2:搜索SPi(i初始值為1);獲取PSm(m初始值為1);若PSm不為空,構造NPm;否則,轉Step8;
Step3:根據PSm的OA,設置NPm.ON=PSm.OA;設置NPm的Name;根據OA的層級設置NPm的L;
Step4:根據PSm的IA,設置NPm.IN=PSm.IA;根據PSm的N,設置NPm.ID=PSm.N;根據PSm的SN,設置NPm.SeqID=PSm.SN;
Step5:根據產品結構樹,若裝配對象存在父級部件,則從SN(i-1)(i>1)中搜索父級工藝流程節(jié)點NPP,設置NPm.ParID=NPP.ID;
Step6:將NPm存儲到SNi中;

圖4 裝配工藝結構樹與裝配工藝流程映射關系圖
Step7:m=m+1,轉Step2;
Step8:i=i+1,若i<=n,則轉Step2,否則,停止搜索。
在解析工藝結構樹時,建立了SP,分離了不同工藝階段的工藝過程;根據SP,將PS映射為NP時,建立了SN,這利于搜索父級工藝流程節(jié)點NPP,進而建立具有層次關系工藝流程。
通過上述流程,基本解決了上文提到的5個問題。根據PS的OA,實現了NP和ON的關聯;根據IA,實現了NP和IN的集成;根據SeqID,為實現具有并行關系的NP提供了數據支持;根據ParID,為實現具有層次關系的裝配工藝流程提供了數據支持;將NP依次存儲在相應層級的SN中,保存了產品的裝配序列信息,為生成裝配工藝流程提供了序列信息。圖4是裝配工藝結構樹與裝配工藝流程的映射關系。
在Visual Studio 2008平臺上,利用ACIS和HOOPS開發(fā)工具包開發(fā)實現了基于三維模型的裝配工藝設計系統(tǒng)。在該系統(tǒng)中,實現了裝配工藝結構樹向裝配工藝流程映射的目標,生成了裝配工藝流程。以發(fā)動機汽缸為例,圖5是產品結構樹、裝配工藝結構樹、裝配工藝流程和完善工藝流程節(jié)點信息的原型系統(tǒng)界面。

圖5 原型系統(tǒng)界面
通過解析裝配工步的裝配對象及其裝配信息,實現了工藝流程節(jié)點和裝配對象的關聯,實現了工藝流程節(jié)點和零部件裝配信息的鏈接;通過設置同步工藝流程節(jié)點標識SeqID,實現了具有并行關系的裝配工藝流程;通過設置父級工藝流程節(jié)點標識ParID,實現了具有層次關系的裝配工藝流程;通過工藝流程鏈表,記錄了零部件裝配序列信息;最終生成了裝配工藝流程圖。因此,基于解析工藝結構樹的工藝流程映射方法是有效的。但是,該映射方法依然存在著不足,在實現具有層次關系的裝配工藝流程時,搜索父級工藝流程節(jié)點的效率還有待提升;同時,裝配工藝流程的應用還有待進一步擴展。
[1] 夏平均,姚英學.三維數字化裝配工藝系統(tǒng)的研究[J].哈爾濱工藝大學學報, 2005(01): 36-39.
[2] 馮廷廷,金霞.基于MBD的飛機裝配工藝模型設計[J]. 航空制造技術,2010(24): 95-98.
[3] 戴國洪,等.面向序列規(guī)劃的裝配工藝APS樹模型生成的研究[J].中國機械工程,2006(14):1493-1498.
[4] 夏平均.基于虛擬現實的衛(wèi)星裝配工藝設計方法及其應用[D].2007,哈爾濱工業(yè)大學.
[5] Q H Wang, J R Li. A Desktop VR Prototype for Industrial Training Applications[J].Virtual Reality (S1359-4338), 2004,16(7):187-197.
[6] Lee k, Andrews. Inference of the Position of Components in an Assembly: part 2[J].Computer Aided Design,1985, l7(1):20-24.
[7] Lee k and Gossard D.A Hierarchical Data Structure for Representing Assemblies: part 1[J].Computer Aided Design,1985, l7(1):15-19.
[8] MBAlib.工藝流程圖[EB/OL].2009-12-08. http://wiki.mbalib.com/wiki/Process_Charts.
[9] 李曼麗,等.航天器裝配工藝流程可視化系統(tǒng)的研究[J]. 航天器環(huán)境工程,2007(02):113-115.
[10] 劉檢華,等.面向手工裝配的計算機輔助裝配過程控制方法[J].計算機集成制造系統(tǒng),2009(12):2391-2398.
[11] 王峻峰,魯明上,等.產品裝配MBD數據集及其應用研究[J].制造業(yè)自動化,2012.35(01):78-82.