我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁 > CAD新聞

PDM系統(tǒng)圖文檔入庫技術(shù)研究

時間:2011-02-26 19:31:04 來源:

引言

目前,CAD已經(jīng)在企業(yè)中得到了廣泛的應(yīng)用,并明顯地提高了設(shè)計能力和圖紙質(zhì)量,但工程師們在享受CAD帶來的好處的同時,不得不將大量的時間浪費在查找設(shè)計所需信息上,因此對于自動獲取電子圖文檔信息的需求變得越來越迫切。

在數(shù)據(jù)庫基礎(chǔ)上發(fā)展起來的產(chǎn)品數(shù)據(jù)管理(Product data management,簡稱PDM)技術(shù),可以將企業(yè)內(nèi)分布于各種系統(tǒng)和介質(zhì)中的關(guān)于產(chǎn)品及產(chǎn)品數(shù)據(jù)信息進行集成與管理,使得企業(yè)由過去的依賴紙質(zhì)文檔的管理轉(zhuǎn)變?yōu)檎嬲钠髽I(yè)信息化管理。PDM系統(tǒng)中的圖文檔管理的基本功能就是將圖文檔的基本信息(如圖號、名稱、材料等)進行人庫、編輯和查詢。這種方便快捷的圖文檔查詢和瀏覽功能是基于“圖檔人庫”功能,它可以將在使用PDM之前,工作過程中已經(jīng)生成的大量圖文檔錄人到數(shù)據(jù)庫中,是PDM圖文檔管理中的重要的功能之一。在這個過程中,圖文檔中用于文件查詢以及文件本身的屬性性質(zhì)的一些基本信息也同時錄人到數(shù)據(jù)庫中。

本文的工作就是要解決在圖文檔人庫存儲的過程中,文件中的基本信息如何處理的問題。

1、圖文檔的存儲方式

圖文檔在人庫存儲的過程中,為了使PDM系統(tǒng)對人庫后的文件能有效管理,要求圖檔的基本信息同時錄人,因此它的存儲方式一般分兩種:

一種方式是保持文件的完整性,這些文件中的數(shù)據(jù)不能與文件脫離,一旦脫離就失去意義,因此數(shù)據(jù)和文件要封裝在一起,然后存放在文件服務(wù)器上,即所謂的“打包”。

另一種方式是從文件中可以提取一些數(shù)據(jù),這些數(shù)據(jù)具有獨立的意義,將這些數(shù)據(jù)分門別類地放到數(shù)據(jù)庫中,以便對文件內(nèi)容進行檢索和統(tǒng)計,即所謂的“打散”。

PDM系統(tǒng)所管理的各種文檔的存儲方式各不相同。

(1)圖形文件中的各個元素沒有必要分別管理,只需將文件的整體,名稱代號以及標(biāo)題欄中的基本元素和特征參數(shù)放到數(shù)據(jù)庫中。

(2)數(shù)據(jù)文件中由相應(yīng)的應(yīng)用程序分析后產(chǎn)生的數(shù)據(jù)文件往往數(shù)據(jù)量大,可讀性差,對這樣的文件除了特征參數(shù)外,文件整體存儲。但是數(shù)據(jù)文件中產(chǎn)品定義信息中的數(shù)據(jù)可以作為屬性,就象關(guān)鍵字一樣便于用戶查詢有關(guān)文件,需要“打散”處理。

(3)文本文件記錄的各種技術(shù)要求,更改說明,使用方法中,除了個別特殊信息需要進行檢索和統(tǒng)計外,一般按整體管理。

(4)表格文件中像產(chǎn)品定義信息這樣的表格文件描述了產(chǎn)品部件或零件的各種屬性,是分類檢索的主要依據(jù)和匯總的主要對象,因此必須從文件中提取,然后“打散”,把它們分門別類的放到數(shù)據(jù)庫中。

其中的圖形文件,尤其是企業(yè)中大量使用的AutoCAD軟件所產(chǎn)生的CAD圖檔的讀取和信息處理是PDM圖檔人庫的重點,所以在此要重點分析一下CAD圖紙標(biāo)題欄中的圖號、設(shè)計者、創(chuàng)建日期、版本號及類型等信息的自動提取和人庫問題。

DWG作為AutoCAD的缺省文件格式,其內(nèi)部結(jié)構(gòu)尚未公開,但其DXF文件格式卻是用來進行數(shù)據(jù)交換的公開格式文件,通過讀取DXF類型的圖形交換文件讀取圖紙標(biāo)題欄的信息,實現(xiàn)信息批量人庫。

2、DXF文件結(jié)構(gòu)分析

DXF類型的圖形交換文件是具有專門格式的ASCII碼的文本文件,它比較好讀,易于被其它程序處理。主要用于實現(xiàn)高級語言編寫的程序與AutoCAD系統(tǒng)連接,或其他CAD系統(tǒng)與AutoCAD交換圖形文件如圖1所示。

newmaker.com

2.1DXF文件的總體結(jié)構(gòu)

