[发明专利]一种将DGN模型转化成轻量模型的方法有效
申请号: | 201511003773.6 | 申请日: | 2015-12-28 |
公开(公告)号: | CN106919728B | 公开(公告)日: | 2021-10-12 |
发明(设计)人: | 匡卫军;于潇;张琳;刘煜 | 申请(专利权)人: | 上海核工程研究设计院 |
主分类号: | G06F30/3308 | 分类号: | G06F30/3308 |
代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 冯子玲 |
地址: | 200233*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 dgn 模型 转化 成轻量 方法 | ||
本发明提供一种将DGN模型转化成轻量模型的方法,包括以下步骤:S1,首先打开DGN文件,然后扫描模型描述算子存入数组array A;S2,判断array A是否为空;S3,读取array A中的模型描述算子Dsc;S4,提取Dsc中编码信息;S5,提取Dsc中模型的类型;S6,模型面片化处理;S7,写入文件;S8,判断array A中是否有模型描述算子未处理,若有则转到S3。本发明提供的将DGN模型转化成轻量模型的方法,可以实现将DGN格式的模型转成轻量化模型,轻量化模型中包含了原DGN文件中每个模型的编码,材质、颜色等属性信息,为其它软件对模型进行操作特别是属性查询创造了条件。
技术领域
本发明涉及虚拟仿真领域,具体涉及一种将DGN模型转化成轻量模型的方法。
背景技术
DGN文件是一种在工程设计领域应用非常广泛的三维模型文件格式,DGN文件中不仅包含模型的几何信息还有编码、颜色、材质等属性信息。但是DGN文件并不能被很多三维软件兼容,无法被它们直接打开,所以用三维软件打开DGN模型之前需要将DGN文件转化成其它格式。目前利用一些软件自带的转换插件虽然能DGN模型转化成面片模型,但是这些插件只使用了一些通用的、简单的算法对模型整体进行面片化,转换出来的模型存在占用内存较大;属性信息丢失;模型是一个整体,三维软件无法对文件中特定的几何体进行操作。这给对模型的操作如移动、属性查询等造成了很大的不便。
发明内容
本发明针对现有技术的不足,提出一种将DGN模型转化成轻量模型的方法。
将DGN模型转化成轻量模型的方法,包括以下步骤:
S1,首先打开DGN文件,若打开成功则创建文本格式的轻量化文件;然后扫描DGN文件中的所有的模型描述算子,将其存入数组array A;模型描述算子为MDL中定义的一种描述模型的数据结构,为双向链表形式,含有模型的几何信息、属性信息等;
S2,判断array A是否为空;若为空说明DGN文件是空文件,不需要处理;若不为空,进行以下步骤;
S3,读取array A中的第一个模型描述算子存入Dsc;
S4,提取模Dsc中编码信息即Linkage;然后获取Dsc中的模型的材质、颜色等属性信息;
S5,提取Dsc中模型的类型;
S6,模型面片化处理;
S7,将数据及属性信息按照wrl文件或者obj文件的格式写入创建的轻量化文件中;
S8,判断array A中是否有模型描述算子未处理,若有,则继续从S3开始处理,直至所有模型描述算子处理完毕;若没有,则结束。
优选地,S5具体包含以下步骤;
S51,判断Dsc中的模型是否为点、线段独立元素,若是则无需处理,若不是,进行以下步骤;
S52,判断Dsc中模型的类型是否为CELL_HEADER_ELM,若不是,则可以直接对模型进行面片化处理,若是,进行以下步骤;
S53,判断Dsc中模型是否为Grouped Hole或者Smart Solid,若是,则可以直接面片化处理,若不是,则说明该模型描述算子含有子模型描述算子(子模型描述算子数据结构与模型描述算子相同),则需要通过进行以下循环逐个处理子模型描述算子;
S54,将第一个子模型描述算子赋给tempDsc;
S55,获取tempDsc中模型类型,然后跳转到S52,进行递归处理;
S56,将下一个子模型描述子算子赋给tempDsc;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海核工程研究设计院,未经上海核工程研究设计院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511003773.6/2.html,转载请声明来源钻瓜专利网。