張應(yīng)中, 羅曉芳, 喬 磊
(大連理工大學(xué)機(jī)械工程學(xué)院,遼寧 大連 116024)
AutoCAD與ParaSolid三維邊界模型信息直接交換
張應(yīng)中, 羅曉芳, 喬 磊
(大連理工大學(xué)機(jī)械工程學(xué)院,遼寧 大連 116024)
對(duì) ACIS和 ParaSolid的三維實(shí)體邊界表達(dá)數(shù)據(jù)結(jié)構(gòu)進(jìn)行分析,基于DwgDirect接口技術(shù),直接打開(kāi)AutoCAD的DWG文件,對(duì)AutoCAD的DWG文件中基于ACIS的三維實(shí)體邊界信息遍歷,獲取實(shí)體邊界的拓?fù)湫畔⒑蛶缀涡畔ⅲ换赑araSolid提供的API開(kāi)發(fā)函數(shù),通過(guò)實(shí)體拓?fù)錁?gòu)造、實(shí)體幾何構(gòu)造和幾何與拓?fù)涓綄訇P(guān)聯(lián),實(shí)現(xiàn)AutoCAD與ParaSolid三維邊界模型的直接交換。最后給出一個(gè)直接交換實(shí)例。
計(jì)算機(jī)應(yīng)用;AutoCAD;ParaSolid;三維邊界模型;直接交換
AutoCAD是目前應(yīng)用最廣泛的二維CAD平臺(tái),AutoCAD從R11開(kāi)始具有三維實(shí)體模型,從 R13開(kāi)始采用 ACIS幾何核心來(lái)構(gòu)造三維實(shí)體,隨著版本不斷升級(jí),三維造型功能日益強(qiáng)大,并且得到廣泛的應(yīng)用。ParaSolid是目前國(guó)際上最為成熟,應(yīng)用最廣的幾何造型內(nèi)核,CAD中著名的 UG、SolidWorks、SolidEdge等都是以ParaSolid作為幾何造型內(nèi)核;CAM和CAE中大部分軟件系統(tǒng)都支持 ParaSolid的數(shù)據(jù)格式。研究和實(shí)現(xiàn)AutoCAD與ParaSolid三維邊界模型信息交換有重要的實(shí)際意義。
異構(gòu)環(huán)境下,三維邊界模型信息交換方法目前普遍采用的是基于中間文件[1-2],為此制定和形成一些國(guó)際標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn),例如 IGES、DXF和STEP等?;谥虚g文件交換要求系統(tǒng)具備能生成符合標(biāo)準(zhǔn)的中間文件功能,并且存在信息丟失,操作煩瑣,效率低問(wèn)題,由于AutoCAD系統(tǒng)的支持信息交換能力不強(qiáng),造成基于AutoCAD系統(tǒng)的三維實(shí)體信息資源不能實(shí)現(xiàn)有效的交換。
本文基于DWGDirect技術(shù),直接打開(kāi)DWG圖紙,搜索和遍歷AutoCAD中基于ACIS的三維實(shí)體邊界幾何和拓?fù)湫畔?,通過(guò) ParaSolid的邊界拓?fù)溆成洌苯由?PrarSolid三維邊界實(shí)體,實(shí)現(xiàn)AutoCAD與ParaSolid三維邊界模型的直接交換。
邊界表達(dá)(B-reps)是三維實(shí)體模型最基本的表達(dá)方法,是將形體表達(dá)為它的有限數(shù)量的邊界表面的集合。表面可能是平面,也可能是曲面,每個(gè)表面又可用它的邊界的邊及頂點(diǎn)表示。B-rep中信息分為兩類:一類是幾何數(shù)據(jù),描述形體的大小、尺寸、位置、形狀等;另一類是拓?fù)湫畔?,拓?fù)涫茄芯繄D形在形變與伸縮下保持不變的空間性質(zhì)的一個(gè)數(shù)學(xué)分支。拓?fù)渲魂P(guān)心圖形內(nèi)相對(duì)位置關(guān)系,不問(wèn)它的大小與形狀。在B-rep中拓?fù)湫畔⑹侵赣脕?lái)說(shuō)明體、面、邊及頂點(diǎn)之間連接關(guān)系的一類信息。
ParaSolid 是美國(guó)UGS公司的一個(gè)業(yè)界領(lǐng)先的幾何實(shí)體建模內(nèi)核,其拓?fù)鋵?shí)體定義如下[3]:
(1) 體(Body) 體是ParaSolid中一種基本形體,可以由一個(gè)或多個(gè)簡(jiǎn)單形體連接組合而成。它有以下幾種形式:Acorn:孤立點(diǎn),Wire:線框,Sheet:薄板,Solid:立體,General:一般形體。
(2) 區(qū)域(Region) 區(qū)域是一個(gè)開(kāi)放的三維空間的連通子集,它的邊界是一系列的點(diǎn)、邊和有向面。
(3) 殼(Shell) 殼是一系列有向面和邊的集合,面的一面或雙面都可以被外殼引用。外殼的組成:面和方向邏輯的集合;邊的集合;單個(gè)的頂點(diǎn)。
(4) 面(Face) 是一個(gè)曲面的有界集合,它的邊界是若干個(gè)環(huán),是一個(gè)二維的區(qū)域。邊界為零個(gè)環(huán)的面構(gòu)成一個(gè)封閉的實(shí)體,如一個(gè)球面。
(5) 環(huán)(Loop) 是一個(gè)面的邊界,是一個(gè)連接的二維實(shí)體。一個(gè)環(huán)在一個(gè)方向上不能通過(guò)一條邊兩次。環(huán)的方向是這樣規(guī)定的:沿該環(huán)的方向前進(jìn),面在左邊。
(6) 翼(Fin) 表示一條邊在環(huán)中的方向。它包含兩個(gè)數(shù)據(jù):一個(gè)是邏輯值,表示邊與環(huán)是否同向;另一個(gè)數(shù)據(jù)是在該條邊具有不同的局部精度時(shí),邊所依附的曲線。
(7) 邊(Edge) 是一條曲線上有界的一段,它的邊界是零個(gè)、一個(gè)或兩個(gè)頂點(diǎn)。邊是一個(gè)一維區(qū)域。
(8) 頂點(diǎn)(Vertex) 頂點(diǎn)表示空間中的一個(gè)點(diǎn),是一個(gè)零維的區(qū)域。
ParaSolid幾何實(shí)體分為基本幾何實(shí)體和構(gòu)造幾何實(shí)體,都具有三種類型:Surface曲面、Curve曲線和Point點(diǎn)。Surface曲面主要依附于拓?fù)?Face面,典型曲面有:平面、圓柱面、圓錐面、圓環(huán)面、球面、過(guò)渡曲面、樣條曲面、異構(gòu)幾何曲面、偏移曲面、掃描曲面和旋轉(zhuǎn)曲面;Curve曲線主要依附于拓?fù)?Edge邊,典型曲線有:直線、圓、橢圓、B樣條曲線、一般樣條曲線、異構(gòu)幾何曲線。
基本幾何實(shí)體依附在對(duì)應(yīng)的拓?fù)潴w上,構(gòu)造幾何實(shí)體是新創(chuàng)建的還沒(méi)有附屬關(guān)聯(lián)的幾何實(shí)體,都可以表達(dá)為Body體。ParaSolid幾何實(shí)體與拓?fù)鋵?shí)體關(guān)系如圖1所示。
圖1 ParaSolid幾何實(shí)體與拓?fù)鋵?shí)體關(guān)系
ACIS是美國(guó) STI公司(Spatial Technology Inc.)推出的具有開(kāi)放式軟件體系結(jié)構(gòu)的實(shí)體造型軟件開(kāi)發(fā)平臺(tái)。ACIS的邊界模型也是表達(dá)為拓?fù)浔硎竞蛶缀伪硎?,拓?fù)浣Y(jié)構(gòu)按層次從上到下分解成下列對(duì)象[4]:體(Body)、塊(Lump),表示空間一個(gè)有邊界的相互連通的區(qū)域;殼(Shell)、面(Face)、環(huán)(Loop)、有向邊(Coedge)、邊(Edge)、頂點(diǎn)(Vertex)。其幾何表達(dá)類型和拓?fù)湫畔㈥P(guān)系與上述ParaSolid基本類似。
AutoCAD圖形保存的缺省文件是 DWG文件,DWG是一個(gè)壓縮格式未公開(kāi)的二進(jìn)制格式文件,目前CAD圖紙絕大部分是以DWG格式存貯。能直接打開(kāi)DWG圖紙,并且能搜索和遍歷出ACIS三維邊界幾何和拓?fù)湫畔⑹菍?shí)現(xiàn)直接交換的基礎(chǔ)。
DWGdirect是由開(kāi)放設(shè)計(jì)協(xié)會(huì)(Open Design Alliance)推出的用于獨(dú)立于 AutoCAD平臺(tái)之外訪問(wèn)DWG文件接口,目前已被國(guó)際上眾多公司所接受。本文采用 DWGdirect接口訪問(wèn)和搜索DWG文件中基于ACIS的三維實(shí)體邊界幾何和拓?fù)湫畔ⅰ?/p>
在DWGDirect中,DWG文件的圖形實(shí)體數(shù)據(jù)在內(nèi)存中由一個(gè) OdDbDatabase類的實(shí)例表示[5],并且提供了一個(gè)可以訪問(wèn)其圖形數(shù)據(jù)庫(kù)實(shí)體對(duì)象的塊表記錄遍歷迭代器(OdDbBlock TableRecordIterator),通過(guò)該迭代器可以遍歷存儲(chǔ)在塊表空間中的各種實(shí)體圖形,如二維的直線段、圓弧、圓,三維的圓柱面、圓錐面、球面和三維實(shí)體等。
三維實(shí)體元素是OdDb3dSolid類一個(gè)實(shí)例,OdDb3dSolid類是從 OdDbEntity類派生而來(lái),OdDbEntity類是數(shù)據(jù)庫(kù)實(shí)例中所有繪圖對(duì)象的基類。同時(shí),在DWGdirect中還提供了一個(gè)通用幾何類 OdGe類和用于邊界表示的 OdBr類。OdGe類是用來(lái)實(shí)現(xiàn)2D和3D幾何對(duì)象操作的。OdBr庫(kù)是一個(gè)邊界表示庫(kù),允許用戶以只讀的方式去訪問(wèn)ACIS所創(chuàng)建的用邊界表示法表示的實(shí)體,這類實(shí)體指的是OdDb3dSolid類的對(duì)象。
OdBr庫(kù)中提供了一個(gè)用來(lái)定義實(shí)體邊界表示的拓?fù)鋵?duì)象的接口類OdBrEntity。它的結(jié)構(gòu)層次如圖2(a)所示。OdBrEntity類是Brep結(jié)構(gòu)抽象類;OdBrBrep類是Brep實(shí)體邊界類,它是提供在OdDb3dSoid實(shí)體中對(duì)ACIS實(shí)體數(shù)據(jù)的Brep結(jié)構(gòu)進(jìn)行遍歷的最高層。
OdGe庫(kù)中提供一個(gè)OdGeEntity3d類,它是所有OdGe類的幾何對(duì)象的基類。它的結(jié)構(gòu)層次如圖2(b)所示。
DWGdirect定義一個(gè)訪問(wèn)ACIS邊界數(shù)據(jù)結(jié)構(gòu)的接口 OdBrBrep類,通過(guò) OdBrBrep為OdDb3dSolid實(shí)例對(duì)象和ACIS邊界之間建立聯(lián)系。同時(shí)還定義了遍歷訪問(wèn)ACIS邊界拓?fù)浣Y(jié)構(gòu)的遍歷器(traverser)類,可以遍歷訪問(wèn)ACIS邊界的殼、面、環(huán)、邊、點(diǎn)拓?fù)湫畔⒑蛶缀涡畔?。?duì)每一個(gè)OdDb3dSolid三維實(shí)體對(duì)象,其實(shí)現(xiàn)步驟如下:
(1) 創(chuàng)建 OdBrBrep實(shí)例對(duì)象,通過(guò)OdDb3dSolid類的成員函數(shù) brep (OdBrBrep&brep)賦值;
(2) 定義拓?fù)浔闅v器,自頂向下遍歷ACIS邊界拓?fù)浣Y(jié)構(gòu)樹(shù)。拓?fù)浔闅v器的定義是按照殼、面、環(huán)、邊、點(diǎn)自上而下拓?fù)漤樞蚍謩e定義,即通過(guò)OdBrBrep實(shí)例定義殼拓?fù)浔闅v器,拓?fù)浔闅v三維實(shí)體對(duì)象所有殼拓?fù)?,通過(guò)殼拓?fù)湫畔⒍x面拓?fù)浔闅v器,拓?fù)浔闅v殼對(duì)象所有面拓?fù)湫畔?,通過(guò)面拓?fù)湫畔⒍x環(huán)拓?fù)浔闅v器,拓?fù)浔闅v面對(duì)象所有環(huán)拓?fù)湫畔?,依次遍歷下去,從而獲取實(shí)體邊界所有拓?fù)浜蛶缀涡畔ⅰ?/p>
圖2 DWGdirect 實(shí)體邊界表示結(jié)構(gòu)
ParaSolid采用與ACIS相類似的實(shí)體邊界表示,同時(shí)ParaSolid提供一個(gè)API函數(shù),可以直接構(gòu)造出 ParaSolid實(shí)體的拓?fù)浣Y(jié)構(gòu)。盡管ParaSolid與ACIS實(shí)體邊界表示有些差別,通過(guò)拓?fù)溆成涞姆绞?,完全可以將上述獲取的 ACIS邊界數(shù)據(jù)通過(guò)以下步驟重新構(gòu)造出 ParaSolid實(shí)體邊界。
實(shí)體邊界映射構(gòu)造主要涉及三個(gè)步驟:拓?fù)錁?gòu)造;創(chuàng)建幾何數(shù)據(jù);關(guān)聯(lián)拓?fù)渑c幾何數(shù)據(jù)。為了保證幾何造型的可靠性與正確性,構(gòu)造的實(shí)體要滿足正則拓?fù)鋵?shí)體的要求:正則形體不能有懸邊、懸線、懸面等等,同時(shí)還需要精度誤差進(jìn)行控制。
3.1.1 ParaSolid拓?fù)錁?gòu)造API函數(shù)
在ParaSolid中提供了一個(gè)拓?fù)錁?gòu)造API函數(shù)PK_BODY_create_solid_topology,用來(lái)創(chuàng)建實(shí)體的拓?fù)?。函?shù)的具體形式是[3]:
上述參數(shù)中classes[ ]數(shù)組描述構(gòu)造那些拓?fù)鋵?shí)體,拓?fù)鋵?shí)體類型通過(guò) PK_CLASS_body,PK_CLASS_shell, PK_CLASS_face,PK_CLASS_loop, PK_CLASS_edge,PK_CLASS_vertex表達(dá)體、殼、面、環(huán)、邊和點(diǎn)。
parents[ ]、children[ ]和 senses[ ] 三個(gè)數(shù)組定義拓?fù)湓馗缸又g的關(guān)系,例如殼面關(guān)系、面環(huán)關(guān)系、環(huán)邊關(guān)系等。通過(guò)拓?fù)湓馗缸又g的關(guān)系定義,將classes[ ]數(shù)組描述構(gòu)造的拓?fù)鋵?shí)體關(guān)系聯(lián)系起來(lái),形成完整的實(shí)體拓?fù)浣Y(jié)構(gòu)。
拓?fù)湓丶案缸雨P(guān)系的選用按如下規(guī)則:
(1) 當(dāng)體具有多個(gè)(大于1)殼拓?fù)鋾r(shí),外殼必須第一個(gè)定義;
(2) 環(huán)的子邊必須按繞環(huán)順序定義;邊的子點(diǎn)必須按邊的方向定義;
(3) 每個(gè)邊作為子類必須被使用兩次,每個(gè)拓?fù)潢P(guān)系一次;
(4) 一個(gè)環(huán)類必須以多個(gè)邊類或者單個(gè)點(diǎn)作為子類,但不能以邊和點(diǎn)混合或者多個(gè)點(diǎn)作為子類;
(5) 一個(gè)點(diǎn)類必須以多條邊或單個(gè)環(huán)作為父類,其父類不能為邊與環(huán)的組合或者多個(gè)環(huán)。
例如,一個(gè)方塊體含有 33個(gè)拓?fù)?n_topols=33),其中包括1個(gè)殼,6個(gè)面,6個(gè)環(huán),12條邊和 8個(gè)頂點(diǎn)。實(shí)體拓?fù)渲g的關(guān)系共有60個(gè),1個(gè)殼是由6個(gè)面組成,殼面關(guān)系為6;每個(gè)面由1個(gè)環(huán)組成,面環(huán)關(guān)系為6;一個(gè)環(huán)由4條邊組成,環(huán)邊關(guān)系為24;每條邊由2個(gè)頂點(diǎn)組成,邊頂點(diǎn)關(guān)系為24。parents[0]~parents[5]指向殼拓?fù)湓卦谠?class數(shù)組中序列號(hào),此處全為 0;children[0]~children[5] 指向面拓?fù)湓卦赾lass數(shù)組中序列號(hào),分別是1、2、3、4、5、6。senses[]定義了每?jī)蓚€(gè)拓?fù)鋵?shí)體之間的方向關(guān)系。當(dāng)子類為邊 PK_CLASS_edge,且當(dāng)子類邊在父類環(huán)的相同方向時(shí),senses被賦值為PK_TOPOL_sense_positive_c;當(dāng)子類邊在父類環(huán)的相反方向時(shí),senses被賦值為PK_TOPOL_sense_negative_c;其他情況下senses被賦值為PK_TOPOL_sense_none_c。
3.1.2 拓?fù)錁?gòu)造實(shí)現(xiàn)
拓?fù)錁?gòu)造實(shí)現(xiàn)的算法步驟如下:
(1) 計(jì)算要?jiǎng)?chuàng)建的拓?fù)潴w的個(gè)數(shù)
根據(jù)上述對(duì)ACIS邊界拓?fù)浔闅v,計(jì)算出殼的個(gè)數(shù)、面的個(gè)數(shù)、環(huán)的個(gè)數(shù)、邊的個(gè)數(shù)和點(diǎn)的個(gè)數(shù)之和。
(2) 設(shè)置各個(gè)拓?fù)潴w的類型
根據(jù)計(jì)算的拓?fù)潴w個(gè)數(shù),分配拓?fù)潴w的類型數(shù)組空間,并根據(jù)拓?fù)漕愋驮O(shè)置相應(yīng)數(shù)組位置拓?fù)漕愋椭?,例如一個(gè)體有一個(gè)殼,classes[0] =PK_CLASS_shel;一個(gè)殼有 6 個(gè)面,則 classes[1]~classes[6]=PK_CLASS_face。數(shù)組元素中下標(biāo)變量Index和classes[Index]值確定了所構(gòu)造的拓?fù)浣Y(jié)構(gòu)數(shù)組中第Index的拓?fù)漕愋汀?/p>
(3) 計(jì)算拓?fù)潴w元素關(guān)系個(gè)數(shù)
根據(jù)上述 ParaSolid對(duì)拓?fù)潴w元素關(guān)系定義規(guī)則及ACIS邊界拓?fù)浔闅v結(jié)果,計(jì)算拓?fù)潴w元素關(guān)系個(gè)數(shù)n_relations。
(4) 設(shè)置拓?fù)潴w元素關(guān)系
根據(jù)計(jì)算的撲體元素關(guān)系個(gè)數(shù),分配拓?fù)潴w元素關(guān)系數(shù)組空間,即 parents[ ]、children[ ]和senses[ ]設(shè)置為同樣大小的數(shù)組。并根據(jù)拓?fù)漕愋驮O(shè)置相應(yīng)數(shù)組位置拓?fù)湓仃P(guān)系值。
3.2.1 ParaSolid幾何定義
ParaSolid幾何實(shí)體有三種類型:Surface曲面、Curve曲線和Point點(diǎn)。Surface曲面類型有平面、圓柱面、圓錐面、圓環(huán)面、球面、過(guò)渡曲面、樣條曲面、異構(gòu)幾何曲面、偏移曲面、掃描曲面和旋轉(zhuǎn)曲面;Curve曲線主要有:直線、圓、橢圓、B樣條曲線、一般樣條曲線、異構(gòu)幾何曲線。
例如,圓柱面是通過(guò)一個(gè)三維點(diǎn),圓柱面軸線方向矢量,參考方向矢量以及圓柱面的底面半徑的數(shù)據(jù)結(jié)構(gòu)定義:
3.2.2 幾何創(chuàng)建
重新開(kāi)始對(duì)ACIS邊界拓?fù)浔闅v,重設(shè)拓?fù)涠ㄎ恢羔樧兞?Index=0;并依殼、面、環(huán)、邊、點(diǎn)的順序,獲取相應(yīng)附屬拓?fù)湓氐膸缀涡畔?,?chuàng)建相應(yīng)的幾何實(shí)體,每遍歷一個(gè)拓?fù)湓兀負(fù)涠ㄎ恢羔樧兞縄ndex加1。
ParaSolid提供針對(duì)具體各曲面、曲線和點(diǎn)實(shí)體構(gòu)造的API函數(shù)。設(shè)置一個(gè)數(shù)據(jù)結(jié)構(gòu)保存構(gòu)造的幾何實(shí)體和該幾何實(shí)體相附屬的拓?fù)涠ㄎ恢羔槪缜鎸?shí)體保存數(shù)據(jù)結(jié)構(gòu)如下:
一個(gè)有效的實(shí)體應(yīng)該是具有完整的拓?fù)渑c幾何信息數(shù)據(jù),上面步驟所完成的只是一個(gè)分離的拓?fù)鋵?shí)體和幾何實(shí)體,需要將其有機(jī)地關(guān)聯(lián)系起來(lái)。
通過(guò) PK_BODY_create_solid_topology函數(shù)成功完成拓?fù)錁?gòu)造后,返回已經(jīng)創(chuàng)建的拓?fù)潴w存放在一個(gè)數(shù)組變量topols中,topols按照輸入的順序存放拓?fù)湓兀礃?gòu)造的拓?fù)潴w順序與class[ ]數(shù)組中的順序是一致的,這就為構(gòu)造幾何體與其對(duì)應(yīng)拓?fù)潢P(guān)聯(lián)創(chuàng)造條件。
ParaSolid 提供幾何體與其對(duì)應(yīng)拓?fù)潢P(guān)聯(lián)的API函數(shù)。PK_FACE_attach_surfs函數(shù)關(guān)聯(lián)曲面幾何到Fcae面拓?fù)?,PK_EDGE_attach_curve函數(shù)關(guān)聯(lián)曲線幾何到 Edge邊拓?fù)?,PK_VERTEX_attach_pointe函數(shù)關(guān)聯(lián)點(diǎn)幾何到Vertex點(diǎn)拓?fù)渲小?/p>
上述AutoCAD與ParaSolid三維邊界模型的直接交換方法在作者開(kāi)發(fā)的JhSolid2007下實(shí)現(xiàn)。JhSolid2007采用ParaSolid作為幾何造型內(nèi)核,VC++、OpenGL開(kāi)發(fā)?;贒wgDirect接口,可以直接打開(kāi)AutoCAD具有三維實(shí)體的DWG文件,將AutoCAD中的三維實(shí)體,在JhSolid2007下作為引入幾何體生成。圖3是一個(gè)交換的簡(jiǎn)單零件實(shí)例。
圖3 交換零件實(shí)例
本文通過(guò)對(duì)AutoCAD中基于ACIS的三維實(shí)體邊界表達(dá)數(shù)據(jù)結(jié)構(gòu)和 ParaSolid的三維實(shí)體邊界表達(dá)數(shù)據(jù)結(jié)構(gòu)的分析,基于DwgDirect接口技術(shù)和ParaSolid提供的API開(kāi)發(fā)函數(shù),通過(guò)對(duì)ACIS的三維實(shí)體邊界遍歷,獲取實(shí)體邊界的拓?fù)湫畔⒑蛶缀涡畔?,通過(guò)拓?fù)錁?gòu)造、幾何構(gòu)造和幾何關(guān)聯(lián),實(shí)現(xiàn)AutoCAD與ParaSolid三維邊界模型的直接交換。為AutoCAD系統(tǒng)下三維實(shí)體信息資源的充分利用創(chuàng)造條件。
本文介紹的三維邊界模型的直接交換方法對(duì)基于ParaSolid幾何造型內(nèi)核的UG、SolidWork等軟件系統(tǒng)的二次開(kāi)發(fā)實(shí)現(xiàn)直接讀取DWG的三維實(shí)體信息也有一定的參考意義。
[1]Pratt Michael J, Anderson Bill D, Ranger Tony.Towards the standardized exchange of parameterized feature based CAD models [J]. Computer-Aided Design, 2005, 37 (12):1251-1265.
[2]陳小安, 譚 宏. 三維幾何模型的中性文件格式的數(shù)據(jù)交換方法研究[J]. 機(jī)械工程學(xué)報(bào), 2001, 37(10):93-99.
[3] Unigraphics Solutions Inc. ParaSolid online documentation [M/CD]. Unigraphics Solutions Inc,2000.
[4]趙建軍, 王啟付. 基于邊界表達(dá)的ParaSolid與ACIS直接雙向接口[J]. 計(jì)算機(jī)工程, 2004, 30(8):40-41.
[5]Open Design Alliance. DWGdirect reference [M/CD].Open Design Alliance, 2003.
Direct Exchange of Three-dimensional Boundary Model Information between AutoCAD and ParaSolid
ZHANG Ying-zhong, LUO Xiao-fang, QIAO Lei
( School of Mechanical Engineering, Dalian University of Technology, Dalian Liaoning 116024, China )
The data structures of the three-dimensional solid boundary expression for ACIS and ParaSolid are analyzed, based on DwgDirect interface technology DWG files in AutoCAD are directly opened and the three-dimensional entity boundary information based on ACIS in AutoCAD's DWG file are searched and accessed. Based on the API development function provided by ParaSolid, by means of constructing topology entities, constructing geometry entities and associating geometry entities to topology entities procedures, the accessed boundary topology and geometry information can be directly exchanged to construct a solid model based on PrarSolid. Thus direct exchange of three-dimensional boundary model information between AutoCAD and ParaSolid is realized. At last an example of direct exchange is given.
computer application; AutoCAD; ParaSolid; three-dimensional boundary model;direct exchange
TP 391
A
1003-0158(2010)05-0169-06
2009-04-08
國(guó)家自然科學(xué)基金資助項(xiàng)目(60773214)
張應(yīng)中(1961-),男,湖南綏寧人,副教授,博士,主要研究方向?yàn)橛?jì)算機(jī)輔助設(shè)計(jì),產(chǎn)品數(shù)字建模及處理技術(shù)。