亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        AutoCAD與ParaSolid三維邊界模型信息直接交換

        2010-09-25 02:57:18張應中羅曉芳
        圖學學報 2010年5期
        關鍵詞:數(shù)組曲面邊界

        張應中, 羅曉芳, 喬 磊

        (大連理工大學機械工程學院,遼寧 大連 116024)

        AutoCAD與ParaSolid三維邊界模型信息直接交換

        張應中, 羅曉芳, 喬 磊

        (大連理工大學機械工程學院,遼寧 大連 116024)

        對 ACIS和 ParaSolid的三維實體邊界表達數(shù)據(jù)結構進行分析,基于DwgDirect接口技術,直接打開AutoCAD的DWG文件,對AutoCAD的DWG文件中基于ACIS的三維實體邊界信息遍歷,獲取實體邊界的拓撲信息和幾何信息;基于ParaSolid提供的API開發(fā)函數(shù),通過實體拓撲構造、實體幾何構造和幾何與拓撲附屬關聯(lián),實現(xiàn)AutoCAD與ParaSolid三維邊界模型的直接交換。最后給出一個直接交換實例。

        計算機應用;AutoCAD;ParaSolid;三維邊界模型;直接交換

        AutoCAD是目前應用最廣泛的二維CAD平臺,AutoCAD從R11開始具有三維實體模型,從 R13開始采用 ACIS幾何核心來構造三維實體,隨著版本不斷升級,三維造型功能日益強大,并且得到廣泛的應用。ParaSolid是目前國際上最為成熟,應用最廣的幾何造型內(nèi)核,CAD中著名的 UG、SolidWorks、SolidEdge等都是以ParaSolid作為幾何造型內(nèi)核;CAM和CAE中大部分軟件系統(tǒng)都支持 ParaSolid的數(shù)據(jù)格式。研究和實現(xiàn)AutoCAD與ParaSolid三維邊界模型信息交換有重要的實際意義。

        異構環(huán)境下,三維邊界模型信息交換方法目前普遍采用的是基于中間文件[1-2],為此制定和形成一些國際標準和行業(yè)標準,例如 IGES、DXF和STEP等?;谥虚g文件交換要求系統(tǒng)具備能生成符合標準的中間文件功能,并且存在信息丟失,操作煩瑣,效率低問題,由于AutoCAD系統(tǒng)的支持信息交換能力不強,造成基于AutoCAD系統(tǒng)的三維實體信息資源不能實現(xiàn)有效的交換。

        本文基于DWGDirect技術,直接打開DWG圖紙,搜索和遍歷AutoCAD中基于ACIS的三維實體邊界幾何和拓撲信息,通過 ParaSolid的邊界拓撲映射,直接生成 PrarSolid三維邊界實體,實現(xiàn)AutoCAD與ParaSolid三維邊界模型的直接交換。

        1 三維邊界模型信息表達

        1.1 實體邊界表達模型

        邊界表達(B-reps)是三維實體模型最基本的表達方法,是將形體表達為它的有限數(shù)量的邊界表面的集合。表面可能是平面,也可能是曲面,每個表面又可用它的邊界的邊及頂點表示。B-rep中信息分為兩類:一類是幾何數(shù)據(jù),描述形體的大小、尺寸、位置、形狀等;另一類是拓撲信息,拓撲是研究圖形在形變與伸縮下保持不變的空間性質(zhì)的一個數(shù)學分支。拓撲只關心圖形內(nèi)相對位置關系,不問它的大小與形狀。在B-rep中拓撲信息是指用來說明體、面、邊及頂點之間連接關系的一類信息。

        1.2 PreaSolid 邊界表達模型

        ParaSolid 是美國UGS公司的一個業(yè)界領先的幾何實體建模內(nèi)核,其拓撲實體定義如下[3]:

        (1) 體(Body) 體是ParaSolid中一種基本形體,可以由一個或多個簡單形體連接組合而成。它有以下幾種形式:Acorn:孤立點,Wire:線框,Sheet:薄板,Solid:立體,General:一般形體。

        (2) 區(qū)域(Region) 區(qū)域是一個開放的三維空間的連通子集,它的邊界是一系列的點、邊和有向面。

        (3) 殼(Shell) 殼是一系列有向面和邊的集合,面的一面或雙面都可以被外殼引用。外殼的組成:面和方向邏輯的集合;邊的集合;單個的頂點。

        (4) 面(Face) 是一個曲面的有界集合,它的邊界是若干個環(huán),是一個二維的區(qū)域。邊界為零個環(huán)的面構成一個封閉的實體,如一個球面。

        (5) 環(huán)(Loop) 是一個面的邊界,是一個連接的二維實體。一個環(huán)在一個方向上不能通過一條邊兩次。環(huán)的方向是這樣規(guī)定的:沿該環(huán)的方向前進,面在左邊。

        (6) 翼(Fin) 表示一條邊在環(huán)中的方向。它包含兩個數(shù)據(jù):一個是邏輯值,表示邊與環(huán)是否同向;另一個數(shù)據(jù)是在該條邊具有不同的局部精度時,邊所依附的曲線。

        (7) 邊(Edge) 是一條曲線上有界的一段,它的邊界是零個、一個或兩個頂點。邊是一個一維區(qū)域。

        (8) 頂點(Vertex) 頂點表示空間中的一個點,是一個零維的區(qū)域。

        ParaSolid幾何實體分為基本幾何實體和構造幾何實體,都具有三種類型:Surface曲面、Curve曲線和Point點。Surface曲面主要依附于拓撲 Face面,典型曲面有:平面、圓柱面、圓錐面、圓環(huán)面、球面、過渡曲面、樣條曲面、異構幾何曲面、偏移曲面、掃描曲面和旋轉(zhuǎn)曲面;Curve曲線主要依附于拓撲 Edge邊,典型曲線有:直線、圓、橢圓、B樣條曲線、一般樣條曲線、異構幾何曲線。

        基本幾何實體依附在對應的拓撲體上,構造幾何實體是新創(chuàng)建的還沒有附屬關聯(lián)的幾何實體,都可以表達為Body體。ParaSolid幾何實體與拓撲實體關系如圖1所示。

        圖1 ParaSolid幾何實體與拓撲實體關系

        1.3 ACIS邊界表達模型

        ACIS是美國 STI公司(Spatial Technology Inc.)推出的具有開放式軟件體系結構的實體造型軟件開發(fā)平臺。ACIS的邊界模型也是表達為拓撲表示和幾何表示,拓撲結構按層次從上到下分解成下列對象[4]:體(Body)、塊(Lump),表示空間一個有邊界的相互連通的區(qū)域;殼(Shell)、面(Face)、環(huán)(Loop)、有向邊(Coedge)、邊(Edge)、頂點(Vertex)。其幾何表達類型和拓撲信息關系與上述ParaSolid基本類似。

        2 DWG中的 ACIS三維模型邊界信息的提取

        AutoCAD圖形保存的缺省文件是 DWG文件,DWG是一個壓縮格式未公開的二進制格式文件,目前CAD圖紙絕大部分是以DWG格式存貯。能直接打開DWG圖紙,并且能搜索和遍歷出ACIS三維邊界幾何和拓撲信息是實現(xiàn)直接交換的基礎。

        DWGdirect是由開放設計協(xié)會(Open Design Alliance)推出的用于獨立于 AutoCAD平臺之外訪問DWG文件接口,目前已被國際上眾多公司所接受。本文采用 DWGdirect接口訪問和搜索DWG文件中基于ACIS的三維實體邊界幾何和拓撲信息。

        2.1 DWG中三維實體元素

        在DWGDirect中,DWG文件的圖形實體數(shù)據(jù)在內(nèi)存中由一個 OdDbDatabase類的實例表示[5],并且提供了一個可以訪問其圖形數(shù)據(jù)庫實體對象的塊表記錄遍歷迭代器(OdDbBlock TableRecordIterator),通過該迭代器可以遍歷存儲在塊表空間中的各種實體圖形,如二維的直線段、圓弧、圓,三維的圓柱面、圓錐面、球面和三維實體等。

        三維實體元素是OdDb3dSolid類一個實例,OdDb3dSolid類是從 OdDbEntity類派生而來,OdDbEntity類是數(shù)據(jù)庫實例中所有繪圖對象的基類。同時,在DWGdirect中還提供了一個通用幾何類 OdGe類和用于邊界表示的 OdBr類。OdGe類是用來實現(xiàn)2D和3D幾何對象操作的。OdBr庫是一個邊界表示庫,允許用戶以只讀的方式去訪問ACIS所創(chuàng)建的用邊界表示法表示的實體,這類實體指的是OdDb3dSolid類的對象。

        2.2 DWGdirect的三維實體邊界定義

        OdBr庫中提供了一個用來定義實體邊界表示的拓撲對象的接口類OdBrEntity。它的結構層次如圖2(a)所示。OdBrEntity類是Brep結構抽象類;OdBrBrep類是Brep實體邊界類,它是提供在OdDb3dSoid實體中對ACIS實體數(shù)據(jù)的Brep結構進行遍歷的最高層。

        OdGe庫中提供一個OdGeEntity3d類,它是所有OdGe類的幾何對象的基類。它的結構層次如圖2(b)所示。

        2.3 實體邊界數(shù)據(jù)獲取

        DWGdirect定義一個訪問ACIS邊界數(shù)據(jù)結構的接口 OdBrBrep類,通過 OdBrBrep為OdDb3dSolid實例對象和ACIS邊界之間建立聯(lián)系。同時還定義了遍歷訪問ACIS邊界拓撲結構的遍歷器(traverser)類,可以遍歷訪問ACIS邊界的殼、面、環(huán)、邊、點拓撲信息和幾何信息。對每一個OdDb3dSolid三維實體對象,其實現(xiàn)步驟如下:

        (1) 創(chuàng)建 OdBrBrep實例對象,通過OdDb3dSolid類的成員函數(shù) brep (OdBrBrep&brep)賦值;

        (2) 定義拓撲遍歷器,自頂向下遍歷ACIS邊界拓撲結構樹。拓撲遍歷器的定義是按照殼、面、環(huán)、邊、點自上而下拓撲順序分別定義,即通過OdBrBrep實例定義殼拓撲遍歷器,拓撲遍歷三維實體對象所有殼拓撲,通過殼拓撲信息定義面拓撲遍歷器,拓撲遍歷殼對象所有面拓撲信息,通過面拓撲信息定義環(huán)拓撲遍歷器,拓撲遍歷面對象所有環(huán)拓撲信息,依次遍歷下去,從而獲取實體邊界所有拓撲和幾何信息。

        圖2 DWGdirect 實體邊界表示結構

        3 ParaSolid實體邊界映射構造

        ParaSolid采用與ACIS相類似的實體邊界表示,同時ParaSolid提供一個API函數(shù),可以直接構造出 ParaSolid實體的拓撲結構。盡管ParaSolid與ACIS實體邊界表示有些差別,通過拓撲映射的方式,完全可以將上述獲取的 ACIS邊界數(shù)據(jù)通過以下步驟重新構造出 ParaSolid實體邊界。

        實體邊界映射構造主要涉及三個步驟:拓撲構造;創(chuàng)建幾何數(shù)據(jù);關聯(lián)拓撲與幾何數(shù)據(jù)。為了保證幾何造型的可靠性與正確性,構造的實體要滿足正則拓撲實體的要求:正則形體不能有懸邊、懸線、懸面等等,同時還需要精度誤差進行控制。

        3.1 拓撲構造

        3.1.1 ParaSolid拓撲構造API函數(shù)

        在ParaSolid中提供了一個拓撲構造API函數(shù)PK_BODY_create_solid_topology,用來創(chuàng)建實體的拓撲。函數(shù)的具體形式是[3]:

        上述參數(shù)中classes[ ]數(shù)組描述構造那些拓撲實體,拓撲實體類型通過 PK_CLASS_body,PK_CLASS_shell, PK_CLASS_face,PK_CLASS_loop, PK_CLASS_edge,PK_CLASS_vertex表達體、殼、面、環(huán)、邊和點。

        parents[ ]、children[ ]和 senses[ ] 三個數(shù)組定義拓撲元素父子之間的關系,例如殼面關系、面環(huán)關系、環(huán)邊關系等。通過拓撲元素父子之間的關系定義,將classes[ ]數(shù)組描述構造的拓撲實體關系聯(lián)系起來,形成完整的實體拓撲結構。

        拓撲元素及父子關系的選用按如下規(guī)則:

        (1) 當體具有多個(大于1)殼拓撲時,外殼必須第一個定義;

        (2) 環(huán)的子邊必須按繞環(huán)順序定義;邊的子點必須按邊的方向定義;

        (3) 每個邊作為子類必須被使用兩次,每個拓撲關系一次;

        (4) 一個環(huán)類必須以多個邊類或者單個點作為子類,但不能以邊和點混合或者多個點作為子類;

        (5) 一個點類必須以多條邊或單個環(huán)作為父類,其父類不能為邊與環(huán)的組合或者多個環(huán)。

        例如,一個方塊體含有 33個拓撲(n_topols=33),其中包括1個殼,6個面,6個環(huán),12條邊和 8個頂點。實體拓撲之間的關系共有60個,1個殼是由6個面組成,殼面關系為6;每個面由1個環(huán)組成,面環(huán)關系為6;一個環(huán)由4條邊組成,環(huán)邊關系為24;每條邊由2個頂點組成,邊頂點關系為24。parents[0]~parents[5]指向殼拓撲元素在在 class數(shù)組中序列號,此處全為 0;children[0]~children[5] 指向面拓撲元素在class數(shù)組中序列號,分別是1、2、3、4、5、6。senses[]定義了每兩個拓撲實體之間的方向關系。當子類為邊 PK_CLASS_edge,且當子類邊在父類環(huán)的相同方向時,senses被賦值為PK_TOPOL_sense_positive_c;當子類邊在父類環(huán)的相反方向時,senses被賦值為PK_TOPOL_sense_negative_c;其他情況下senses被賦值為PK_TOPOL_sense_none_c。

        3.1.2 拓撲構造實現(xiàn)

        拓撲構造實現(xiàn)的算法步驟如下:

        (1) 計算要創(chuàng)建的拓撲體的個數(shù)

        根據(jù)上述對ACIS邊界拓撲遍歷,計算出殼的個數(shù)、面的個數(shù)、環(huán)的個數(shù)、邊的個數(shù)和點的個數(shù)之和。

        (2) 設置各個拓撲體的類型

        根據(jù)計算的拓撲體個數(shù),分配拓撲體的類型數(shù)組空間,并根據(jù)拓撲類型設置相應數(shù)組位置拓撲類型值,例如一個體有一個殼,classes[0] =PK_CLASS_shel;一個殼有 6 個面,則 classes[1]~classes[6]=PK_CLASS_face。數(shù)組元素中下標變量Index和classes[Index]值確定了所構造的拓撲結構數(shù)組中第Index的拓撲類型。

        (3) 計算拓撲體元素關系個數(shù)

        根據(jù)上述 ParaSolid對拓撲體元素關系定義規(guī)則及ACIS邊界拓撲遍歷結果,計算拓撲體元素關系個數(shù)n_relations。

        (4) 設置拓撲體元素關系

        根據(jù)計算的撲體元素關系個數(shù),分配拓撲體元素關系數(shù)組空間,即 parents[ ]、children[ ]和senses[ ]設置為同樣大小的數(shù)組。并根據(jù)拓撲類型設置相應數(shù)組位置拓撲元素關系值。

        3.2 幾何構造

        3.2.1 ParaSolid幾何定義

        ParaSolid幾何實體有三種類型:Surface曲面、Curve曲線和Point點。Surface曲面類型有平面、圓柱面、圓錐面、圓環(huán)面、球面、過渡曲面、樣條曲面、異構幾何曲面、偏移曲面、掃描曲面和旋轉(zhuǎn)曲面;Curve曲線主要有:直線、圓、橢圓、B樣條曲線、一般樣條曲線、異構幾何曲線。

        例如,圓柱面是通過一個三維點,圓柱面軸線方向矢量,參考方向矢量以及圓柱面的底面半徑的數(shù)據(jù)結構定義:

        3.2.2 幾何創(chuàng)建

        重新開始對ACIS邊界拓撲遍歷,重設拓撲定位指針變量 Index=0;并依殼、面、環(huán)、邊、點的順序,獲取相應附屬拓撲元素的幾何信息,創(chuàng)建相應的幾何實體,每遍歷一個拓撲元素,拓撲定位指針變量Index加1。

        ParaSolid提供針對具體各曲面、曲線和點實體構造的API函數(shù)。設置一個數(shù)據(jù)結構保存構造的幾何實體和該幾何實體相附屬的拓撲定位指針,例如曲面實體保存數(shù)據(jù)結構如下:

        3.3 幾何與拓撲關聯(lián)

        一個有效的實體應該是具有完整的拓撲與幾何信息數(shù)據(jù),上面步驟所完成的只是一個分離的拓撲實體和幾何實體,需要將其有機地關聯(lián)系起來。

        通過 PK_BODY_create_solid_topology函數(shù)成功完成拓撲構造后,返回已經(jīng)創(chuàng)建的拓撲體存放在一個數(shù)組變量topols中,topols按照輸入的順序存放拓撲元素,即構造的拓撲體順序與class[ ]數(shù)組中的順序是一致的,這就為構造幾何體與其對應拓撲關聯(lián)創(chuàng)造條件。

        ParaSolid 提供幾何體與其對應拓撲關聯(lián)的API函數(shù)。PK_FACE_attach_surfs函數(shù)關聯(lián)曲面幾何到Fcae面拓撲,PK_EDGE_attach_curve函數(shù)關聯(lián)曲線幾何到 Edge邊拓撲,PK_VERTEX_attach_pointe函數(shù)關聯(lián)點幾何到Vertex點拓撲中。

        4 交換應用實例

        上述AutoCAD與ParaSolid三維邊界模型的直接交換方法在作者開發(fā)的JhSolid2007下實現(xiàn)。JhSolid2007采用ParaSolid作為幾何造型內(nèi)核,VC++、OpenGL開發(fā)?;贒wgDirect接口,可以直接打開AutoCAD具有三維實體的DWG文件,將AutoCAD中的三維實體,在JhSolid2007下作為引入幾何體生成。圖3是一個交換的簡單零件實例。

        圖3 交換零件實例

        5 結 束 語

        本文通過對AutoCAD中基于ACIS的三維實體邊界表達數(shù)據(jù)結構和 ParaSolid的三維實體邊界表達數(shù)據(jù)結構的分析,基于DwgDirect接口技術和ParaSolid提供的API開發(fā)函數(shù),通過對ACIS的三維實體邊界遍歷,獲取實體邊界的拓撲信息和幾何信息,通過拓撲構造、幾何構造和幾何關聯(lián),實現(xiàn)AutoCAD與ParaSolid三維邊界模型的直接交換。為AutoCAD系統(tǒng)下三維實體信息資源的充分利用創(chuàng)造條件。

        本文介紹的三維邊界模型的直接交換方法對基于ParaSolid幾何造型內(nèi)核的UG、SolidWork等軟件系統(tǒng)的二次開發(fā)實現(xiàn)直接讀取DWG的三維實體信息也有一定的參考意義。

        [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]. 機械工程學報, 2001, 37(10):93-99.

        [3] Unigraphics Solutions Inc. ParaSolid online documentation [M/CD]. Unigraphics Solutions Inc,2000.

        [4]趙建軍, 王啟付. 基于邊界表達的ParaSolid與ACIS直接雙向接口[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

        國家自然科學基金資助項目(60773214)

        張應中(1961-),男,湖南綏寧人,副教授,博士,主要研究方向為計算機輔助設計,產(chǎn)品數(shù)字建模及處理技術。

        猜你喜歡
        數(shù)組曲面邊界
        JAVA稀疏矩陣算法
        電腦報(2022年13期)2022-04-12 00:32:38
        拓展閱讀的邊界
        JAVA玩轉(zhuǎn)數(shù)學之二維數(shù)組排序
        電腦報(2020年24期)2020-07-15 06:12:41
        相交移動超曲面的亞純映射的唯一性
        圓環(huán)上的覆蓋曲面不等式及其應用
        論中立的幫助行為之可罰邊界
        基于曲面展開的自由曲面網(wǎng)格劃分
        尋找勾股數(shù)組的歷程
        “偽翻譯”:“翻譯”之邊界行走者
        外語學刊(2014年6期)2014-04-18 09:11:49
        確定有限多個曲面實交集的拓撲
        色综合无码av网站| 色窝窝亚洲av网在线观看| 久久久久成人精品无码| 亚洲精品无码av片| 国产午夜精品美女裸身视频69| 中文字幕日韩精品人妻久久久| 国产成人无码a区在线观看导航 | 在线看亚洲十八禁网站| 女同另类激情在线三区| 沐浴偷拍一区二区视频| 国产成人无码18禁午夜福利p| 又爽又黄无遮挡高潮视频网站| 一区二区av日韩免费| 国产av在线观看一区二区三区 | 99免费视频精品| 日本一区二区三级在线| 日本高清视频永久网站www| 欧美z0zo人禽交欧美人禽交| 18禁黄无遮挡免费网站| 刚出嫁新婚少妇很紧很爽| 亚洲精品久久| 亚洲一区二区在线| 97超碰中文字幕久久| 狠狠色噜噜狠狠狠777米奇| 亚洲熟妇无码av另类vr影视 | 亚洲一区二区三区偷拍女厕| 一本久道久久综合狠狠操| 激情亚洲一区国产精品| 成人免费一区二区三区| 久久久国产精品免费无卡顿| 久久精品视频日本免费| 国产乱对白刺激视频| 亚洲av熟妇高潮30p| 国产精品视频免费一区二区三区 | 国产精品福利自产拍在线观看| 91精品国产福利尤物免费| 亚洲高清激情一区二区三区| 全黄性性激高免费视频| 天天av天天爽无码中文| 91久久精品一区二区喷水喷白浆| 午夜秒播久久精品麻豆|