孔海驕,章志兵,柳玉起
(華中科技大學材料成形與模具技術國家重點實驗室,武漢 430074)
BOM表(Bill of Material)是定義產品結構的重要技術文件,是一種描述裝配關系的結構化零件表,它反映了一個產品所有零部件的構成層次關系和數量關系,在產品從設計到制造的周期中起著重要作用[1]。
盡管BOM如此之重要,但是在模具設計行業其標準還沒有得到統一,使得不同的模具制造企業都有各自不同的BOM表格式,其中的關鍵問題是不同格式BOM表中零件屬性各不相同。例如,部分企業要求BOM表包含的零件屬性是:件號、零件名稱、零件類型、流程類型、選用標準、材質、規格代號、標記、數量、質量、頁次和備注,而其他企業又要求BOM表的零件屬性為:件號、名稱、數量、材料、規格、標準代號、分類號、備注和頁次[2]。不難發現,兩者包含的零件屬性不僅名稱不同,而且個數也不相同。雖然目前模具設計企業都有各自的 BOM系統,但是這些BOM系統都只能針對BOM表中零件屬性固定的情況。對于上述問題,現在唯一可行的方法是依靠現有的系統先輸出一個臨時的BOM表,然后在其基礎上進行人工修改,這無疑會產生兩方面的問題:工作效率的降低和出錯率的升高。基于上述問題,文中提出了基于模板技術的通用BOM系統的構想:讓用戶按照需要的格式定義BOM表輸入和輸出模板,然后通過已經定義的輸入模板驅動BOM輸入界面,最終按照輸出模板生成用戶所需的BOM表。
通用BOM系統的主要目的是兼容不同廠家BOM表格式之間的差異性,現結合BOM系統的基本功能,提出通用BOM系統應具有如下功能。
1)用戶自定義BOM表輸入和輸出模板,系統根據輸入模板格式自動驅動輸入界面,并根據輸出模板輸出符合用戶要求的BOM表;
2)自動從模型中讀取零件BOM信息;
3)根據零件屬性識別零件類型;
4)自動生成零件件號,并能對件號的正確性做實時檢查;
5)支持參數化的屬性;
6)支持屬性刷功能(快速復制屬性);
7)能快速進行零件屬性正確性檢查;
8)BOM表輸出。
基于功能分類的原則,將BOM系統分為七大功能模塊:系統初始化;屬性錄入;BOM表輸出;自動備料;快速二維圖標注[3];模具成本估算;系統配置。
從目前檢索的文獻看,現行BOM系統中,用戶不能修改屬性輸入界面,從而導致現行BOM系統不能兼容不同格式的BOM表。基于模板技術[4]的通用BOM系統很好地解決了這個問題:在使用該BOM系統之前,用戶結合自己個性化的BOM表格式并利用系統提供的模板框架修改得到輸入模板和輸出模板,然后系統通過輸入模板驅動并形成符合用戶個性化需求的輸入界面,最終根據輸出模板生成完全符合用戶格式要求的BOM表。通用BOM系統和現行BOM系統流程如圖1所示,對比發現,通用BOM系統雖然需要額外定義輸入模板和輸出模板,但是不用手動修改最終的BOM表,而這正是現行BOM系統中引起工作量和出錯率急劇增加的部分,從而使得通用BOM系統的優勢盡顯。

圖1 BOM系統流程Fig.1 BOM system flow diagram
開發的通用BOM系統包括多個功能模塊,為了使各模塊間信息高度共享,同時保證系統的可擴展性強、結構清晰、功能明確,采用了三層系統結構:交互層、數據轉化層和核心層。
交互層用于處理NX系統與用戶的交互。通用BOM系統交互層最大的特點是能根據輸入模板中的信息自動驅動輸入界面,使其能適應零件屬性各不相同的BOM表。
數據轉化層用于不同數據結構間的轉換。由于交互層和核心層采用的數據結構不一樣,兩者之間進行信息交流時,需要由數據轉化層完成數據格式的轉換。
核心層用于數據存儲和零件信息關聯。系統初始化時,需要存儲大量的信息,如零部件名稱、零件類型、材料類別及其相應的材料名稱等,這些數據信息通過二維表形式的數據結構存儲在核心層中,數據結構的每一列對應于零件的一個屬性項,每一行對應于該屬性項的相應屬性信息。其中第1行是屬性名稱,第2行是屬性關鍵字,第3行是屬性值,第3行以后若不為空則為該屬性的可選值。數據結構如圖2所示。

圖2 零件屬性存儲結構Fig.2 Data structure of part attributes
在BOM表中,不同類型的零件對應的零件屬性各不相同,核心層中將零件類型與屬性個數、零件材質進行了關聯。在進行零件屬性輸入時,選中一種零件類型后,輸入界面中的屬性個數和可選的零件材質都會隨之改變,從而進一步提高工作效率。
模板技術是通用BOM系統的核心技術,它在系統的整個使用過程中都扮演著非常重要的角色,正是因為它的存在,通用BOM系統才能生成與客戶要求格式完全一致的BOM表。模板技術最關鍵的部分是2個Excel模板表:輸入模板和輸出模板。輸入模板包含的信息如圖3所示。

