AutoCAD与ParaSolid三维边界模型信息直接交换张应中

上传人:zou****hua 文档编号:129614816 上传时间:2022-08-03 格式:DOCX 页数:15 大小:60.25KB
收藏 版权申诉 举报 下载
AutoCAD与ParaSolid三维边界模型信息直接交换张应中_第1页
第1页 / 共15页
AutoCAD与ParaSolid三维边界模型信息直接交换张应中_第2页
第2页 / 共15页
AutoCAD与ParaSolid三维边界模型信息直接交换张应中_第3页
第3页 / 共15页
资源描述:

《AutoCAD与ParaSolid三维边界模型信息直接交换张应中》由会员分享,可在线阅读,更多相关《AutoCAD与ParaSolid三维边界模型信息直接交换张应中(15页珍藏版)》请在装配图网上搜索。

1、收稿日期:2009-04-08基金项目:国家自然科学基金资助项目(60773214)作者简介:张应中(1961-),男,湖南绥宁人,畐燉授,博士,主要研究方向为计算机辅助设计,产品数字建模及处理技术。2010年工程图学学报2010第5期JOURNALOFENGINEERINGGRAPHICSNo.5AutoCAD与ParaSolid三维边界模型信息直接交换张应中,罗晓芳,乔磊(大连理工大学机械工程学院,辽宁大连116024)摘要:对ACIS和ParaSolid的三维实体边界表达数据结构进行分析,基于DwgDirect接口技术,直接打开AutoCAD的DWG文件,对AutoCAD的DWG文件中基

