CAD/CAPP/CAM集成的基礎(chǔ)是建立統(tǒng)一的產(chǎn)品定義模型。幾年來的實踐表明,基于特征的建模技術(shù)正成為實施CAD/CAPP/CAM一體化最有效的建模方法之一。傳統(tǒng)的CAD系統(tǒng)一般只能提供產(chǎn)品的幾何模型,因此,如何將幾何模型轉(zhuǎn)換為特征模型已成為CAD/CAPP/CAM集成的關(guān)鍵。實現(xiàn)這種模型有兩種方法——交互式特征定義和特征識別。前者采用的是人機(jī)交互式,獲得的特征模型可信度較高,但輸入費時,實用效率低。后者的自動化程度較高,實現(xiàn)較為困難。本文通過解析DXF圖形文件格式實現(xiàn)CAD/CAPP集成。
一、DXF文件格式分析
DXF文件由標(biāo)題段、表段、塊段、實體段和文件結(jié)束段5部分組成,其內(nèi)容如下。
☆標(biāo)題段(HEADER)標(biāo)題段記錄AutoCAD系統(tǒng)的所有標(biāo)題變量的當(dāng)前值或當(dāng)前狀態(tài)。標(biāo)題變量記錄了AutoCAD系統(tǒng)的當(dāng)前工作環(huán)境,如SNAP捕捉當(dāng)前狀態(tài)、柵格間距式樣、當(dāng)前圖層層名及線型、顏色等。
☆表段(TABLES)表段共包含4個表,每個表又包含可變數(shù)目的表項。這些表在文件中出現(xiàn)的順序是線型表(LTYPE)、圖層表(LAYER)、字樣表(STYLE)、視圖表(VIEW)。
☆塊段(BLOCK)塊段記錄了所用塊的塊名,當(dāng)前圖層層名、塊的種類、塊的插入基點及組成該塊的所有成員。塊的種類分為圖形塊、帶有屬性的塊和無名塊三種。無名塊包括用HATCH命令生成的剖面線和用DIM命令所完成的尺寸標(biāo)準(zhǔn)。
☆實體段(ENTITIES)實體段記錄了每個實體的名稱、所在圖層及其名字、線型、顏色等。
☆文件結(jié)束段(EOF OF FILE)DXF文件的結(jié)束標(biāo)志。
一個DXF文件由若干個組構(gòu)成,每個組占兩行,第一行為組的代碼,第二行為組值。組代碼相當(dāng)于數(shù)據(jù)類型的代碼,它由CAD圖形系統(tǒng)所規(guī)定,而組值為具體的數(shù)值,二者結(jié)合起來表示一個數(shù)據(jù)的含義和值。例如,代碼10代表一個點的X坐標(biāo),占一行,而其第二行4.5425則是點X坐標(biāo)的具體數(shù)值,二者結(jié)合表示一點,其X坐標(biāo)值為4.5425。
(1)組代碼和組值的類型組代碼為一個非負(fù)的不超過三位的整數(shù),而組值由組代碼的類型決定。例如:
代碼0~9組值類型為字符型。
代碼10~59組值類型為實型。
代碼60~79組值類型為整型。
代碼999表示解釋行。
(2)組代碼的含義每個組代碼均有規(guī)定的含義,有些代碼含義是固定的,而有些組代碼則因應(yīng)用場合不同而有多個含義,應(yīng)具體分析。另外,一些代碼是備用的,目前版本尚未用到,現(xiàn)將他們的含義舉例介紹如下。
0:表示一個事物的開始,如一個塊、表、圖層、實體等。
1:字符型數(shù)據(jù)的值,如TEXT的字符串、文件名、屬性值等。
2:一個事物的名字,如段、表、塊、線型、視圖等的名字。
3~5:字符型數(shù)據(jù)的值,如文件名、線型說明等。
6:線型名(固定類型)。
8:圖層名(固定類型)。
關(guān)于實體的坐標(biāo)與相應(yīng)的組代碼10~18、20~28、30~38的用法應(yīng)根據(jù)實體所用到點的數(shù)量,按組代碼個位的0、1、2、……的順序使用。例如LINE的起點組代碼為10、20、30,而11、21、31為其終點。其他類似。
DXF文件的結(jié)構(gòu)相當(dāng)復(fù)雜,完整讀取DXF文件也是一項異常繁瑣的工程。在實際應(yīng)用中,為了提取圖形的實體信息,可以省略DXF文件中的許多項,只要獲取其中的層表、塊段和實體段,就可以完成相應(yīng)幾何圖形的描述。在層表中說明每一層的顏色、線型,在塊段中說明塊所在的層、屬性及其在圖形中的位置,在實體段中說明直線的起點、終點及圓的圓心、半徑等幾何信息和各實體所在的層。根據(jù)實體所在的層,在層表中搜索每一層的顏色、線型并將其添加到實體對象中。在利用CAD進(jìn)行繪圖時,需將變量參數(shù)DIMASO設(shè)為ON,以保證塊段中定義的尺寸塊為一個整體,并可被正確無誤地獲取。根據(jù)尺寸類型名、尺寸定義的起點、終點坐標(biāo)與實體類型名、實體空間坐標(biāo)是否匹配,對實體對象進(jìn)行尺寸附加。在繪圖時,如對自定義的粗糙度、形位公差等塊不進(jìn)行“EXPLODE”炸開操作,也可通過增加相應(yīng)讀取函數(shù)提取其屬性。
下面舉例說明實體段在DXF文件中的格式。
圓。ˋRC)
0(開始)ARC(圓弧)
8(層的組碼)
W1(層名為“W1”)
10(圓弧圓心的X坐標(biāo)組碼)
7.0(圓弧圓心的X坐標(biāo)組值)
20(圓弧圓心的Y坐標(biāo)組碼)
9.0(圓弧圓心的Y坐標(biāo)組值)
30(圓弧圓心的Z坐標(biāo)組碼)
0.0(圓弧圓心的Z坐標(biāo)組值)
40(圓弧的半徑組碼)
25.0(圓弧的半徑值)
50(圓弧的起始角度組碼)
90.0(圓弧的起始角度值)
51(圓弧的終止角度組碼)
180.0(圓弧的終止角度組值)
若實體的線型用BYLAYER,顏色為256(即BYLAYER),基面高度和厚度為零,其格式可簡化。
對于其他圖形實體的格式描述(LINE、CIRCLE、TEXT等),這里就不再一一詳述了。
二、幾何圖形實體信息的提取
生成DXF文件必須首先進(jìn)入圖形編輯環(huán)境,在命令(Command)提示下鍵入DXFOUT,回答所需的一個文件名后,即把內(nèi)部壓縮格式的圖形數(shù)據(jù)轉(zhuǎn)換為ASCⅡ的數(shù)據(jù)并寫入相應(yīng)DXF文件(以DXF為擴(kuò)展名)中,供應(yīng)用程序提取并處理實體數(shù)據(jù)。
三、幾何圖形描述的數(shù)據(jù)結(jié)構(gòu)
通過對CAD系統(tǒng)的DXF圖形交換文件進(jìn)行分析,可以得到描述零件的全部幾何圖形元素。為簡化問題,設(shè)定組成零件內(nèi)外輪廓的圖形元素只包括點、直線和圓弧,并分別用下列數(shù)據(jù)結(jié)構(gòu)表示。
點:class POINT { flOAt x;float y;float z;}虛基類:class SHAPE{ //由虛基類派生出直線、圓弧,便于鏈表操作public:
virtual void showEntity()=0;//表示此函數(shù)在派生類中必須定義……//在此定義其他虛函數(shù)} 直線:class LINE:public SHAPE,public POINT{ public://直線類由兩個基類SHAPE和POINT派生而來POINT start_point;//直線起點POINT end_point;//直線終點……//在此定義其他內(nèi)部變量和函數(shù)}圓。篶lass ARC:public SHAPE,public POINT{ public://圓弧類由兩個基類SHAPE和POINT派生而來POINT center_point;//圓弧圓心POINT start_point;//圓弧起點POINT end_point;//圓弧終點float radius;//圓弧半徑……//在此定義其他內(nèi)部變量和函數(shù)}結(jié)點:struct Node //定義結(jié)點,便于鏈表內(nèi)部刪除,增加和修改{SHAPE *Item;//內(nèi)容域Node *llink;//左指針Node *rlink;//右指針} 鏈表:class LIST { //鏈表類private:
Node *head;//結(jié)點頭指針public:
LIST();//構(gòu)造函數(shù),進(jìn)行變量初始化void~LIST();//析構(gòu)函數(shù),釋放內(nèi)存void addEntity(SHAPE *);//定義增加圖形元素的函數(shù)……//在此定義其他函數(shù)}由此,回轉(zhuǎn)體零件的幾何圖形元素不難用上述數(shù)據(jù)結(jié)構(gòu)以線性鏈表進(jìn)行存儲。完整的特征識別系統(tǒng)不僅僅包含幾何信息,還要包括加工工藝信息,而常用的幾何造型CAD系統(tǒng)并不提供后者。為此,我們在AutoCAD系統(tǒng)中定義了一套工藝信息塊,其全部以圖形文件塊的形式存儲,這些信息包括:形狀公差(直線度、平面度、圓度、圓柱度、線輪廓度和面輪廓度)、位置公差(平行度、垂直度、傾斜度、同軸度、對稱度、位置度、圓跳動和全跳動)、表面粗糙度和基準(zhǔn)等。
四、小結(jié)
本文首先介紹了DXF文件的結(jié)構(gòu),分析組值和組代碼的含義,然后說明讀取DXF文件的方法,最后簡單介紹了實現(xiàn)此功能模塊的數(shù)據(jù)結(jié)構(gòu)。該方法在回轉(zhuǎn)類零件CAD/CAPP集成系統(tǒng)中的使用取得了較好的效果。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(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)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:CAD/CAPP集成的方法實踐
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401938990.html