AutoCAD與ParaSolid三維邊界模型信息直接交換張應(yīng)中_第1頁(yè)
AutoCAD與ParaSolid三維邊界模型信息直接交換張應(yīng)中_第2頁(yè)
AutoCAD與ParaSolid三維邊界模型信息直接交換張應(yīng)中_第3頁(yè)
AutoCAD與ParaSolid三維邊界模型信息直接交換張應(yīng)中_第4頁(yè)
AutoCAD與ParaSolid三維邊界模型信息直接交換張應(yīng)中_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、收稿日期:2009-04-08基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(60773214)作者簡(jiǎn)介:張應(yīng)中(1961-),男,湖南綏寧人,副教授,博士,主要研究方向?yàn)橛?jì)算機(jī)輔助設(shè)計(jì),產(chǎn)品數(shù)字建模及處理技術(shù)。2010年 工 程 圖 學(xué) 學(xué) 報(bào) 2010 第5期 JOURNAL OF ENGINEERING GRAPHICS No.5AutoCAD 與ParaSolid 三維邊界模型信息直接交換張應(yīng)中, 羅曉芳, 喬 磊(大連理工大學(xué)機(jī)械工程學(xué)院,遼寧 大連 116024)摘 要:對(duì)ACIS 和ParaSolid 的三維實(shí)體邊界表達(dá)數(shù)據(jù)結(jié)構(gòu)進(jìn)行分析,基于DwgDirect 接口技術(shù),直接打開(kāi)AutoCA

2、D 的DWG 文件,對(duì)AutoCAD 的DWG 文件中基于ACIS 的三維實(shí)體邊界信息遍歷,獲取實(shí)體邊界的拓?fù)湫畔⒑蛶缀涡畔?;基于ParaSolid 提供的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í)例。關(guān) 鍵 詞:計(jì)算機(jī)應(yīng)用;AutoCAD ;ParaSolid ;三維邊界模型;直接交換 中圖分類號(hào):TP 391文獻(xiàn)標(biāo)識(shí)碼:A 文 章 編 號(hào):1003-0158(201005-0169-06Direct Exchange of Three-dimensional Boundary

3、 ModelInformation between AutoCAD and ParaSolidZHANG Ying-zhong, LUO Xiao-fang, QIAO Lei( School of Mechanical Engineering, Dalian University of Technology, Dalian Liaoning 116024, China Abstract: The data structures of the three-dimensional solid boundary expression for ACIS and ParaSolid are analy

4、zed, 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 topolog

5、y 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 info

6、rmation between AutoCAD and ParaSolid is realized. At last an example of direct exchange is given.Key words: computer application; AutoCAD; ParaSolid; three-dimensional boundary model; direct exchangeAutoCAD 是目前應(yīng)用最廣泛的二維CAD 平臺(tái),AutoCAD 從R11開(kāi)始具有三維實(shí)體模型,從R13開(kāi)始采用ACIS 幾何核心來(lái)構(gòu)造三維實(shí)體,隨著版本不斷升級(jí),三維造型功能日益強(qiáng)大,并且得到廣泛

7、的應(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)題,由于A

8、utoCAD 系統(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 三維邊界模型的直接交換。1 三維邊界模型信息表達(dá)1.1 實(shí)體邊界表達(dá)模型邊界表達(dá)(B-reps是三維實(shí)體模型最基本的表達(dá)方法,是將形體表達(dá)為它的有限數(shù)量的邊界表面的集合。表面可能是平面,也可能是曲面,每個(gè)表面又可用它的邊界的邊及頂點(diǎn)表示。B

9、-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)系的一類信息。1.2 PreaSolid 邊界表達(dá)模型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 :薄板,S

10、olid :立體,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)中的方

11、向。它包含兩個(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ù)銯ace 面,典型曲面有:平面、圓柱面、圓錐面、圓環(huán)面、球面、過(guò)渡曲面、樣條曲面、異構(gòu)幾何曲面、偏移曲面、掃描曲面和旋轉(zhuǎn)曲面;Curve 曲線主要依附于拓?fù)?/p>

12、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所示。·170· 工 程 圖 學(xué) 學(xué) 報(bào) 2010年 基本幾何拓?fù)錁?gòu)造幾何圖1 ParaSolid幾何實(shí)體與拓?fù)鋵?shí)體關(guān)系1.3 ACIS 邊界表達(dá)模型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)按