DXF文件本質(zhì)上是由成對的代碼和與代碼關(guān)聯(lián)的值組成的。這些代碼(即組碼)不僅指出了其后組值的類型,而且與此組值配對。通過使用這些配對的組碼和組值,DXF文件被組織成區(qū)域,包括:HEADER(標(biāo)題)區(qū)域、CLASSES(類)區(qū)域、TABLES(表)區(qū)域、BLOCKS(塊)區(qū)域、ENTITIES(實體)區(qū)域、OBJECTS(對象)區(qū)域和EOF(文件結(jié)尾)。這些區(qū)域由記錄組成,而記錄又由依次排列的組碼和數(shù)據(jù)條目組成。在DXF文件中,每個組碼和每個數(shù)據(jù)條目都各占一行。

每個區(qū)域都是以一個其后跟隨著字符串SECTION的組碼0開始,接著是組碼2和表示區(qū)域名稱的字符串(例如HEADER)。每個區(qū)域都是由定義它的元素的組碼和組值組成。其后跟著字符串ENDSEC的組碼0表示該區(qū)域結(jié)束。如表1所示。

newmaker.com

2.2ENTITIES區(qū)域的作用

ENTITIES(實體)區(qū)域記錄了每個幾何實體的名稱及有關(guān)的幾何數(shù)據(jù),如ARC,CIRCLE,LINE,MTEXT及POINT等實體。圖形文件的圖形部分信息基本在這一段中描述。本文所研究的標(biāo)題欄中的文本信息即是用ENTITIES區(qū)域中的MTEXT(文本框)實體來描述。因此將重點分析一下MTEXT實體中的一些組碼和組值。

表1列出描述MTEXT的一些屬性,左邊為組碼,右邊的說明給出了它的具體含義。

由表1我們可以看到,組碼1的值代表了這個文本的字符串,讀出它的值,就可以得到這個文本信息。這個文本值對應(yīng)何種屬性,則由這個文本在圖中的位置即它的插人點來決定。如圖2所示,圖紙的標(biāo)題欄中的圖檔名稱,編號等信息固定在一個個矩形框中,讀出其插人點并判斷落在哪個矩形框中,那么這個字符串值就是相應(yīng)的圖檔屬性值。插人點的坐標(biāo)由組碼10和20的組值讀出。

newmaker.com

2.3HEADER區(qū)域的作用

為了確定矩形框的位置,我們需要確定一個基點,相對于基點的各個矩形框的位置就可以計算出來。通常我們?yōu)榱朔奖闫鹨姲堰@個基點定在標(biāo)題欄的最右下點,也即整個圖幅的右下點,這個點可以通過讀取DXF文件中HEADER區(qū)域中的代碼讀出這個點的x,y坐標(biāo)值。

表2列出這個區(qū)域中的一些組碼及說明。

newmaker.com

由表2我們可以看到,只要讀取DXF文件中$LIMMIN變量后的組碼10和20的值即可以得到圖幅的左下點坐標(biāo)值,同理可得到圖幅的右上點,有這兩個點就可以確定圖幅的最右下點,即標(biāo)題欄的基點。

3、程序的實現(xiàn)及流程圖

應(yīng)用程序采用VisualC++6.0語言開發(fā),VC語言提供了豐富的MFC類庫,使用者可以使用它的類庫,方便快捷的建立一些數(shù)據(jù)結(jié)構(gòu),比如用CPoint類定義基點,CRect類定義矩形區(qū)域。并可以運用CRect類中的成員函數(shù)PtInRect0判斷點是否落入矩形區(qū)域。

圖3為程序的總流程圖,需要先讀出基點,再定義模板,然后讀出文本信息。圖4為讀取基點的流程圖,求得的變量maxx和miny即為基點的x,y坐標(biāo),由此可以構(gòu)造基點類對象。

newmaker.com

newmaker.com

為了方便信息錄人數(shù)據(jù)庫,還定義了一個自定義的CBiaoTiLanMod類,它的成員變量是文本框矩形類和兩個文本字符串,分別表示矩形框和它所包含的屬性名及文本值(定義略)。

根據(jù)基點和圖2提供的尺寸,創(chuàng)建標(biāo)題欄模板類對象組,以分別表示各個矩形區(qū)域和落人這個區(qū)域所對應(yīng)的文本值。程序讀出DXF文件中的文本框的值,并根據(jù)插人點判斷落人哪個對象的矩形區(qū)域后,將文本值賦予此對象的成員變量Text2,隨后將Text2存人相應(yīng)的數(shù)據(jù)庫表中。信息的錄人工作就可以完成了。

4、結(jié)論

本文提出在開發(fā)PDM系統(tǒng)“圖檔人庫”功能的過程中,圖形文件,數(shù)據(jù)文件,文本文件以及表格文件所采取的不同的文件存儲方式,并重點解決圖形文件人庫后圖檔對象的名稱、圖號、設(shè)計者等屬性的自動生成的問題。通過分析DXF文件結(jié)構(gòu),讀取DXF文件結(jié)構(gòu)的CAD圖紙中的標(biāo)題欄信息,從而將電子圖紙中的標(biāo)題欄信息自動提取人庫,并成功的運用到實際操作中。