PLM管理中涉及到兩個重要數(shù)據(jù)的管理:設(shè)計(jì)BOM(EBOM)和工藝BOM(PBOM),這兩個BOM是在產(chǎn)品設(shè)計(jì)階段產(chǎn)生,它們?yōu)楹罄m(xù)的生產(chǎn)、制造提供數(shù)據(jù)源。在設(shè)計(jì)階段,工程技術(shù)人員通過各類CAD軟件繪制出產(chǎn)品的2D或(和)3D圖樣后,這些圖樣將進(jìn)入PLM系統(tǒng)中進(jìn)行管理。這些圖樣內(nèi)部包含了產(chǎn)品結(jié)構(gòu)信息如裝配關(guān)系、裝配數(shù)量、零部件代號、物料編碼、名稱、材料、重量等信息,這些信息在圖樣進(jìn)入到PLM時需要提取出來以生成設(shè)計(jì)BOM,設(shè)計(jì)BOM是產(chǎn)品各類數(shù)據(jù)在PLM中進(jìn)行組織的基礎(chǔ),它可用于輸出各類產(chǎn)品數(shù)據(jù)報(bào)表、為工藝BOM的產(chǎn)生提供源數(shù)據(jù)、輸出到ERP系統(tǒng)中。
在產(chǎn)品設(shè)計(jì)階段的工藝編制階段,工藝人員借助設(shè)計(jì)BOM,進(jìn)行各個零部件的工藝加工信息的編制,如編制工藝路線、工藝規(guī)程、材料定額等,這些信息包含在各類工藝文件中,這些工藝文件在進(jìn)入PLM管理時也需提取工藝信息,以形成工藝BOM。從以上的PLM管理過程中可以看出,設(shè)計(jì)階段產(chǎn)生的各類圖樣、工藝文件在導(dǎo)入到PLM系統(tǒng)中進(jìn)行管理時,提取這些文件的內(nèi)部信息是個必要的過程,由于各類CAD的提取接口、數(shù)據(jù)結(jié)構(gòu)的差異,需要提供一個統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)和方法來供PLM系統(tǒng)使用。
1 提取器
在提取CAD文件時,PLM系統(tǒng)啟動統(tǒng)一的提取器,提取器識別出這個CAD文件的類型,根據(jù)文件類型啟動對應(yīng)的提取組件,如表1所示,各個提取組件使用了各個CAD API接口,提取組件提取出CAD文件內(nèi)部的數(shù)據(jù),這些數(shù)據(jù)在結(jié)構(gòu)、內(nèi)容上是千差萬別的,提取器需要將這些數(shù)據(jù)向統(tǒng)一的Result接口進(jìn)行轉(zhuǎn)換,一個Result代表了一個類型的數(shù)據(jù),如零部件、文檔、參數(shù)化配置等,Result和Result之間的關(guān)聯(lián)關(guān)系表述了零部件之間的裝配關(guān)系或者零部件和文檔之間的包含關(guān)系或者零部件的各個參數(shù)化配置等。
表1 提取器配置表
(1)提取組件配置定義在提取器配置定義中,提取器需要配置3D文件類型、提取組件之間的映射關(guān)系。
如表對應(yīng)于Prt、ASM的Pro/E文件,使用DLL文件ReadProE5.dll中的Retrieve函數(shù);對應(yīng)于3D文件格式為SldPrt、SldDrw、Sldasm的SolidWorks文件,使用DLL文件ReadSolidWorks.dll中的Retrieve3D函數(shù)。如果有其他的3D文件,可以通過提取器配置定義來增加或修改。
這類函數(shù)的輸入?yún)?shù)和輸出參數(shù)都相同,輸入?yún)?shù)是要提取的文件名,輸出參數(shù)是提取文件生成的Result結(jié)果集。
Result結(jié)果集是一個樹形層次結(jié)構(gòu),如圖1所示。
圖1 Result結(jié)果集樹形層次結(jié)構(gòu)
每一個Result結(jié)果集中都包括了它的子Result結(jié)果集,子結(jié)果集是一個數(shù)組對象,可以有多個,如果沒有子,則它的子結(jié)果集就為空。
(2)Result結(jié)果集的處理在提取CAD文件生成Result結(jié)果集后,提取器會對Result結(jié)果集進(jìn)行統(tǒng)一的處理,處理包含將Result包含的對象屬性進(jìn)行轉(zhuǎn)換、合并、清理以及將Result結(jié)果集轉(zhuǎn)換成設(shè)計(jì)BOM(或工藝BOM)。提取器需要將最終轉(zhuǎn)換生成的設(shè)計(jì)BOM(或工藝BOM)導(dǎo)入到PLM系統(tǒng)中,在PLM系統(tǒng)中可能已經(jīng)存在類似的BOM結(jié)構(gòu),提取器負(fù)責(zé)將要導(dǎo)入的BOM與PLM中已有的BOM進(jìn)行比較合并。如果兩個BOM中對象相同,但兩個對象不屬同一個產(chǎn)品則會形成借用關(guān)系,屬同一個產(chǎn)品的,直接進(jìn)行屬性合并;如果對象是新增的,則直接加到PLM中的BOM中。程序執(zhí)行流程如圖2所示。
圖2 提取器對Result結(jié)果集處理流程
提取器里的BOM與PLM中的BOM的相同對象的判斷是根據(jù)關(guān)鍵屬性來進(jìn)行的,每種對象類型定義不同的匹配屬性,比如零部件,可以定義物料編碼作為關(guān)鍵屬性,如果提取的零部件和PLM中的零部件物料編碼相同,則認(rèn)為這兩個零部件是同一個,此時提取器就可以根據(jù)前述的處理過程來生成借用關(guān)系或者進(jìn)行兩者的屬性合并。處理Result結(jié)果集是個遞歸遍歷的過程。
2 結(jié)語
CAD數(shù)據(jù)的統(tǒng)一信息提取著重解決不同CAD數(shù)據(jù)以一種統(tǒng)一的提取方式、統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)存儲實(shí)現(xiàn)與PLM系統(tǒng)的融合,這種統(tǒng)一方式同時具有良好的擴(kuò)展性,對于后續(xù)開發(fā)的CAD系統(tǒng)能夠?qū)崿F(xiàn)快速接入。
目前,2D文件根據(jù)其標(biāo)題欄和明細(xì)欄所包含的信息進(jìn)行提取已經(jīng)成熟,沒有太多難點(diǎn),但3D文件由于沒有標(biāo)題欄和信息欄,只能通過枚舉其實(shí)體結(jié)構(gòu)以及實(shí)體里包含的屬性來進(jìn)行信息提取,其難點(diǎn)在于需要掌握各個CAD軟件有關(guān)信息提取的API及其返回的數(shù)據(jù)結(jié)構(gòu),比較費(fèi)時費(fèi)力,另外由于3D文件包含的信息量很大,而PLM要提取的信息只是其中的一小部分,因此高的提取效率也成為一個難點(diǎn)。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:在PLM中CAD文件信息提取的統(tǒng)一方法
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/14019313414.html