基于VC的STL文件读取.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VC的STL文件读取 第23卷第2期 VO1.23NO.2 湖北工业大学学报 JournalofHubeiUniversityofTechnology 2008年4月 Apr.2008 | 文章编号 11003—4684(2008)02—0044—03 基于VC的STL文件读取 张贞贞,陈定方 (1武汉理工大学计算机科学学院,湖北武汉430063;2武汉理工大学物流工程学 院,湖北武汉430063) I摘要]就CAD系统较常用文件格式STL的快速读取问题展开讨论,分析了 STL 两种文件格式的特点,并 讨论了冗余数据的消除. [关键词]STL文件;ASCII;二进制 [中图分类号]TP391[文献标识码]:A STL(StereoLithographyinterfacespecifica一 tion)文件格式最初出现于1989年美国3DSYS— TEM公司生产的SLA快速成型系统,是一种应用 于CAD模型与成型系统之间数据转换的文件格 式,现在已为大多数CAD系统和快速成型系统制 造商所接受和采用,并且已经在快速成型技术领域 中被誉为工业标准.本文旨在研究如何高效率读取 STL文件. 1STL文件格式的结构 STI类似于实体数据模型的表面有限元网格 划分.STL模型的数据通过给出组成三角形法向量 的3个分量及三角形的3个顶点坐标来实现,STL 文件记载了组成实体模型的所有三角形面片的法向 量数据和顶点坐标数据,有文本文件(ASCII)和二 进制文件(BINARY)两种格式. 1.1STL的ASCII文件格式 ASC II码格式STL文件逐行给出三角面片的 几何信息,每一行以1个或2个关键字开头.在 STL文件中的三角面片的信息单元facet是一个带 矢量方向的三角面片,STL模型就是由一组这样的 三角面片构成.在一个STL文件中,每一个facet由 7行数据组成,第1行是三角面片指向实体外部的 法向失量数据,第2行说明随后的第3,4,5行数据 分别是三角面片的3个顶点信息,沿指向实体外部 的法向矢量(第1行数据)方向逆时针排列. ASC II ]格式的STL文件结构如下: solidfilenamestl facetnormalxYz outerloop vertexxYz vertexxYz vertexxYz endloop endfacet 〃文件路径及文件名 〃三角面片法向量的3个分量值 〃三角面片第一个顶点的坐标 〃三角面片第二个顶点的坐标 〃三角面片第三个顶点的坐标 〃第一个三角面片定义完毕 eadsoKdfiteuamestt 〃整个文件结束 1.2STL的二进制文件格式 二进制STL文件用固定的字节数来给出三角 面片的几何信息.文件的起始80字节是文件头存储 零件名,可以放入任何文字信息;紧随着用V个字节 的整数来描述实体的三角面片个数,后面的内容就 是逐个给出每个三角面片的几何信息.每个三角面 片占用固定的50字节,它们依次是3个4字节浮点 数,用来描述三角面片的法矢量;3个4字节浮点 数,用来描述第1个顶点的坐标;3个4字节浮点 数,用来描述第2个顶点的坐标;3个4字节浮点 数,用来描述第3个顶点的坐标,每个三角面片的最 后2个字节用来描述三角面片的展性信息(包括颜 色屈性等)暂时没有用.一个二进制STL文件的大 小为三角形面片数乘以50再加上84个字节. 比较这2种方式可知,二进制格式文件较小(通 常是ASCII码格式的1/5)_3],节省存储空间,但 ASCII码格式的文件可读性更强,能被人工识别并 被修改. [收稿日期]2007—12 - 01 [作者简介]张贞贞(1982—),女,湖北枣阳人,武汉理工大学硕士研究牛,研究方向: 讣算机辅助设计与仿真 第23卷第2期张贞贞等基于VC的STL文件读取45 2STL文件的读取与显示 STL文件是由一系列的三角形面片无序排列 组合在一起的,没有反映三角形面片Z间的拓扑关 系,而且每一个小三角形面片必须与相邻的三角形 面片共用2个顶点,每个顶点通常被重用6次左右, 文件数据重复很多,造成了 STL文件在读取,存储 等方面的效率问题?本文研究了如何消除冗余数据 并快速读取STL文件,这对于后续三维图形的现 实,是一个重要和基本的环节. 去除兀余点的实质是,从STL文件中依次取出 三角形,通过比较三角形顶点的坐标值,归并重复的 点,从而建立一个无重复点的点表,去除兀余点最直 接的方法就是比较法.对于新的顶点,读进来时依次 对X坐标,y坐标和Z坐标进行比较,且保证所有顶 点依次按照X坐标,y坐标和Z坐标排序.这样大大 减少了查找范围,提高了排序和插入的效率,采用上 述分析方法建立点表,有3个步骤:第一步,按三角 形为单元,从文件中读人该三角形的3个顶点,逐点

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档