圖3 輸入模板信息Fig.3 Information of import template
模板技術的基本原理:利用通用BOM系統生成與企業格式要求相符的BOM表時,模具設計人員先根據該企業BOM表格式并按照該系統的模板規則建立輸入模板和輸出模板;系統的初始化功能模塊會讀取輸入模板,并利用輸入模板中的信息來驅動屬性輸入界面,之后設計人員便可完成必要的屬性輸入;最終生成BOM表時,系統將輸出模板拷貝到用戶指定的位置,然后向拷貝的輸出模板寫入零件信息,生成與輸出模板格式一致的BOM表。由于輸入模板和輸出模板的可定制性,故通用BOM系統能生成不同格式的BOM表。
系統開發的自動生成件號和件號實時檢查技術可大幅度提高設計人員的效率,降低出錯率。
1)自動生成件號。它能根據前一次使用的件號和所有已經使用過的件號,結合件號設定的行業標準自動推理出當前可能的正確件號,從而有效地減少設計人員的工作量,提高設計效率。
2)件號實時檢查。件號在BOM表生成過程中具有非常重要的作用,件號的正確與否會直接影響到BOM表中信息的完整性,進而影響到模具的實際生產周期。為了保證件號的正確,系統會自動對每個件號進行格式的正確性和值的重復性檢查。
BOM系統的最終目標之一就是實現設計人員在輸出BOM表時的完全自動化,而參數化屬性技術使得通用BOM系統更加接近這個目標。參數化屬性技術可以最大程度上利用當前零件中已有的信息,降低設計人員的手工操作強度,同時實現屬性值的參數化更新。
1)最大程度上利用零件中已有信息。對于標準件,一般都已經自帶了正確的零件規格屬性,針對不同格式的BOM表,不需要每次都重新填充該值,而只需在輸入模板中,將標準件對應的規格代號屬性列改為[規格],這樣最終生成的BOM表中就會在對應的位置出現該零件的規格信息,該技術同樣適用于其他屬性。除此之外,通用BOM系統還自定義了一些關鍵字,如PARTNAME,當用戶將[PARTNAME]添加在輸入模板中時,最終生成的BOM表就會在對應的位置出現正確的零件名稱。
2)參數化更新。對于標準件,當用戶將[規格]添加到輸入模板中之后,系統在最后生成BOM表時,會重新獲取[規格]屬性對應的屬性值,而不論之前在標準件中對該[規格]屬性值進行了怎樣的修改,這樣可保證屬性值的正確性。
利用通用BOM系統對同一副模具裝配圖分別進行了A和B 2種格式的BOM表自動生成,以此說明該系統對不同格式BOM表的兼容性。某企業的一副完整模具裝配圖如圖4所示。

圖4 模具裝配圖Fig.4 Mould assembly drawing
格式A的BOM表對應的輸入和輸出模板如圖5所示。

圖5 格式A輸入模板和輸出模板Fig.5 Importing template and Exporting te-mplate of style A
格式B的BOM表對應的輸入模板和輸出模板如圖6所示。

圖6 格式B輸入模板和輸出模板Fig.6 Importing template and Exporting te-mplate of style B
通用BOM系統利用格式A輸入、輸出模板和格式B輸入、輸出模板生成的最終BOM表的部分截圖如圖7所示。在利用通用BOM系統生成A,B兩種不同格式的BOM表時,只需在系統初始化中選擇各自的輸入模板,之后系統便會根據對應的輸出模板生成與輸出模板格式一致的BOM表,從而做到了對不同格式BOM表的完全兼容。

圖7 格式A和格式B對應的BOM表Fig.7 Two BOM sheets of style A and style B
開發的通用BOM系統完全兼容了不同格式的BOM表,支持件號自動生成和件號實時檢測,同時配備了自動備料、快速二維圖標注和模具成本估算輔助工具,能大大提高工作效率,降低出錯率,對縮短模具設計周期和保證模具生產的順利進行具有重大意義。
用戶定義輸入模板時,需要熟悉模板制定規則且要保證模板的正確性,用戶使用不便。后續開發中可通過在服務器端建立模板庫解決,模板庫包含所有常用BOM表格式的模板,而用戶作為客戶端只需選擇必要的模板文件,系統便能通過網絡自動獲取對應的輸入和輸出模板,從而讓用戶使用簡便,進一步提高工作效率。
[1]胡衛衛,王華昌,李建軍.UG平臺下注射模CAD系統BOM 表功能的開發[J].模具工業,2011,37(11):11 -19.
[2]吳新波,王耕耘.基于三維CAD實體模型的模具BOM表[J].模具工業,2007,33(2):1 -5.
[3]萬暉,廖敦明,劉瑞祥.UG環境下實用壓鑄模BOM系統的開發[J].特種鑄造及有色合金,2005,25(4):213-215.
[4]李萌,胡曉兵,殷國富,等.模板式BOM編輯管理與自動生成系統[J].現代管理技術,2005,32(4):61 -63.