13、層次從上到下分解成下列對(duì)象4:體(Body、塊(Lump,表示空間一個(gè)有邊界的相互連通的區(qū)域;殼(Shell、面(Face、環(huán)(Loop、有向邊(Coedge、邊(Edge、頂點(diǎn)(Vertex。其幾何表達(dá)類型和拓?fù)湫畔㈥P(guān)系與上述ParaSolid 基本類似。2 DWG 中的ACIS 三維模型邊界信息的提取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 Desi

14、gn Alliance 推出的用于獨(dú)立于AutoCAD 平臺(tái)之外訪問(wèn)DWG 文件接口,目前已被國(guó)際上眾多公司所接受。本文采用DWGdirect 接口訪問(wèn)和搜索DWG 文件中基于ACIS 的三維實(shí)體邊界幾何和拓?fù)湫畔ⅰ?.1 DWG 中三維實(shí)體元素在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í)體等。

15、三維實(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ì)象。 2.2 DWGdirect 的三維實(shí)體邊界定義OdBr 庫(kù)中提供了一個(gè)用來(lái)定義實(shí)體邊界表示的拓?fù)鋵?duì)象的接口類OdBrEntity 。它

16、的結(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所示。2.3 實(shí)體邊界數(shù)據(jù)獲取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類,可以遍

17、歷訪問(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ù)湫畔?,依次遍歷下去

18、,從而獲取實(shí)體邊界所有拓?fù)浜蛶缀涡畔?。?期 張應(yīng)中等:AutoCAD與ParaSolid 三維邊界模型信息直接交換 ·171· (a 邊界拓?fù)浣Y(jié)構(gòu) (b 邊界幾何結(jié)構(gòu)圖2 DWGdirect 實(shí)體邊界表示結(jié)構(gòu)3 ParaSolid 實(shí)體邊界映射構(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í)體邊界

19、映射構(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 拓?fù)錁?gòu)造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:PK_BODY_create_solid_topology(int n_topols, / 被創(chuàng)建的實(shí)體所包含的拓?fù)鋵?shí)體的個(gè)數(shù)const PK_CLASS_t classes

20、, / 被創(chuàng)建的實(shí)體所包含的每個(gè)拓?fù)鋵?shí)體的類型數(shù)組int n_relations, / 類型關(guān)系個(gè)數(shù) const int parents , / 父類關(guān)系const int children , / 子類關(guān)系 const PK_TOPOL_senset senses , / 方向標(biāo)志PK_BODY_t *body, / 創(chuàng)建返回的實(shí)體PK_TOPOL_t *topols, / 創(chuàng)建返回的拓?fù)浣Y(jié)構(gòu)數(shù)組PK_BODY_fault_t *fault, / 出錯(cuò)信息 int *fault_index ;上述參數(shù)中classes 數(shù)組描述構(gòu)造那些拓?fù)鋵?shí)體,拓?fù)鋵?shí)體類型通過(guò)PK_CLASS_body,PK

21、_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è)邊作為子類必須被使用兩次

22、,每個(gè)拓?fù)潢P(guān)系一次;(4) 一個(gè)環(huán)類必須以多個(gè)邊類或者單個(gè)點(diǎn)·172· 工 程 圖 學(xué) 學(xué) 報(bào) 2010年作為子類,但不能以邊和點(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。parents0parents5指向殼拓?fù)湓卦谠赾lass

23、 數(shù)組中序列號(hào),此處全為0;children0children5 指向面拓?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ù)根

24、據(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è)殼,classes0 = PK_CLASS_shel;一個(gè)殼有6個(gè)面,則classes1 classes6=PK_CLASS_face。數(shù)組元素中下標(biāo)變量Index 和classesIndex值確定了所構(gòu)造的拓?fù)浣Y(jié)構(gòu)數(shù)組中第Index 的拓?fù)漕愋?。?) 計(jì)算拓?fù)潴w元素關(guān)系個(gè)數(shù)根據(jù)上述ParaSolid 對(duì)拓?fù)潴w元素關(guān)系定義規(guī)則及ACIS 邊界拓?fù)浔闅v結(jié)果,計(jì)算拓?fù)潴w元素

25、關(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 幾何構(gòu)造3.2.1 ParaSolid幾何定義ParaSolid 幾何實(shí)體有三種類型:Surface 曲面、Curve 曲線和Point 點(diǎn)。Surface 曲面類型有平面、圓柱面、圓錐面、圓環(huán)面、球面、過(guò)渡曲面、樣條曲面、異構(gòu)幾何曲面、偏移曲面、掃描曲面和旋轉(zhuǎn)曲面;Curve 曲線主要有:直線、圓、橢圓、B 樣條曲線、一般樣條曲線、異構(gòu)幾何曲線。例如

26、,圓柱面是通過(guò)一個(gè)三維點(diǎn),圓柱面軸線方向矢量,參考方向矢量以及圓柱面的底面半徑的數(shù)據(jù)結(jié)構(gòu)定義:struct PK_CYL_sf_s PK_VECTOR_t location; / 圓柱中心點(diǎn)位置PK_VECTOR1_t axis; / 圓柱面軸線方向矢量PK_VECTOR1_t ref_direction; / 參考方向矢量double radius;/ 圓柱面的底面半徑;3.2.2 幾何創(chuàng)建重新開(kāi)始對(duì)ACIS 邊界拓?fù)浔闅v,重設(shè)拓?fù)涠ㄎ恢羔樧兞縄ndex=0;并依殼、面、環(huán)、邊、點(diǎn)的順序,獲取相應(yīng)附屬拓?fù)湓氐膸缀涡畔?,?chuàng)建相應(yīng)的幾何實(shí)體,每遍歷一個(gè)拓?fù)湓?,拓?fù)涠ㄎ恢羔樧兞縄ndex 加1

27、。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)如下:struct SurFaceBody PK_Body_t* SurFaceArray; int* pIndex; ;3.3 幾何與拓?fù)潢P(guān)聯(lián)一個(gè)有效的實(shí)體應(yīng)該是具有完整的拓?fù)渑c幾何信息數(shù)據(jù),上面步驟所完成的只是一個(gè)分離的拓?fù)鋵?shí)體和幾何實(shí)體,需要將其有機(jī)地關(guān)聯(lián)系起來(lái)。第5期 張應(yīng)中等:AutoCAD與ParaSolid 三維邊界模型信息直接交換 ·173··174· 工 程 圖 學(xué) 學(xué) 報(bào)

28、 2010 年 通過(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ù)洌琍K_EDGE_attach_curve 函 數(shù) 關(guān) 聯(lián) 曲 線 幾 何 到 Edge 邊 拓 撲 , PK_VERTEX_attach_pointe 函數(shù)關(guān)聯(lián)點(diǎn)幾何到 Vertex 點(diǎn)拓?fù)渲小?4 交換應(yīng)用實(shí)例 上述AutoCAD與ParaSolid三維邊界模型的 直接交換方法在作者開(kāi)發(fā)的JhSolid2007下實(shí)現(xiàn)。 JhSolid2007采用ParaSolid作為幾何造型內(nèi)核, VC+、Op

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論