CN115964025A 一种在unity程序制作中输出模型数据的方法 (北京市市政工程设计研究总院有限公司).docxVIP

  • 0
  • 0
  • 约3.03万字
  • 约 42页
  • 2026-02-02 发布于重庆
  • 举报

CN115964025A 一种在unity程序制作中输出模型数据的方法 (北京市市政工程设计研究总院有限公司).docx

(19)国家知识产权局

(12)发明专利申请

(10)申请公布号CN115964025A(43)申请公布日2023.04.14

(21)申请号202211721891.0

(22)申请日2022.12.30

(71)申请人北京市市政工程设计研究总院有限公司

地址100082北京市海淀区西直门北大街

32号3号楼

(72)发明人吴楠何颖辉吕亮

(74)专利代理机构北京万科园知识产权代理有限责任公司11230

专利代理师张亚军夏新

(51)Int.CI.

GO6F8/20(2018.01)

权利要求书2页说明书16页附图7页

(54)发明名称

3.

3.etegin

ponama

(57)摘要

本发明涉及一种在unity程序制作中输出模型数据的方法,使用Autodesk提供的revit二次开发接口-IExportContext,通过编写上下文的参数和在上下文的过程中加入对数据的提取和处理等方法,进行全部目标数据的输出,包括:Start(、0nViewBegin()、OnElementBegin(、

OnMaterial0、0nFaceBegin()、OnPolymesh(、

CN115964025AOnElementEnd()、OnViewEnd()、Finish0等联系上下文的9个过程方法;本发明的方法拓展了revit

CN115964025A

CN115964025A权利要求书1/2页

2

1.一种在unity程序制作中输出模型数据的方法,使用Autodesk提供的revit二次开发接口-IExportContext,通过编写上下文的参数和在上下文的过程中加入对数据的提取和处理等方法,进行全部目标数据的输出,包括以下步骤:

步骤Start(),需要初始化数据字典、上下文实例,并存储项目信息、项目所有标高信息集合、项目基点信息等;

步骤OnViewBegin(),用来设置和存储LOD(模型精细度)信息;

步骤OnElementBegin(),获得输出几何单元(构件Element)的ID值,即ElementId,该值用以获得模型中构件的ID值;

步骤OnMaterial(),根据当前ElementId所对应的模型构件获取这个构件中的所有MaterialNode,再根据每个node节点得到对应的Material材质的UniqueId和针对材质的一系列信息;

步骤OnFaceBegin(),以facenode对象作为参数,获得face节点;

步骤OnPolymesh(),以PolymeshTopology为对象参数,获得最小物体单元的所有顶点数据、面数据、法线数据和UV数据;

步骤OnElementEnd(),以ElementId为参数,将完成所有输出数据的准备工作,其中包括顶点和顶点序列的数据处理、顶点法线和法线序列的数据处理、顶点UV的计算处理、自定义数据的获取;

步骤OnViewEnd(),结束对View对象的调用;

步骤Finish(),将所有已经准备好的数据进行JSON文件的输出。

2.如权利要求1所述的方法,其中,在步骤OnViewBegin()中,用户在启动输出程序的界面上设置从0-15级的某一个级别的LOD进行这个精细度下输出。

3.如权利要求1所述的方法,其中,在步骤OnElementBegin()中,通过该值进行模型的检索和调用,并获取构件的UniqueId,以防止ElementId重名。

4.如权利要求1所述的方法,其中,在步骤OnMaterial()中,一系列信息包括:漫反射颜色ambient(即为该材质的代表颜色)、透明度、纹理坐标、纹理文件和纹理文件的路径等。

5.如权利要求1所述的方法,其中,在步骤OnPolymesh()中,最小物体单元为ElementUniqueId+“_”+MaterialUniqueId物体。

6.如权利要求1所述的方法,其中,在步骤OnPolymesh()中,建立几何输出数据的方式为:首先将顶点集合进行去重操作,得到去重后的pts顶点集合和相应的字典;调用PolymeshT

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档