基于設(shè)計(jì)環(huán)境的圖紙BOM管理系統(tǒng)(一)
1.2.2 圖紙的批量錄入
圖紙管理以“項(xiàng)目”為劃分,每個(gè)“項(xiàng)目”的圖紙都可以批量錄入,指定文件夾或是多個(gè)dwg文件都可以。對(duì)于單張圖紙的錄入過程如圖3所示,圖紙的批量錄入是循環(huán)執(zhí)行單張錄入的過程。
圖3 單張圖紙的錄入過程
圖3“遍歷圖紙”是對(duì)圖紙中所有實(shí)體的迭代過程,從中找出標(biāo)題欄和明細(xì)表,然后對(duì)整個(gè)標(biāo)題欄和明細(xì)表的數(shù)據(jù)進(jìn)行讀取,這是圖紙數(shù)據(jù)讀取的關(guān)鍵部分。對(duì)圖紙數(shù)據(jù)的讀取主要有3種方法:“模板匹配法”、“塊屬性定義”和“圖紙屬性定義文件”。其中,“模板匹配法”要求現(xiàn)有的圖形和預(yù)先定義的模板的形式完全一致,這樣就可以根據(jù)模板中的位置來提取圖紙中的數(shù)據(jù),該方法主要用于一些格式比較固定的純表格類數(shù)據(jù)的提取,對(duì)圖紙的要求非常嚴(yán)格;“塊屬性定義”是現(xiàn)在用的非常廣的一種圖紙數(shù)據(jù)提取方法,在AutoCAD中提供一種塊編輯器功能,可以對(duì)圖塊進(jìn)行屬性定義或是在圖塊中填寫擴(kuò)展數(shù)據(jù)來標(biāo)識(shí)圖形,在獲取數(shù)據(jù)時(shí)對(duì)圖紙進(jìn)行遍歷,找到之前定義的屬性塊,這樣就可以通過定義的屬性提取出填寫在圖紙中的數(shù)據(jù);“圖紙屬性定義文件”則主要適合一些自由表格圖形的數(shù)據(jù)提取,通過在屬性表中定義的圖紙屬性和相應(yīng)的相對(duì)坐標(biāo)及坐標(biāo)偏移量就可以找到一個(gè)包容盒,這樣包容盒中的文字?jǐn)?shù)據(jù)就可以很方便的提取了。這里,系統(tǒng)提供了“塊屬性定義”和“圖紙屬性定義文件”這兩種方法來提取圖紙數(shù)據(jù)。下面主要是以“塊屬性定義”為例,圖紙中標(biāo)題欄和明細(xì)表都被定義成帶屬性的塊,完整定義信息是由定義文件和保存在圖塊中的擴(kuò)展數(shù)據(jù)組成的。圖紙的遍歷僅執(zhí)行一次,遍歷的算法過程如圖4所示。
圖4 圖紙的遍歷過程
“讀取標(biāo)題欄信息是否成功”,是檢查遍歷的圖紙的結(jié)果中是否存在標(biāo)題欄的ID,如果存在則讀取標(biāo)題欄中保存的擴(kuò)展數(shù)據(jù),找到相應(yīng)的定義文件,定義文件中保存了標(biāo)題欄的字段的定義信息,然后根據(jù)定義信息可以得到標(biāo)題欄中各個(gè)字段的填寫區(qū)域,從而可以獲取到標(biāo)題欄中填寫的所有信息,例如:圖號(hào)、名稱、圖幅等。“讀取明細(xì)表信息是否成功”的過程也是類似的。程序的基本流程圖如圖5所示。
圖5 讀取標(biāo)題欄定義的過程
“檢查是否存在遞歸包含”的作用是檢查一張圖紙是否在明細(xì)表中又包含了自己,如果存在遞歸包含則不會(huì)被添加到圖庫(kù)中,因?yàn)檫@在輸出產(chǎn)品結(jié)構(gòu)樹時(shí)會(huì)引起一個(gè)類似死循環(huán)的結(jié)構(gòu)。如果要添加的文件已經(jīng)存在圖紙數(shù)據(jù)庫(kù)中,則刪除原來已經(jīng)保存在數(shù)據(jù)庫(kù)中的相關(guān)圖紙信息,重新添加一次。
1.2.3 產(chǎn)品結(jié)構(gòu)樹輸出
在圖紙的標(biāo)題欄和明細(xì)表信息的錄入時(shí),系統(tǒng)會(huì)在圖庫(kù)數(shù)據(jù)庫(kù)中新建1個(gè)“圖紙關(guān)系表”(如果已經(jīng)存在,則或刪除重建),用來管理錄入圖庫(kù)中的圖紙之間的關(guān)系。“圖紙關(guān)系表”中主要記錄了3個(gè)字段:項(xiàng)目ID(根據(jù)項(xiàng)目新建的順序,從1開始順序取值)、圖紙ID(按照?qǐng)D紙?zhí)砑拥捻樞颍瑥?開始順序取值)、父圖紙ID。圖紙的父子關(guān)系主要是根據(jù)圖紙中的明細(xì)表的引用關(guān)系來確定的:如果a圖紙的明細(xì)表中引用了b圖紙,則認(rèn)為b圖是a圖的零件,a圖是b圖的父親。產(chǎn)品結(jié)構(gòu)樹的輸出過程如圖6所示。
圖6 產(chǎn)品結(jié)構(gòu)樹輸出過程
“建立文檔父子關(guān)系”是產(chǎn)品結(jié)構(gòu)樹的關(guān)鍵步驟,其過程主要分為3步:
1)從“圖紙信息表”中獲取圖紙ID;
2)根據(jù)圖紙ID在相應(yīng)的“明細(xì)表信息表”中查詢?cè)搱D紙明細(xì)表中所引用的圖紙的ID,保存到一個(gè)數(shù)組中;
3)根據(jù)獲得的圖紙ID數(shù)組逐個(gè)的查詢,這樣就得到了文檔的父子關(guān)系,然后添加到“圖紙關(guān)系表”中;“檢查是否存在遞歸包含”的依據(jù)是“圖紙關(guān)系表”中圖紙ID和其父圖ID是否相等,如果相等,則認(rèn)為是存在遞歸包含,不相等接著進(jìn)行下一步,插入到結(jié)構(gòu)樹的相應(yīng)位置進(jìn)行顯示。
1.2.4 BOM報(bào)表輸出
BOM報(bào)表可以輸出多種格式:txt、xls、dbf和dwg。圖紙的數(shù)據(jù)包含標(biāo)題欄和明細(xì)表信息,數(shù)據(jù)按照產(chǎn)品結(jié)構(gòu)樹的層次來輸出。BOM報(bào)表輸出的數(shù)據(jù)來自“產(chǎn)品結(jié)構(gòu)信息”表,這個(gè)表中的數(shù)據(jù)是“圖紙信息表”和“明細(xì)表信息表”的綜合,包含的數(shù)據(jù)量非常大,考慮到整個(gè)系統(tǒng)的性能,“產(chǎn)品結(jié)構(gòu)信息”表不會(huì)自動(dòng)刷新,用戶在需要時(shí)手動(dòng)刷新。txt、xls和dbf格式都是按照順序直接寫出數(shù)據(jù),是比較通用的格式,而dwg格式報(bào)表則是把數(shù)據(jù)填寫在dwg格式的表格中,這是很多管理軟件沒有的報(bào)表格式,dwg格式的報(bào)表在工業(yè)實(shí)際中應(yīng)用非常廣泛,符合設(shè)計(jì)人員的使用習(xí)慣,方便修改和維護(hù)。dwg格式報(bào)表需要預(yù)先定義一個(gè)報(bào)表格式和相應(yīng)的表格定義文件,系統(tǒng)會(huì)根據(jù)dwg表格模板和定義文件中定義的字段選擇性的提取“產(chǎn)品結(jié)構(gòu)信息”表中的數(shù)據(jù)填寫到表格中,從而輸出dwg報(bào)表。
2 圖紙BOM管理系統(tǒng)實(shí)例
圖紙BOM管理首先是要建立圖庫(kù)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中主要包含圖紙的定義信息,和各個(gè)用于存儲(chǔ)圖紙信息的數(shù)據(jù)表,這些信息都是以后圖紙的信息提取和保存的基礎(chǔ)。然后可以新建項(xiàng)目、添加圖紙,新建的項(xiàng)目和添加的圖紙信息都會(huì)被保存到先前建立的數(shù)據(jù)庫(kù)中,系統(tǒng)最終會(huì)根據(jù)圖紙的信息生成一個(gè)產(chǎn)品結(jié)構(gòu)樹,可以對(duì)樹中的任意一張圖紙進(jìn)行查看,填寫等操作,對(duì)于每個(gè)項(xiàng)目都可以輸出報(bào)表,選擇輸出報(bào)表,可以得到如表1所示的報(bào)表數(shù)據(jù)。
表1 報(bào)表數(shù)據(jù)
針對(duì)這個(gè)網(wǎng)格中數(shù)據(jù),可以輸出成多種格式:txt、dbf和dwg。對(duì)于dwg格式的報(bào)表需要預(yù)先定制好輸出的表格形式,表2是輸出的dwg報(bào)表。
表2 輸出dwg報(bào)表
3 結(jié)束語(yǔ)
圖紙BOM管理系統(tǒng)已經(jīng)在多個(gè)企業(yè)使用,如:成都成工工程機(jī)械有限公司等,系統(tǒng)直接集成在CAD環(huán)境中,操作簡(jiǎn)單直觀,符合設(shè)計(jì)人員的使用習(xí)慣,提高了圖紙數(shù)據(jù)的重復(fù)利用率,減少了設(shè)計(jì)者的重復(fù)勞動(dòng),得到了用戶的一致好評(píng)。未來該圖紙BOM管理可以朝著網(wǎng)絡(luò)協(xié)同方面發(fā)展,實(shí)現(xiàn)多用戶并行工作和圖紙數(shù)據(jù)的完全共享,這將又會(huì)是一次大的飛躍。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于設(shè)計(jì)環(huán)境的圖紙BOM管理系統(tǒng)(二)
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401936686.html