3DXML文件格式解析及应用
2010年 工 程 图 学 学 报 2010第2期 JOURNAL OF ENGINEERING GRAPHICS No.2
3DXML文件格式解析及应用
王晓斌1, 宁 涛1, 王 可2
(1. 北京航空航天大学机械工程及自动化学院,北京 100191;
2. 北京新洲协同软件技术有限公司,北京 100062)
摘 要:3DXML文件格式是一种重要的轻量化CAD数据格式,通过对3DXML文件格式的分析,论述了一种基于MSXML解析器的文件解析技术。这种解析方式可以快速提取3DXML文件中的重要信息,通过对几何及属性信息的重构,建立整个装配体场景,使用文件中的多分辨率模型,可以提高较大模型的渲染速度。最后给出了基于3DXML文件格式的轻量化CAD浏览器的应用实例。
关 键 词:计算机应用;3DXML技术;MSXML技术;SAX技术;轻量化模型 中图分类号:TP 391
文献标识码:A 文 章 编 号:1003-0158(2010)02-0033-05
Parsing 3DXML File Format and Its Application
WANG Xiao-bin1, NING Tao1, WANG Ke2
( 1. School of Mechanical Engineering and Automation, Beijing University of Aeronautics and Astronautics, Beijing 100191, China;
2. United Right Software Limited Corporation, Beijing 100062, China )
Abstract: 3DXML file format is an important lightweight CAD data format. Through
analyzing 3DXML file format, an approach to parse 3DXML file with MSXML is presented, which can be used to get important information from 3DXML file quickly. According to reconstructing the geometry and attribute information, the whole scene of assembly will be built. Using the LOD models, the speed of rendering will be accelerated. Finally, a lightweight CAD model viewer based on 3DXML file format is given as an example.
Key words: computer application; 3DXML; MSXML; SAX ; lightweight model
三维模型不仅是设计和制造过程中表达产品信息的重要媒介,在产品发布,产品销售,维护等过程中,同样扮演着重要的角色。通过在网络上浏览产品的三维模型,将三维模型整合到技术文档、维护手册、宣传册、邮件中,用户可以更直接的了解产品的相关信息,更加迅速地掌握
收稿日期:2008-09-22
作者简介:王晓斌(1984-),男,辽宁抚顺人,硕士研究生,主要研究方向为CAD/CAM技术。
产品的使用,降低产品的维护成本。
但是传统的CAD文件中包含重要的设计信息,而且文件较大,不便于网络传输和企业之间的数据交流。针对这些问题,需要一种轻量化的三维模型数据格式,保留产品的三维模型显示信息,过滤掉重要的设计信息,同时文件的尺寸更
·34· 工 程 图 学 学 报 2010年
小。
通过CAD软件内置的工具,可以将三维模型转换成VRML,STL,PLY等文件,这些文件采用三角片来表示模型,过滤了模型的设计信息,但是没有装配信息,不能表达零件之间的关系,同时文件较大,不便于网络传输和存储。
为此,Dassault Systemes公司推出了3DXML文件格式[1]。3DXML是一种基于XML的轻量化的3D数据格式,它体积更小,压缩比高,能使用户快速、简单地获得和共享精确的3D数据。
本文针对3DXML文件格式进行解析,给出解析的主要步骤和基于3DXML文件的轻量化三维模型浏览方案及应用实例。
信息,建立适当的数据结构,对文件数据重新进行组织,以实现对三维模型的浏览和编辑。
2 3DXML解析器设计及实现
本文所采用的3DXML文件格式为最新的4.0版本,其解压后的所有文件都可以使用文本编辑器进行浏览和修改。
解析器使用MSXML4.0进行XML文件的解析[2],使用SAX(A Simple API for XML)方式进行解析,该解析方式适合解析大型的XML文件,可以快速提取大型装配体的相关信息。SAX是一个事件驱动接口,采用顺序的方式读取XML文件,在读到XML元素的开始标记,结尾标记和内容标记时将产生一系列的事件,返回元素名,属性值,元素内容字符串等信息供用户使用。对MSXML所提供的接口ISAXContentHandler,派生出新的类,并重载该接口的3个虚函数,如表1所示。
表1 SAX解析主要重载函数 函数名称 startElement characters endElement
主要参数
元素名称,属性信息 字符串值及其长度 元素名称
1 3DXML简介
3DXML是一种完全开放的数据格式,不同于一般的CAD文件,3DXML文件中不含有几何信息,只包含模型实体信息,同时保有装配信息。这使3DXML的文件尺寸远远小于一般的CAD文件,同时3DXML对文件近一步压缩,使其能够提供更快的文件传输速度和更短的储存时间。
3DXML完全遵循XML语法,使用任何的标准XML解析器都可以对其进行解析,提取需要的信息。
Dassault System在其所有的产品中如CATIA,Virtools等,都加入了对3DXML的支持,可以将CAD文件转换成相应的3DXML文件,同时Dassault Systemes提供了3DXML浏览器,但是只能进行最基本的显示操作,而用户在使用模型的过程中,往往要进行如拖拽,生成爆炸图,设置属性,添加注释等操作,这就需要提取图形信息,重新进行组织,完成所需的功能。为此,本文对3DXML文件格式进行解析,提取必要的
startElement响应XML元素结点开始事件,endElement响应结点结束事件,character处理所有的非结点字符,包括元素值,空格和换行符。
当解析器读取到文件相应内容时,将自动回调上表中相应函数,并将文件信息作为参数传入函数供使用者调用。
3DXML文件的基本构成如图1所示。
图1 3DXML多文件组织结构
第2期 王晓斌等:3DXML文件格式解析及应用 ·35·
3DXML文件是一种多文档格式,并采用ZIP算法压缩成一个文件。Manifest文件中的<Root>元素结点值为装配信息文件名,即扩展名为3dxml的文件。扩展名为3drep的文件保存图形数据及属性信息。在本文的解析器中,有两个主要的类,都派生自接口ISAXContentHandler,分别用来解析装配和图形文件。
在解析的过程中,首先对文件进行解压缩,然后读取Manifest文件,获取装配信息文件名。读取装配信息,生成产品结构树,同时获取所有的图形数据文件名,最后依次解析图形文件。
2.1 装配信息解析
在装配文件中保存的信息较多,但产品的装配结构是人们最关心的,因此主要针对装配信息进行解析。
3DXML文件中零件之间的装配关系采用有向非循环图结构进行组织[3]。其文件数据结构如图2所示。
3DXML采用引用/实例(Reference/Instance)的方式描述产品结构,引用表示一个可以被重复使用的物体,实例则表示该引用的一个实例化物体,而一个引用常常又是由多个实例组成。
图2 装配文件结构
产品结构信息由XML元素<ProductStructure >标识其开始,该结点有4类子结点,<Reference3D>,<Instance3D>,<ReferenceRep>,<InstanceRep>。每个结点具有唯一的ID值。<Instance3D>结点有3 …… 此处隐藏:3392字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