2、于ACIS的三维实体边界信息遍历,获取实体边界的拓扑信息和几何信息;基于ParaSolid提供的API开发函数,通过实体拓扑构造、实体几何构造和几何与拓扑附属关联,实现AutoCAD与ParaSolid三维边界模型的直接交换。最后给出一个直接交换实例。关键词:计算机应用;AutoCAD;ParaSolid;三维边界模型;直接交换中图分类号:TP391文献标识码:A文章编号:1003-0158(201005-0169-06DirectExchangeofThree-dimensionalBoundaryModelInformationbetweenAutoCADandParaSolidZHANG

3、Ying-zhong,LUOXiao-fang,QIAOLei(SchoolofMechanicalEngineering,DalianUniversityofTechnology,DalianLiaoning116024,ChinaAbstract:Thedatastructuresofthethree-dimensionalsolidboundaryexpressionforACISandParaSolidareanalyzed,basedonDwgDirectinterfacetechnologyDWGfilesinAutoCADaredirectlyopenedandthethree-

4、dimensionalentityboundaryinformationbasedonACISinAutoCADsDWGfilearesearchedandaccessed.BasedontheAPIdevelopmentfunctionprovidedbyParaSolid,bymeansofconstructingtopologyentities,constructinggeometryentitiesandassociatinggeometryentitiestotopologyentitiesprocedures,theaccessedboundarytopologyandgeomet

5、ryinformationcanbedirectlyexchangedtoconstructasolidmodelbasedonPrarSolid.Thusdirectexchangeofthree-dimensionalboundarymodelinformationbetweenAutoCADandParaSolidisrealized.Atlastanexampleofdirectexchangeisgiven.Keywords:computerapplication;AutoCAD;ParaSolid;three-dimensionalboundarymodel;directexcha

6、ngeAutoCAD是目前应用最广泛的二维CAD平台,AutoCAD从R11开始具有三维实体模型,从R13开始采用ACIS几何核心来构造三维实体,随着版本不断升级,三维造型功能日益强大,并且得到广泛的应用。ParaSolid是目前国际上最为成熟,应用最广的几何造型内核,CAD中著名的UG、SolidWorks、SolidEdge等都是以ParaSolid作为几何造型内核;CAM和CAE中大部分软件系统都支持ParaSolid的数据格式。研究和实现AutoCAD与ParaSolid三维边界模型信息交换有重要的实际意义。异构环境下,三维边界模型信息交换方法目前普遍采用的是基于中间文件1-2,为此制

7、定和形成一些国际标准和行业标准,例如IGES、DXF和STEP等。基于中间文件交换要求系统具备能生成符合标准的中间文件功能,并且存在信息丢失,操作烦琐,效率低问题,由于AutoCAD系统的支持信息交换能力不强,造成基于AutoCAD系统的三维实体信息资源不能实现有效的交换。本文基于DWGDirect技术,直接打开DWG图纸,搜索和遍历AutoCAD中基于ACIS的三维实体边界几何和拓扑信息,通过ParaSolid的边界拓扑映射,直接生成PrarSolid三维边界实体,实现AutoCAD与ParaSolid三维边界模型的直接交换。1三维边界模型信息表达1.1实体边界表达模型边界表达(B-reps

8、是三维实体模型最基本的表达方法,是将形体表达为它的有限数量的边界表面的集合。表面可能是平面,也可能是曲面,每个表面又可用它的边界的边及顶点表示。B-rep中信息分为两类:一类是几何数据,描述形体的大小、尺寸、位置、形状等;另一类是拓扑信息,拓扑是研究图形在形变与伸缩下保持不变的空间性质的一个数学分支。拓扑只关心图形内相对位置关系,不问它的大小与形状。在B-rep中拓扑信息是指用来说明体、面、边及顶点之间连接关系的一类信息。1.2PreaSolid边界表达模型ParaSolid是美国UGS公司的一个业界领先的几何实体建模内核,其拓扑实体定义如下3:(1)体(Body体是ParaSolid中一种基

9、本形体,可以由一个或多个简单形体连接组合而成。它有以下几种形式:Acorn:孤立点,Wire:线框,Sheet:薄板,Solid:立体,General:般形体。(2)区域(Region区域是一个开放的三维空间的连通子集,它的边界是一系列的点、边和有向面。(3)壳(Shell壳是一系列有向面和边的集合,面的一面或双面都可以被外壳引用。外壳的组成:面和方向逻辑的集合;边的集合;单个的顶点(4)面(Face是一个曲面的有界集合,它的边界是若干个环,是一个二维的区域。边界为零个环的面构成一个封闭的实体,如一个球面。(5)环(Loop是一个面的边界,是一个连接的二维实体。一个环在一个方向上不能通过一条边

10、两次。环的方向是这样规定的:沿该环的方向前进,面在左边。(6)翼(Fin表示一条边在环中的方向。它包含两个数据:一个是逻辑值,表示边与环是否同向;另一个数据是在该条边具有不同的局部精度时,边所依附的曲线。(7)边(Edge是一条曲线上有界的一段,它的边界是零个、一个或两个顶点。边是一个一维区域。(8)顶点(Vertex顶点表示空间中的一个点,是一个零维的区域。ParaSolid几何实体分为基本几何实体和构造几何实体,都具有三种类型:Surface曲面、Curve曲线和Point点。Surface曲面主要依附于拓扑Face面,典型曲面有:平面、圆柱面、圆锥面、圆环面、球面、过渡曲面、样条曲面、异

11、构几何曲面、偏移曲面、扫描曲面和旋转曲面;Curve曲线主要依附于拓扑Edge边,典型曲线有:直线、圆、椭圆、B样条曲线、一般样条曲线、异构几何曲线。基本几何实体依附在对应的拓扑体上,构造几何实体是新创建的还没有附属关联的几何实体,都可以表达为Body体。ParaSolid几何实体与拓扑实体关系如图1所示。170工程图学学报2010年基本几何拓扑构造几何图1ParaSolid几何实体与拓扑实体关系1.3ACIS边界表达模型ACIS是美国STI公司(SpatialTechnologyInc.推出的具有开放式软件体系结构的实体造型软件开发平台。ACIS的边界模型也是表达为拓扑表示和几何表示,拓扑结

12、构按层次从上到下分解成下列对象4:体(Body、块(Lump,表示空间一个有边界的相互连通的区域;壳(Shell、面(Face环(Loop、有向边(Coedge边(Edge顶点(Vertex。其几何表达类型和拓扑信息关系与上述ParaSolid基本类似。2DWG中的ACIS三维模型边界信息的提取AutoCAD图形保存的缺省文件是DWG文件,DWG是一个压缩格式未公开的二进制格式文件,目前CAD图纸绝大部分是以DWG格式存贮。能直接打开DWG图纸,并且能搜索和遍历出ACIS三维边界几何和拓扑信息是实现直接交换的基础。DWGdirect是由开放设计协会(OpenDesignAllianee推出的用

13、于独立于AutoCAD平台之外访问DWG文件接口,目前已被国际上众多公司所接受。本文采用DWGdirect接口访问和搜索DWG文件中基于ACIS的三维实体边界几何和拓扑信息。2.1 DWG中三维实体元素在DWGDirect中,DWG文件的图形实体数据在内存中由一个OdDbDatabase类的实例表示,并且提供了一个可以访问其图形数据库实体对象的块表记录遍历迭代器(OdDbBlockTableRecordlterator,通过该迭代器可以遍历存储在块表空间中的各种实体图形,如二维的直线段、圆弧、圆,三维的圆柱面、圆锥面、球面和三维实体等。三维实体元素是OdDb3dSolid类一个实例,OdDb3

14、dSolid类是从OdDbEntity类派生而来,OdDbEntity类是数据库实例中所有绘图对象的基类。同时,在DWGdirect中还提供了一个通用几何类OdGe类和用于边界表示的OdBr类。OdGe类是用来实现2D和3D几何对象操作的。OdBr库是一个边界表示库,允许用户以只读的方式去访问ACIS所创建的用边界表示法表示的实体,这类实体指的是OdDb3dSolid类的对象。2.2DWGdirect的三维实体边界定义OdBr库中提供了一个用来定义实体边界表示的拓扑对象的接口类OdBrEntity。它的结构层次如图2(a所示。OdBrEntity类是Brep结构抽象类;OdBrBrep类是Br

15、ep实体边界类,它是提供在OdDb3dSoid实体中对ACIS实体数据的Brep结构进行遍历的最高层。OdGe库中提供一个OdGeEntity3d类,它是所有OdGe类的几何对象的基类。它的结构层次如图2(b所示。2.3实体边界数据获取DWGdirect定义一个访问ACIS边界数据结构的接口OdBrBrep类,通过OdBrBrep为OdDb3dSolid实例对象和ACIS边界之间建立联系。同时还定义了遍历访问ACIS边界拓扑结构的遍历器(traverser类,可以遍历访问ACIS边界的壳、面、环、边、点拓扑信息和几何信息。对每一个OdDb3dSolid三维实体对象,其实现步骤如下:(1)创建O

16、dBrBrep实例对象,通过OdDb3dSolid类的成员函数brep(OdBrBrep&brep赋值;(2)定义拓扑遍历器,自顶向下遍历ACIS边界拓扑结构树。拓扑遍历器的定义是按照壳、面、环、边、点自上而下拓扑顺序分别定义,即通过OdBrBrep实例定义壳拓扑遍历器,拓扑遍历三维实体对象所有壳拓扑,通过壳拓扑信息定义面拓扑遍历器,拓扑遍历壳对象所有面拓扑信息,通过面拓扑信息定义环拓扑遍历器,拓扑遍历面对象所有环拓扑信息,依次遍历下去,从而获取实体边界所有拓扑和几何信息。第5期张应中等:AutoCAD与ParaSolid三维边界模型信息直接交换171p|):MMMTCIT|CJTUG;npj

17、izpmSRon注W2;LA哲VJIqSppCP!旧ChinaAllrightsreserved.PublishingHouse.IW-2012AcademicJournalElectronicoqo(a边界拓扑结构(b边界几何结构图2DWGdirect实体边界表示结构3ParaSolid实体边界映射构造ParaSolid采用与ACIS相类似的实体边界表示,同时ParaSolid提供一个API函数,可以直接构造出ParaSolid实体的拓扑结构。尽管ParaSolid与ACIS实体边界表示有些差别,通过拓扑映射的方式,完全可以将上述获取的ACIS边界数据通过以下步骤重新构造出ParaSolid

18、实体边界。实体边界映射构造主要涉及三个步骤:拓扑构造;创建几何数据;关联拓扑与几何数据。为了保证几何造型的可靠性与正确性,构造的实体要满足正则拓扑实体的要求:正则形体不能有悬边、悬线、悬面等等,同时还需要精度误差进行控制。3.1拓扑构造3.1.1 ParaSolid拓扑构造API函数在ParaSolid中提供了一个拓扑构造API函数PK_BODY_create_solid_topology,用来创建实体的拓扑。函数的具体形式是3PK_BODY_create_solid_topology(intn_topols,/被创建的实体所包含的拓扑实体的个数constPK_CLASS_tclasses,被

19、创建的实体所包含的每个拓扑实体的类型数组intn_relations,/类型关系个数constintparents,/父类关系constintchildren,/子类关系constPK_TOPOL_sensetsenses,方向标志PK_BODY_t*body,/创建返回的实体PK_TOPOL_t*topols,/创建返回的拓扑结构数组PK_BODY_fault_t*fault,/出错信息int*fault_index;上述参数中classes数组描述构造那些拓扑实体,拓扑实体类型通过PK_CLASS_body,PK_CLASS_shell,PK_CLASS_face,PK_CLASS_loo

20、pPK_CLASS_edgePK_CLASS_vertex表达体、壳、面、环、边和点。parents卜children和senses三个数组定义拓扑元素父子之间的关系,例如壳面关系、面环关系、环边关系等。通过拓扑元素父子之间的关系定义,将classes数组描述构造的拓扑实体关系联系起来,形成完整的实体拓扑结构。拓扑元素及父子关系的选用按如下规则:(1)当体具有多个(大于1)壳拓扑时,外壳必须第一个定义;(2)环的子边必须按绕环顺序定义;边的子点必须按边的方向定义;(3)每个边作为子类必须被使用两次,每个拓扑关系一次;(4)一个环类必须以多个边类或者单个点72工程图学学报2010年作为子类,但不

21、能以边和点混合或者多个点作为子类;(5) 一个点类必须以多条边或单个环作为父类,其父类不能为边与环的组合或者多个环。例如,一个方块体含有33个拓扑(n_topols=33,其中包括1个壳,6个面,6个环,12条边和8个顶点。实体拓扑之间的关系共有60个,1个壳是由6个面组成,壳面关系为6;每个面由1个环组成,面环关系为6;个环由4条边组成,环边关系为24;每条边由2个顶点组成,边顶点关系为24。parentsOparents5指向壳拓扑元素在在class数组中序列号,此处全为0;children0children5指向面拓扑元素在class数组中序列号,分别是1、2、3、4、5、6。sense

22、s定义了每两个拓扑实体之间的方向关系。当子类为边PK_CLASS_edge,且当子类边在父类环的相同方向时,senses被赋值为PK_TOPOL_sense_positive_c当子类边在父类环的相反方向时,senses被赋值为PK_TOPOL_sense_negative_c其他情况下senses被赋值为PK_TOPOL_sense_none_e3.1.2拓扑构造实现拓扑构造实现的算法步骤如下:(1)计算要创建的拓扑体的个数根据上述对ACIS边界拓扑遍历,计算出壳的个数、面的个数、环的个数、边的个数和点的个数之和。(2)设置各个拓扑体的类型根据计算的拓扑体个数,分配拓扑体的类型数组空间,并根

23、据拓扑类型设置相应数组位置拓扑类型值,例如一个体有一个壳,classes0=PK_CLASS_shel个壳有6个面,贝Uclasses1classes6=PK_CLASS_face数组元素中下标变量Index和classesIndex值确定了所构造的拓扑结构数组中第Index的拓扑类型。(3) 计算拓扑体元素关系个数根据上述ParaSolid对拓扑体元素关系定义规则及ACIS边界拓扑遍历结果,计算拓扑体元素关系个数n_relations。(4) 设置拓扑体元素关系根据计算的扑体元素关系个数,分配拓扑体元素关系数组空间,即parents、children和senses设置为同样大小的数组。并根据

24、拓扑类型设置相应数组位置拓扑元素关系值。3.2几何构造3.2.1 ParaSolid几何定义ParaSolid几何实体有三种类型:Surface曲面、Curve曲线和Point点。Surface曲面类型有平面、圆柱面、圆锥面、圆环面、球面、过渡曲面、样条曲面、异构几何曲面、偏移曲面、扫描曲面和旋转曲面;Curve曲线主要有:直线、圆、椭圆、B样条曲线、一般样条曲线、异构几何曲线。例如,圆柱面是通过一个三维点,圆柱面轴线方向矢量,参考方向矢量以及圆柱面的底面半径的数据结构定义:structPK_CYL_sf_sPK_VECTOR_tlocation;/圆柱中心点位置PK_VECTOR1_taxi

25、s;/圆柱面轴线方向矢量PK_VECTOR1_tref_direction;/参考方向矢量doubleradius;/圆柱面的底面半径;3.2.2几何创建重新开始对ACIS边界拓扑遍历,重设拓扑定位指针变量Index=0;并依壳、面、环、边、点的顺序,获取相应附属拓扑元素的几何信息,创建相应的几何实体,每遍历一个拓扑元素,拓扑定位指针变量Index加1。ParaSolid提供针对具体各曲面、曲线和点实体构造的API函数。设置一个数据结构保存构造的几何实体和该几何实体相附属的拓扑定位指针,例如曲面实体保存数据结构如下:structSurFaceBodyPK_Body_t*SurFaceArray

26、;int*pindex;3.3几何与拓扑关联一个有效的实体应该是具有完整的拓扑与几何信息数据,上面步骤所完成的只是一个分离的拓扑实体和几何实体,需要将其有机地关联系起来。第5期张应中等:AutoCAD与ParaSolid三维边界模型信息直接交换173174工程图学学报2010年通过PK_BODY_create_solid_topology函数成功完成拓扑构造后,返回已经创建的拓扑体存放在一个数组变量topols中,topols按照输入的顺序存放拓扑元素,即构造的拓扑体顺序与class数组中的顺序是一致的,这就为构造几何体与其对应拓扑关联创造条件。ParaSolid提供几何体与其对应拓扑关联的A

27、PI函数。PK_FACE_attach_surfs函数关联曲面几何到Fcae面拓扑,PK_EDGE_attach_curve函数关联曲线几何到Edge边拓扌卜,PK_VERTEX_attach_pointe函数关联点几何到Vertex点拓扑中。4交换应用实例上述AutoCAD与ParaSolid三维边界模型的直接交换方法在作者开发的JhSolid2007下实现。JhSolid2007采用ParaSolid作为几何造型内核,VC+、OpenGL开发。基于DwgDirect接口,可以直接打开AutoCAD具有三维实体的DWG文件,将AutoCAD中的三维实体,在JhSolid2007下作为引入几何

28、体生成。图3是一个交换的简单零件实例。图3交换零件实例5结束语本文通过对AutoCAD中基于ACIS的三维实体边界表达数据结构和ParaSolid的三维实体边界表达数据结构的分析,基于DwgDirect接口技术和ParaSolid提供的API开发函数,通过对ACIS的三维实体边界遍历,获取实体边界的拓扑信息和几何信息,通过拓扑构造、几何构造和几何关联,实现AutoCAD与ParaSolid三维边界模型的直接交换。为AutoCAD系统下三维实体信息资源的充分利用创造条件。本文介绍的三维边界模型的直接交换方法对基于ParaSolid几何造型内核的UG、SolidWork等软件系统的二次开发实现直接

29、读取DWG的三维实体信息也有一定的参考意义。4321参考文献PrattMichaelJ,AndersonBillD,RangerTony.TowardsthestandardizedexchangeofparameterizedfeaturebasedCADmodelsJ.Computer-AidedDesign,2005,37(12:1251-1265.陈小安,谭93-99.Unigraphics2000.赵建军,王启付.基于边界表达的ParaSolid与ACIS直接双向接口J.计算机工程,2004,30(8:40-41.5OpenDesignAllianee.DWGdirectreferenceM/CD.OpenDesignAlliance,2003.SolutionsInc.ParaSolidonlinedocumentationM/CD.UnigraphicsSolutionsInc,宏.三维几何模型的中性文件格式的数据交换方法研究J.机械工程学报,2001,37(10:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!