CN104750913B - 一种实现dwg三维模型自动转换为x三维模型的方法 - Google Patents

一种实现dwg三维模型自动转换为x三维模型的方法 Download PDF

Info

Publication number
CN104750913B
CN104750913B CN201510098594.9A CN201510098594A CN104750913B CN 104750913 B CN104750913 B CN 104750913B CN 201510098594 A CN201510098594 A CN 201510098594A CN 104750913 B CN104750913 B CN 104750913B
Authority
CN
China
Prior art keywords
threedimensional model
texture
entity
dwg
textures
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510098594.9A
Other languages
English (en)
Other versions
CN104750913A (zh
Inventor
桂林
王冲
闻平
吴小东
肖胜昌
栾有昆
杨林波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PowerChina Kunming Engineering Corp Ltd
Original Assignee
PowerChina Kunming Engineering Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PowerChina Kunming Engineering Corp Ltd filed Critical PowerChina Kunming Engineering Corp Ltd
Priority to CN201510098594.9A priority Critical patent/CN104750913B/zh
Publication of CN104750913A publication Critical patent/CN104750913A/zh
Application granted granted Critical
Publication of CN104750913B publication Critical patent/CN104750913B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种实现DWG三维模型自动转换为X三维模型的方法,属于工程设计技术领域。所述方法包括如下步骤:(1)数据解析:遍历DWG三维模型,获取模型各实体几何信息、纹理及贴图;(2)几何信息处理:遍历步骤(1)所获取到的实体几何信息,按照X三维模型格式的要求进行处理并创建实体索引;(3)纹理及贴图处理:对步骤(1)所获取的纹理及贴图信息进行处理;(4)X三维模型格式输出:将经步骤(2)所处理的模型实体几何信息按照实体索引,写入X三维模型文件中;(5)材质库输出:将步骤(3)所处理得到的纹理及贴图根据步骤(2)中创建的实体索引写入X三维模型文件中。本发明使得三维设计成果能够一次完成,多次利用。

Description

一种实现DWG三维模型自动转换为X三维模型的方法
技术领域
本发明适用于工程设计技术领域,具体涉及将AutoDESK系列平台设计生产的DWG三维模型转换为X三维模型的方法。
背景技术
当前在三维工程设计领域,不同的设计平台所生产的三维设计模型成果通用性较差,同一平台基本不支持其他平台所生产的成果,即使有部分的格式支持人工转换,但转换后模型效果也大打折扣,阻碍了三维设计成果在不同平台中的重复利用,降低了工作效率,增加了设计成本。
Autodesk公司系列三维设计软件所生产的DWG三维模型格式是业界较为普遍的一种设计模型格式,在实际生产工作中,往往需要将其放置于指定的三维设计平台中进行展示和操作,另一方面,X三维模型格式作为另一种较为通用的三维模型格式在生产当中也有广泛应用,如何填补现有的技术空白,将DWG三维模型自动转换为X三维模型是工程设计技术领域亟待解决的问题。
发明内容
鉴于现有技术的不足,本发明旨在提供一种DWG三维模型自动转换到X三维模型的方法。
本发明的技术方案如下:
一种实现DWG三维模型自动转换为X三维模型的方法,包括以下步骤:
步骤(1),数据解析:加载DWG SDK动态链接库,遍历DWG三维模型,获取模型各实体几何信息、纹理及贴图;
步骤(2),几何信息处理:遍历步骤(1)所获取到的实体几何信息,按照X三维模型格式的要求进行处理并创建实体索引,得到符合X三维模型格式的实体数据;
步骤(3),纹理及贴图处理:对步骤(1)所获取的纹理及贴图进行处理,得到符合X三维模型格式的纹理及贴图;
步骤(4),X三维模型格式输出:将经步骤(2)所处理得到的符合X三维模型格式的实体数据按照步骤(2)创建的实体索引,写入X三维模型文件中;
步骤(5),材质库输出:将经步骤(3)所处理得到的符合X三维模型格式的纹理及贴图根据步骤(2)中创建的实体索引写入X三维模型文件中,即可。
上述技术方案中,进一步优选的是步骤(1)所述的几何信息包括DWG三维模型中每一个模型实体的顶点、线、面和法线的信息。
进一步,优选的是步骤(1)所述的纹理及贴图信息包括每一个模型实体所涉及的表面贴图和颜色设置。
进一步,优选的是步骤(2)所述的几何信息处理包括顶点的处理和法线的处理。
进一步,优选的是步骤(2)所述几何信息处理过程中,对顶点和法线均要进行坐标轴转换处理。
进一步,优选的是步骤(2)所述的顶点处理是直接读取几何信息的几何转换矩阵和全局转换矩阵,并对所有顶点进行坐标变换,得到全局坐标系下的顶点坐标值。
步骤(3)所述的纹理及贴图处理中,DWG三维模型添加材质的时候是以体为单位添加而不是面,因此在读取材质的时候也是一个三维实体对应一种材质,进而建立三维实体与材质之间的关联。
步骤(3)所述的纹理及贴图处理过程中,由于DWG三维模型中为实体添加的材质绝大部分是来自CAD自身的材质库,CAD材质库中包含的贴图常用来表示材质的纹理信息,此次转换程序只能读取到CAD材质库中包含的贴图,提取材质属性的同时可以提取表示该材质纹理的贴图。
进一步,优选的是步骤(5)材质库输出时,由于X三维模型材质文件保存在模型文件夹下,由模型文件中的索引调用,而DWG三维模型所存储的材质库是不重复的,因此,只需将纹理及贴图逐个转换为JPG格式图片输出,并复制到X三维模型格式文件夹下。
本发明与现有技术相比,其有益效果为:
(1)快捷易用;用户可通过窗口添加DWG三维模型数据,自动完成几何信息、纹理和贴图信息的转换;
(2)本方法的实现不依靠任何三维模型设计平台,不同于其他方式“间接转换”的方式,通过对数据的直接读取进行分析和转换,提高了转换后的模型质量,对不同模型的反复利用有着重要的意义。
附图说明
图1为DWG三维模型结构图;
图2为X三维模型结构图;
图3为DWG三维模型转换X三维模型技术流程图。
具体实施方式
下面结合附图对本发明作进一步的详细描述。
本领域技术人员将会理解,下列实施例仅用于说明本发明,而不应视为限定本发明的范围。实施例中未注明具体技术或条件者,按照本领域内的文献所描述的技术或条件或者按照产品说明书进行。所用软件未注明开发商者,均为可以通过购买获得的常规产品。
需要说明的是,下列文件结构:
如图1所示,DWG三维模型文件结构:欧特克(AutoDESK)公司名下AutoCAD软件存储三维模型数据的标准格式,其派生于AcDbobject类型,相关的模型文件信息存储于AcDbBlockTable块表当中,对于每一个DWG三维模型文件,AcDbBlockTable块表中的内容包括五部分内容,分别如下:1文件头部(HEADER)、2实体部分(ENTITIES)、3表部(TABLES)、4块实体部(BLOCKS)、5应急头部(CONTINGENCY HEADER),其中头部文件为固定长度,用于存储标志、版本、索引及部分系统变量;实体部分为数据主体,包含了模型数据中的基本图形单元,如顶点、法线、圆、面等信息;表部是为了方便索引而引入的结构,DWG文件中所有的表均按照一定顺序集中存放于表中;块实体是为了减少模型文件的长度和方便操作而引入,每一个块包含若干实体;应急头部保存了重要索引信息的副本,在DWG模型文件遇到损坏时可用于文件修复。
如图2所示,X三维模型文件结构:微软(MicroSoft)公司提出的一种公开三维模型存储方式,其以文本方式存储模型数据,由模板(template)驱动的,模板定义了如何存储一个模型对象,而在X模型数据中,预先定义了许多模板,不同于DWG模型格式,在X模型中,模型的顶点、向量、结构面等信息是通过索引来制定的。
如图3所示,本发明为一种实现DWG三维模型自动转换为X三维模型的方法,所述方法主要包括以下步骤:
步骤(1)数据解析:加载DWG SDK动态链接库,遍历DWG三维模型,获取模型各实体几何信息、纹理及贴图;
其中:第一,读取DWG三维模型文件,对于DWG三维模型而言,其实体数据存储在AutoCAD数据库中,每一个AcDb3dSolid类型的三维实体占用数据库块表中的一条记录,通过遍历块表,可以获取三维实体集合;
所述的纹理及贴图信息包括每一个模型实体所涉及的表面贴图和颜色设置。
步骤(2)几何信息处理:几何信息处理:遍历步骤(1)所获取到的实体几何信息,按照X三维模型格式的要求进行处理并创建实体索引,得到符合X三维模型格式的实体数据;
其中:第一,提取几何信息:解析AcDb3dSolid类型的三维实体需要将AcDb3dSolid类型转化为AcBrBrep类型,AutoCAD从R13版本以来采用B-Rep(边界表示法)表示的ACIS组件作为其几何造型内核,Object ARX中的AcBr类库向用户提供了一些能够以只读的方式去访问实体建模器所创建的用边界表示的实体拓扑数据和几何数据的类和相关函数,可以使用这些类跟函数读取三维实体的几何信息,包括三维实体对象的顶点、法线、顶点索引和法线索引。主要通过以下几个环节实现:
构建B-Rep对象,通过AcBr类库中定义的穿梭器类,获取三维实体包含的AcBrFace类型的面对象;
对AcBrFace类型的面对象建立控制网格,控制网格可以是四边形、多边形、三角形,此次转换使用三角形的控制网格;
使用三角形控制网格建立三角形网格;
解析三角形网格,读取每个网格所包含的顶点以及顶点法线;
根据每个实体包含的网格,计算其顶点索引、顶点法线索引;
第二,顶点的处理:直接读取几何信息的几何转换矩阵和全局转换矩阵,并对所有顶点进行坐标变换,得到全局坐标系下的顶点坐标值。
需要说的是,由于DWG三维模型格式是右手坐标系,而X三维模型格式是左手坐标系,需要对顶点进行坐标轴转换;
其三,法线的处理:由于DWG三维模型格式是右手坐标系,而X三维模型格式是左手坐标系,需要对法线坐标轴进行反转;
步骤(3),纹理及贴图处理:对步骤(1)所获取的纹理及贴图信息进行处理,得到符合X三维模型格式的纹理及贴图;
其中:第一,提取纹理及贴图,DWG文件中包含的纹理及贴图存储在AutoCAD数据库的材质词典中,可以通过遍历材质词典提取DWG文件中包含的纹理及贴图,从材质词典中提取的是AcDbMaterial类型的对象。
AutoCAD中为实体添加的纹理及贴图绝大部分是来自CAD自身的材质库,AcDbMaterial类中的一些读材质属性的函数中带有AcGiMaterialMap类型的参数,AcGiMaterialMap类中包含读取纹理及贴图名称的函数,此次转换程序只能读取到CAD材质库中包含的纹理及贴图。
第二,纹理及贴图处理:DWG三维模型添加纹理及贴图的时候是以体为单位添加而不是面,因此在读取纹理及贴图的时候也是一个三维实体对应一种纹理或贴图,进而建立三维实体与材质之间的关联。在AcGiMaterialMap类中获取实体的纹理及贴图后,为符合X三维模型要求,将其转存为JPG格式图片。
步骤(4),X三维模型格式输出:将经步骤(2)所处理的模型实体几何信息按照步骤(2)创建的实体索引,写入X三维模型文件中;
输出几何信息方式是每读取一个步骤(2)所处理完成三维实体的几何信息便输出该信息,再读取下一个三维实体几何信息直到遍历完所有的三维实体,在向X三维模型文件DATA部分输出过程中,按以下顺序进行:
实体索引
解析到的三维实体的顶点数目;
三维实体所包含mesh的顶点信息;
三维实体包含的所有mesh的法线数目;
三维实体包含的所有mesh的法线信息;
读取下一个三维实体,重复步骤~
步骤(5),材质库输出:将经步骤(3)所处理得到的X三维模型格式纹理及贴图根据步骤(2)中创建的实体索引写入X三维模型文件中,即可。
在材质库输出过程中,由于X三维模型的纹理及贴图是保存在文件夹下。通过索引进行引用的,因此,首先将步骤(3)处理得到的JPG格式纹理及贴图经过序列命名后,将其拷贝至X三维模型文件夹下,而后,将纹理及贴图引用写入X三维模型文件中的DATA数据文件下,在输出过程中,按以下顺序进行:
实体索引;
材质及纹理引用索引;
材质及纹理引用文件名;
读取下一个三维实体,为了避免材质及纹理重复,同时应判断实体材质及纹理引用是否存在,如果存在,则只进行步骤~进行引用,如果不存在,则重复步骤~
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (4)

1.一种实现DWG三维模型自动转换为X三维模型的方法,其特征在于,包括以下步骤:
步骤(1),数据解析:加载DWG SDK动态链接库,遍历DWG三维模型,获取模型各实体几何信息、纹理及贴图;
步骤(2),几何信息处理:遍历步骤(1)所获取到的实体几何信息,按照X三维模型格式的要求进行处理并创建实体索引,得到符合X三维模型格式的实体数据;
所述的几何信息处理包括顶点的处理和法线的处理;所述几何信息处理过程中,对顶点和法线均要进行坐标轴转换处理;所述的顶点处理是直接读取几何信息的几何转换矩阵和全局转换矩阵,并对所有顶点进行坐标变换,得到全局坐标系下的顶点坐标值;
步骤(3),纹理及贴图处理:对步骤(1)所获取的纹理及贴图进行处理,得到符合X三维模型格式的纹理及贴图;
步骤(4),X三维模型格式输出:将经步骤(2)所处理得到的符合X三维模型格式的实体数据按照步骤(2)创建的实体索引,写入X三维模型文件中;
步骤(5),材质库输出:将经步骤(3)所处理得到的符合X三维模型格式的纹理及贴图根据步骤(2)中创建的实体索引写入X三维模型文件中,即可。
2.根据权利要求1所述的实现DWG三维模型自动转换为X三维模型的方法,其特征在于,步骤(1)所述的几何信息包括DWG三维模型中每一个模型实体的顶点、线、面和法线的信息。
3.根据权利要求1所述的实现DWG三维模型自动转换为X三维模型的方法,其特征在于,步骤(1)所述的纹理及贴图信息包括每一个模型实体所涉及的表面贴图和颜色设置。
4.根据权利要求1所述的实现DWG三维模型自动转换为X三维模型的方法,其特征在于,步骤(5)材质库输出时,将纹理及贴图逐个转换为JPG格式图片输出,并复制到X三维模型格式文件夹下。
CN201510098594.9A 2015-03-05 2015-03-05 一种实现dwg三维模型自动转换为x三维模型的方法 Active CN104750913B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510098594.9A CN104750913B (zh) 2015-03-05 2015-03-05 一种实现dwg三维模型自动转换为x三维模型的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510098594.9A CN104750913B (zh) 2015-03-05 2015-03-05 一种实现dwg三维模型自动转换为x三维模型的方法

Publications (2)

Publication Number Publication Date
CN104750913A CN104750913A (zh) 2015-07-01
CN104750913B true CN104750913B (zh) 2018-12-04

Family

ID=53590592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510098594.9A Active CN104750913B (zh) 2015-03-05 2015-03-05 一种实现dwg三维模型自动转换为x三维模型的方法

Country Status (1)

Country Link
CN (1) CN104750913B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488254B (zh) * 2015-11-24 2021-06-08 上海核工程研究设计院 一种pds三维模型解析及重构方法
CN106067184A (zh) * 2016-05-27 2016-11-02 美屋三六五(天津)科技有限公司 一种三维模型处理方法及装置
CN106067185A (zh) * 2016-05-27 2016-11-02 美屋三六五(天津)科技有限公司 一种三维模型处理方法及装置
CN106709163B (zh) * 2016-12-06 2019-12-24 清华大学 一种从复杂cad三维模型到蒙卡几何的自动转换方法
CN107273543B (zh) * 2017-07-06 2020-06-05 安徽省交通规划设计研究总院股份有限公司 一种dgn数据格式的转换方法
CN108257201B (zh) * 2017-12-29 2021-10-19 深圳海桐防务装备技术有限责任公司 二维图案在三维工业模型表面帖敷的方法
CN110021070B (zh) * 2018-01-10 2023-03-31 阿里巴巴集团控股有限公司 FBX三维模型转换为glTF三维模型的方法、设备以及系统
CN108416824B (zh) * 2018-01-23 2022-05-03 网易(杭州)网络有限公司 Dwf文件贴图方法、装置、计算设备和介质
CN108416149B (zh) * 2018-03-13 2022-07-22 杭州新迪数字工程系统有限公司 Cad无关的三维零件实时造型方法、终端及存储介质
CN108648261A (zh) * 2018-03-25 2018-10-12 成都明镜视觉科技有限公司 一种三维模型定义方法
CN108597032B (zh) * 2018-04-27 2022-03-25 北京唐吉诃德科技有限公司 将建筑信息模型导入Unity3D中显示方法及系统
CN109284256A (zh) * 2018-08-01 2019-01-29 广东省智能制造研究所 一种stpl三维模型文件格式、提取方法、装置及介质
CN109126137A (zh) * 2018-08-02 2019-01-04 苏州蜗牛数字科技股份有限公司 一种利用csv格式数据创建模型的方法
CN109933868A (zh) * 2019-02-27 2019-06-25 壹仟零壹艺网络科技(北京)有限公司 SketchUp模型材质贴图自动匹配方法及系统
CN110286901B (zh) * 2019-07-04 2023-05-30 广州广燃设计有限公司 一种基于cad的脚本生成方法、系统及存储介质
CN111354084B (zh) * 2020-02-26 2023-07-14 中国电建集团昆明勘测设计研究院有限公司 一种基于三维模型瓦片的网络地理信息服务系统
CN111489441B (zh) * 2020-04-09 2022-11-11 中国电建集团昆明勘测设计研究院有限公司 Fdb三维模型转换为udb三维模型的方法及其装置
CN112598783B (zh) * 2020-12-17 2023-08-25 中国城市规划设计研究院 三维几何数据计算方法及三维几何数据计算网络架构
CN114398002B (zh) * 2021-12-06 2024-07-26 阿里巴巴创新公司 数据存储方法、数据解析方法及3d模型的展示方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256590A (zh) * 2008-04-03 2008-09-03 北京艺龙天地文化传播有限公司 结合WebGis的三维在线虚拟现实生态环境仿真系统及其方法
CN101432729A (zh) * 2004-08-21 2009-05-13 科-爱克思普莱斯公司 用于扩展式企业商务的方法、系统以及设备
CN102812463A (zh) * 2009-10-08 2012-12-05 3Dm.T.P.有限公司 能够进行三维对象模型的3d印刷的方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090273598A1 (en) * 2008-05-01 2009-11-05 M.E.P. Cad, Inc. Methods and apparatuses for automatically converting objects in CAD drawing from two-dimensions to three-dimensions
CN102750359A (zh) * 2012-06-13 2012-10-24 国网电力科学研究院武汉南瑞有限责任公司 基于输电线路三维模型的空间信息提取与格式转换方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101432729A (zh) * 2004-08-21 2009-05-13 科-爱克思普莱斯公司 用于扩展式企业商务的方法、系统以及设备
CN101256590A (zh) * 2008-04-03 2008-09-03 北京艺龙天地文化传播有限公司 结合WebGis的三维在线虚拟现实生态环境仿真系统及其方法
CN102812463A (zh) * 2009-10-08 2012-12-05 3Dm.T.P.有限公司 能够进行三维对象模型的3d印刷的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于FBX SDK的FBX模型解析与加载";丁丁当当;《http://blog.sina.com.cn/s/blog_4a657c5a01014da9.html》;20120425;第1、4、5节 *

Also Published As

Publication number Publication date
CN104750913A (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
CN104750913B (zh) 一种实现dwg三维模型自动转换为x三维模型的方法
JP6645681B2 (ja) 3dデータ管理装置
JP4381743B2 (ja) 境界表現データからボリュームデータを生成する方法及びそのプログラム
Demir et al. Proceduralization for editing 3d architectural models
CN104537715B (zh) 一种实现fbx三维模型自动转换为obj三维模型的方法
Sheffer et al. Virtual topology operators for meshing
JP2023071722A (ja) 画像を入力とする関数を学習するためのデータセット
KR100503789B1 (ko) 렌더링시스템, 렌더링방법 및 그 기록매체
CA2857832A1 (en) Compression of a three-dimensional modeled object
JPH0883296A (ja) 三次元形状作成方法及びその装置
Centin et al. Poisson-driven seamless completion of triangular meshes
CN106600700B (zh) 一种三维模型数据处理系统
CN108628945A (zh) 一种将fbx模型文件自动转换为fbs模型文件的方法
CN110096484B (zh) 一种基于Revit的3D模型批量导出方法
WO2024108580A1 (zh) 多维参数化城市信息模型构建方法、系统及计算机设备
US20220391553A1 (en) Building information modeling systems and methods
Shin et al. Data enhancement for sharing of ship design models
JPH0623989B2 (ja) 境界表現ソリツド・モデリング・システム
CN111199086A (zh) 三维几何离散化处理系统
Jha et al. Multiple feature interpretation across domains
JP6946482B2 (ja) 3dデータ管理装置、システム、3dデータ管理方法、制御プログラムおよびコンピュータ読み取り可能な記録媒体
JP5948479B1 (ja) 2次元または3次元の物体データを表示操作するシステム、方法及びコンピュータソフトウエアプログラム
CN112434376B (zh) 一种用于spd系统的异构cad船体模型的快速转换方法
CN111179420B (zh) 一种三维城市模型优化方法及系统
CN114239094A (zh) 一种Revit模型的创建方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant