三維CAD與BOM管理系統(tǒng)的接口研究
編碼是把一定的意義、信息轉(zhuǎn)換為代碼的過(guò)程。所謂“碼”就是按照一定規(guī)則排列起來(lái)的符號(hào)或信號(hào)序列。在企業(yè)信息管理中主要用到的編碼是信息分類(lèi)編碼。所謂分類(lèi)編碼就是按照一定的規(guī)則選用一定數(shù)列的字碼對(duì)企業(yè)信息進(jìn)行描述和識(shí)別。通過(guò)分類(lèi)編碼可以使企業(yè)信息客觀存在的各種特征的相似性明朗化、代碼化,從而為計(jì)算機(jī)進(jìn)行處理和識(shí)別提供可靠和有利的條件。制造業(yè)的信息編碼主要有兩類(lèi):產(chǎn)品和物料編碼、文檔編碼。
信息編碼是企業(yè)實(shí)施信息管理的基礎(chǔ)。下面從編碼體系的設(shè)計(jì)原則、編碼構(gòu)成的共性、編碼器的開(kāi)發(fā)三個(gè)方面來(lái)討論BOM管理中編碼的實(shí)現(xiàn)。
2-2-1編碼體系的設(shè)計(jì)原則
編碼體系的設(shè)計(jì)一般遵循如下原則:
(1) 編碼信息分類(lèi)要體現(xiàn)科學(xué)化、標(biāo)準(zhǔn)化、規(guī)范化、合理化。
(2) 參照國(guó)家標(biāo)準(zhǔn)中有關(guān)分類(lèi)標(biāo)準(zhǔn)體系。
(3) 保證編碼的唯一性、可擴(kuò)展性和方便性。
在實(shí)際應(yīng)用中還必須重視編碼的直觀性、實(shí)用性和繼承性。按這些原則進(jìn)行編碼的方法有兩種:一種是獨(dú)立編碼;一種是非獨(dú)立編碼。以前由于沒(méi)有計(jì)算機(jī)管理,企業(yè)必須將產(chǎn)品的結(jié)構(gòu)信息反映在編碼上,只好采用非獨(dú)立編碼,非獨(dú)立編碼產(chǎn)生的借用件問(wèn)題給企業(yè)的產(chǎn)品管理帶來(lái)了很大的不便。隨著計(jì)算機(jī)的普及,產(chǎn)品的結(jié)構(gòu)信息可以由計(jì)算機(jī)記錄而不需要編碼來(lái)反映。所以,現(xiàn)在大多數(shù)制造企業(yè)都傾向于采用獨(dú)立編碼。
2-2-2編碼構(gòu)成的共性
通過(guò)對(duì)制造企業(yè)各種編碼分析,發(fā)現(xiàn)它們的編碼結(jié)構(gòu)均可以分為以下幾個(gè)部分:系列碼、識(shí)別碼、固定碼、尾號(hào)。
(1) 系列碼:系列代碼是在對(duì)具體的“實(shí)體”給定唯一的代碼之前,依據(jù)其一種可見(jiàn)的屬性或易于確認(rèn)的、永久不變的特征給定碼值。
(2) 識(shí)別碼:識(shí)別碼與系列碼結(jié)合在一起就表示了唯一的一種實(shí)體,在編碼設(shè)計(jì)時(shí),可以在識(shí)別代碼的固定碼位上設(shè)置類(lèi)別編碼,以便計(jì)算機(jī)識(shí)別。
(3) 固定碼:固定碼是為了識(shí)別、檢索、記憶而特別設(shè)置的特殊代號(hào),在編碼時(shí)占一個(gè)碼位的位置。
(4) 尾號(hào):尾號(hào)是物料(零件) 改進(jìn)、升級(jí)的標(biāo)識(shí),僅尾號(hào)不同的物料一般具有替換性。
2-2-3編碼器的開(kāi)發(fā)與實(shí)現(xiàn)
在編碼器的開(kāi)發(fā)中,先調(diào)用企業(yè)內(nèi)部的編碼方案,一旦編碼方案定義好后,就可以進(jìn)行編碼了,其具體的編碼過(guò)程如下:
(1) 選擇要編碼的零部件。
(2) 選擇編碼方案。
(3) 根據(jù)編碼方案從數(shù)據(jù)庫(kù)中選擇編碼規(guī)則。
(4) 根據(jù)規(guī)則進(jìn)行編碼。
(5) 將新碼作為該零部件子項(xiàng)加入裝配。
圖4 就是在SolidWorks中用來(lái)編碼的編碼器主界面。
由于企業(yè)中有可能使用多種CAD軟件,而這些CAD都必須與BOM管理系統(tǒng)集成,若每個(gè)CAD都從頭開(kāi)發(fā)BOM接口,其工作量之大可想而知,因此模塊化的開(kāi)發(fā)是必然的選擇。模塊化開(kāi)發(fā)的基本要求是適當(dāng)劃分功能模塊,重用功能模塊以求得最佳開(kāi)發(fā)效率。對(duì)于本文所述BOM接口應(yīng)盡可能將與CAD無(wú)關(guān)的部分獨(dú)立出來(lái),成為各種異質(zhì)CAD的共用模塊。本文以SolidWorks為基礎(chǔ)開(kāi)發(fā)出BOM接口,然后將其移植到CATIA、UG、SolidEdge中。
3-1公共模塊的提取和封裝
BOM接口中對(duì)于數(shù)據(jù)庫(kù)的訪問(wèn)及編碼是與CAD相對(duì)獨(dú)立的部分,因此將這兩部分獨(dú)立出來(lái)封裝成為自動(dòng)化對(duì)象。自動(dòng)化技術(shù)是微軟開(kāi)發(fā)的用于實(shí)現(xiàn)不同編程語(yǔ)言間的組件重用和支持應(yīng)用程序間互操作的一項(xiàng)技術(shù)。通過(guò)這一技術(shù)使得用VC++編的程序被封裝成可以被VB 使用的組件。這種組件向客戶程序提供屬性、方法作為訪問(wèn)的接口??蛻舫绦騽?chuàng)建自動(dòng)化組件實(shí)例,調(diào)用它的方法,并返回計(jì)算結(jié)果。
3-2CAD的二次開(kāi)發(fā)
公共模塊提取并封裝好之后,剩下的工作是針對(duì)不同CAD支撐軟件進(jìn)行二次開(kāi)發(fā),使CAD能使用這些組件。由于自動(dòng)化組件既可以被VC++使用也可被VBA及任何支持自動(dòng)化技術(shù)的開(kāi)發(fā)工具使用,因此該組件能適應(yīng)大多數(shù)CAD軟件。以CATIA 為例,它既有以C++為開(kāi)發(fā)語(yǔ)言的CAA ,也有以VBA 為開(kāi)發(fā)工具的宏開(kāi)發(fā)方式,這兩種方法都可以使用該組件。在對(duì)UG、SolidEdge 進(jìn)行少量二次開(kāi)發(fā)后即可使用該組件,這樣就大大減少了不必要的重復(fù)開(kāi)發(fā),提高了開(kāi)發(fā)效率。
4結(jié)束語(yǔ)
本文利用三維CAD提供的二次開(kāi)發(fā)編程接口,以VC作為開(kāi)發(fā)工具,對(duì)原有三維CAD的功能進(jìn)行了很好的擴(kuò)展。它不僅實(shí)現(xiàn)了設(shè)計(jì)信息的BOM管理,還為企業(yè)內(nèi)部的資源共享和協(xié)同設(shè)計(jì)打下了良好的基礎(chǔ)。(end)
評(píng)論