GIM模型轻量化处理方法和装置、设备及存储介质与流程

文档序号:25600856发布日期:2021-06-25 11:11阅读:496来源:国知局
GIM模型轻量化处理方法和装置、设备及存储介质与流程
gim模型轻量化处理方法和装置、设备及存储介质
技术领域
1.本公开涉及三维模型技术领域,尤其涉及一种gim模型轻量化处理方法和装置、设备及存储介质。


背景技术:

2.在电网成体系的工程信息模型中,目前很多研究从信息技术与工程技术的角度,系统地分析输变电工程信息化各阶段应用重点及数字化技术应用情况,提出了电网信息模型(grid information model,gim)概念。gim是依托地理信息系统(geographic information system,gis)将电网的组成元素数字化,以信息模型为载体,集成每个元素全寿命周期内的信息,实现信息的高效、准确、全面的应用。但是,在现有技术中,通常在三维建模软件中所构建的变电站三维模型的数据量非常大,而在现有的三维施工平台上还不具备对变电站三维模型进行轻量化处理的功能,从而导致在三维施工平台上加载变电站三维模型进行施工时,加载时间较长,这就严重影响了电力施工的施工速率。


技术实现要素:

3.有鉴于此,本公开提出了一种gim模型轻量化处理方法,可以有效节省gim模型在施工平台的加载时间,提高施工平台加载gim模型的流畅度。
4.根据本公开的一方面,提供了一种gim模型轻量化处理方法,包括:
5.获取gim模型,将所述gim模型拆分为多个小场景模型,并对每个所述小场景模型均设置细节级别信息;
6.其中,每个所述小场景模型均包含所述gim模型不同部分中的多个实体;
7.所述细节级别信息,用于表征所述小场景模型在施工平台中的加载视角;
8.读取各所述小场景模型的顶点信息,并根据各所述小场景模型的顶点信息逐级对各所述小场景模型分割得到多个分割体;
9.其中,各所述小场景模型与对所述小场景模型分割后得到的多个所述分割体构成树形数据结构;
10.将对各所述小场景模型分割得到的多个所述分割体生成碎片文件,并存储所述碎片文件;其中,所述碎片文件与所述小场景模型相对应。
11.在一种可能的实现方式中,还包括:
12.在接收到加载所述gim模型指令后,获取所述gim模型所包含的各所述碎片文件,并解析各所述碎片文件,得到各所述小场景模型的顶点信息和细节级别信息;
13.根据各所述小场景模型的顶点信息和细节级别信息将各所述小场景模型加载至施工平台中。
14.在一种可能的实现方式中,将所述gim模型拆分为多个所述小场景模型,包括:
15.对所述gim模型进行解压,获取所述gim模型中的三维模型的数据文件;其中,所述数据文件的个数为多个,每个所述数据文件中均包含有至少一个图元;且所述数据文件的
格式包括mod文件和st1文件中的至少一种;
16.通过occ网格剖分法计算得到各数据文件中所包含的各图元的信息数据;所述信息数据包括图元的顶点、顶点索引、材质、贴图和法线中的至少一种;
17.根据计算得到的各图元的所述信息数据进行多个图元的组合,并将组合后的各图元的所述信息数据写入ugd文件中,构建得到相应的所述小场景模型。在一种可能的实现方式中,所述树形数据结构为八叉树结构;
18.其中,根据各所述小场景模型的顶点信息逐级对各所述小场景模型分割得到多个分割体,包括:
19.由多个所述小场景模型中提取出第一模型;其中,所述第一模型为多个所述小场景模型中的任意一个;
20.根据所述第一模型的顶点信息对所述第一模型进行第一次分割,得到八个第一分割体;
21.在所述第一分割体的大小未达到预设精度时,获取所述第一分割体的顶点信息,并根据所述第一分割体的顶点信息对所述第一分割体进行第二次分割,得到八个第二分割体;
22.在所述第二分割体的大小未达到所述预设精度时,逐级对所述第二分割体进行分割,直至分割后得到的分割体的大小达到所述预设精度为止。
23.在一种可能的实现方式中,根据所述第一模型的顶点信息对所述第一模型进行第一次分割,包括:
24.根据所述第一模型的顶点信息获取所述第一模型的各个表面;
25.依次将所述第一模型的各个表面分割成两片,得到八个所述第一分割体。
26.在一种可能的实现方式中,所述碎片文件的格式为ive格式。
27.在一种可能的实现方式中,各所述小场景模型的顶点信息和细节级别信息将各所述子模型加载至施工平台中,包括:
28.根据各所述碎片文件的细节级别信息,由多个所述碎片文件中确定第一碎片文件;所述第一碎片文件为所述施工平台当前视角所要加载的碎片文件;
29.将所述第一碎片文件加载至所述施工平台的当前视角中;
30.获取除所述第一碎片文件外的其他碎片文件中的细节级别信息,并根据其他碎片文件的细节级别信息与所述第一碎片文件的细节级别信息之间的距离,加载其他碎片文件至所述施工平台中。
31.根据本申请的另一方面,还提供了一种gim模型轻量化处理装置,包括拆分设置模块、读取分割模块和文件生成模块;
32.所述拆分设置模块,被配置为获取gim模型,将所述gim模型拆分为多个小场景模型,并对每个所述小场景模型均设置细节级别信息;
33.其中,每个所述小场景模型均包含所述gim模型中不同部分中的多个实体,且各所述小场景模型均为矩形体;
34.所述细节级别信息,用于表征所述小场景模型在施工平台中的加载视角;
35.所述读取分割模块,被配置为读取各所述小场景模型的顶点信息,并根据各所述小场景模型的顶点信息逐级对各所述小场景模型分割得到多个分割体;
所说明的任何实施例不必解释为优于或好于其它实施例。
56.另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
57.图1示出根据本公开一实施例的gim模型轻量化处理方法的流程图。如图1所示,该方法包括:步骤s100,获取gim模型,将gim模型拆分为多个小场景模型,并对每个小场景模型设置细节级别信息。其中,应当说明的是,本申请的gim模型指的是电网信息模型,电网信息模型为三维模型,如:变电站三维模型。细节级别信息则指的是各个小场景模型的层次细节,不同细节级别信息的小场景模型在施工平台中的加载视角不同。即,细节级别信息,用于表征小场景模型在施工平台中的加载视角。此处,本领域技术人员可以理解的是,施工平台指的是在进行电力施工时加载并显示轻量化处理后的gim模型的电子设备。同时,对gim模型拆分得到的多个小场景模型中均包含gim模型中不同部分中的多个实体。即,拆分得到的多个小场景模型为gim模型中的部分场景的三维模型。
58.步骤s200,读取各小场景模型的顶点信息,并根据各小场景模型的顶点信息逐级对各小场景模型分割得到多个分割体。其中,各小场景模型与对小场景模型分割后得到的多个分割体构成树形数据结构。也就是说,通过逐级对各小场景模型分割成多个分割体,从而通过将小场景模型的整个空间从最大空间细分到最小空间,形成多层级的树形数据结构,可参阅图3所示。
59.步骤s300,将对各小场景模型分割得到的多个分割体生成碎片文件,并存储所生成的各碎片文件。此处,需要指出的是,所生成的碎片文件的个数为多个,各碎片文件与各小场景模型相对应。
60.由此,本申请的gim模型轻量化处理方法,通过将gim模型进行拆分,拆分为多个小场景模型,进而再对拆分后的各小场景模型进行逐级分割成多个分割体,对于所生成的多个分割体生成相应的碎片文件,从而在进行gim模型的加载时,只需要读取所生成的各碎片文件,对各碎片文件进行解析加载即可,不需要直接读取整个gim模型的所有文件进行加载解析,这相较于相关技术中直接加载gim模型的源文件方式,有效节省了模型加载时间,提高了渲染效率,使得gim模型在施工平台中能够更加流畅地展示。
61.其中,需要指出的是,将gim模型拆分为多个小场景模型可以通过格式转换的方式来实现。在一种可能的实现方式中,可以通过将gim模型由加载时的格式转换为ugd格式来实现gim模型的场景拆分。将gim模型的格式转换为ugd格式时,可以通过以下方式来实现。
62.即,参阅图4,首先,获取gim模型的源文件。即,步骤s110,将gim模型的源文件上传至施工平台。此处,本领域技术人员可以理解的是,gim模型的源文件包括多个文件,不同的文件包含gim模型中的不同场景。进而再对各个不同的文件进行格式转换,通过将gim模型中每个文件的格式转换为ugd格式来实现多个小场景模型的获取。即,步骤s120,将gim模型转换为ugd格式。
63.其中,在一种可能的实现方式中,将gim模型转换为ugd格式可以通过以下方式来实现。即,首先对gim模型进行解压,获取gim模型中的三维模型的数据文件。这是由于gim模型的源文件中不仅仅包含有三维模型数据,还包括有二维数据,因此需要通过解压将三维模型的数据文件提取出来。此处,本领域技术人员可以理解的是,所提取出的三维模型的数
据文件的个数可以为多个,并且每个数据中均包含有至少一个图元。本领域技术人员可以理解,此处的图元指的是构成各实体的基本图形,如:椭圆形、圆形、方形等。同时,还需要指出的是,数据文件的格式包括mod文件和st1文件中的至少一种。
64.然后,再通过occ网格剖分法计算得到各数据文件中所包含的各图元的信息数据。此处,应当指出的是,信息数据包括图元的顶点、顶点索引、材质、贴图和法线中的至少一种。同时,还需要说明的是,采用occ网格剖分法进行各图元的信息数据的计算可以采用本领域的常规技术手段来实现,因此此处不再赘述。
65.进而再根据计算得到的各图元的信息数据进行多个图元的组合,并将组合后的各图元的信息数据写入ugd文件中,从而构建得到相应的小场景模型。应当说明的是,在进行多个图元的组合时可以根据实际情况进行组合,此处不进行具体限定。
66.由此,通过将gim模型进行解压,获取到gim模型的源文件中的mod文件和stl文件,并通过occ网格剖分法把这两种文件中的图元的顶点、顶点索引、材质、贴图和法线等数据计算出来,然后把这些数据写入到ugd文件中,即可实现gim模型的格式转换。
67.在通过上述任一方式将gim模型拆分得到多个小场景模型后,即可对各小场景模型设置细节级别信息。此处,应当指出的是,对各小场景模型设置细节级别信息可以通过本领域常规技术手段来实现,因此此处不再进行赘述。
68.进一步的,将gim模型拆分为多个小场景模型,并对各小场景模型设置细节级别信息后,即可根据各小场景模型的顶点信息逐级对各小场景模型分割得到多个分割体。即,步骤s210,对ugd格式的小场景模型进行切片缓存轻量化处理。其中,需要说明的是,在对ugd格式的小场景模型进行切片缓存轻量化处理过程中,对各小场景面模型的分割方式与所构建的树形数据结构相对应。
69.在一种可能的实现方式中,树形数据结构为八叉树结构(如图3所示)。对应的,根据各小场景模型的顶点信息逐级对各小场景模型分割得到多个分割体则可以通过以下方式来实现。
70.即,首先,由多个小场景模型中提取出第一模型。此处,需要说明的是,第一模型为多个小场景模型中的任意一个。进而再根据第一模型的顶点信息对第一模型进行第一次分割,得到八个第一分割体。同时,判断第一分割体的大小是否达到预设精度。在第一分割体达到预设精度时,则不再对该第一分割体进行分割。在第一分割体未达到预设精度时,则获取第一分割体的顶点信息,并根据第一分割体的顶点信息对第一分割体进行第二次分割得到八个第二分割体。接着,再对每个第二分割体的精度进行判断,在第二分割体的精度达到预设精度后,则不再对该第二分割体进行分割。在第二分割体的精度未达到预设精度时,则可以按照上述分割方式逐级对第二分割体继续进行分割,直至分割后得到的分割体的大小达到预设精度为止。
71.此处,需要说明的是,通过分割得到的分割体的大小指的是分割体的体积大小。即,第一分割体的大小为第一分割体的体积;第二分割体的大小为第二分割体的体积。预设精度则指的是建模的最高精度。本领域技术人员可以理解的是,构建的不同的gim模型,其对应的预设精度可以不同。
72.另外,还需要指出的是,在通过前面所述的将gim模型转换为ugd格式的方式来实现多个小场景模型的获取时,所构建得到的各小场景模型的形状是多种多样的,而在基于
上面所述的切割方式得到八叉树数据结构时,需要每个小场景模型均为矩形块形状(参见图2所示)。因此,在本申请中,对各小场景模型进行切分之前,还可以包括检测各小场景模型的形状。其中,对各小场景模型的形状的检测可以通过根据各小场景模型的顶点坐标来实现。
73.在检测出小场景模型的形状为规则的矩形块状时,则可以直接采用前面所述的切分方式进行小场景模型的切分。在检测出小场景模型的形状不是矩形块状时,则可以通过根据小场景模型的顶点坐标采用空间填充的方式将小场景模型的形状填补为规则的矩形块状。此处,需要指出的是,根据小场景模型的顶点坐标进行空间填充为本领域的常规技术手段,因此此处不再进行赘述。
74.同时,还需要指出的是,在对各小场景模型进行分割时所采用的分割方式与前面所述的第一模型的分割方式相同,因此此处不再进行赘述。此外,还需要说明的是,在对各小场景模型分割时,可以采用并行方式对各小场景模型同时进行分割,也可以采用串行方式对各小场景模型依次进行分割。其中,在采用串行方式对各小场景模型依次进行分割时,可以通过预设规则对拆分得到的多个小场景模型进行排序,然后再按照排列好的顺序对各小场景模型依次进行逐级分割。
75.此外,还应当指出的是,预设规则可以为按照各小场景模型的文件大小,由大到小进行排序;也可以为按照各小场景模型的细节级别信息,由远及近进行排序。此处不进行具体限定。
76.更进一步的,在上述对各小场景模型进行逐级分割时,根据第一模型的顶点信息对第一模型进行第一次分割可以通过以下方式来实现。首先,根据第一模型的顶点信息(即,第一模型的各个顶点的坐标)获取第一模型的各个表面。进而再依次将第一模型的各个表面分割成两片得到八个第一分割体。其中,在将第一模型的各个表面分割成两片时,通过获取到的第一模型的各个顶点坐标得到第一模型的各个表面,进而再分别由各个表面的中心沿表面的一条边长进行分割,由此来实现对第一模型的分割。
77.相应的,由于在分割过程中得到的各第一分割体和各第二分割体等的形状均为矩形体,因此在对第一分割体和第二分割体等进行分割时,可以采用前面所述的分割方式来实现,因此此处不再进行赘述。
78.其通过将gim模型分割成许多的方块,每个方块为一个小场景模型,进而再将每个小方块的每个面切成两片,通过不断重复该步骤直至最后分割得到最小方块的大小达到建模的最高精度为止,从而实现了将一个节点展开成多个子节点的目的,最终达到了对gim模型轻量化的处理。
79.在通过上述任一种方式对gim模型拆分的多个小场景模型进行分割处理得到多个分割体后,即可针对每一个小场景模型所分割得到的多个分割体生成相应的碎片文件。其中,参阅图4,在步骤s220,生成碎片文件时,所生成的碎片文件的格式为ive格式。通过将生成的ive格式的碎片文件进行存储,相较于相关技术中直接进行gim模型的存储方式,有效节省了内存占用量。
80.更进一步的,在本申请方法中,还包括加载并显示轻量化处理后的gim模型的步骤。即,在接收到加载gim模型指令后,获取gim模型所包含的各碎片文件,并解析各碎片文件得到各小场景模型的顶点信息和细节级别信息。然后,根据解析得到的各小场景模型的
顶点信息和细节级别信息将各小场景模型加载至施工平台中。
81.此处,应当说明的是,参阅图4,在步骤s310,获取到各碎片文件,对各碎片文件进行解析时可以通过c#语言进行解析,以获取各碎片文件中记录的小场景模型的顶点信息和细节级别信息。
82.同时,在步骤s320,根据解析得到的各小场景模型的顶点信息和细节级别信息将各小场景模型加载至施工平台中时,可以首先根据各碎片文件的细节级别信息,由多个碎片文件中确定第一碎片文件。此处,需要说明的是,第一碎片文件为施工平台当前视角所要加载的碎片文件。然后,将第一碎片文件加载至施工平台的当前视角中。进而再获取除第一碎片文件外的其他碎片文件中的细节级别信息,根据其他碎片文件的细节级别信息与第一碎片文件的细节级别信息之间的距离,加载其他碎片文件至施工平台中。
83.其中,在一种可能的实现方式中,施工平台的运行系统可以为unity系统,还可以为其他系统,此处不进行具体限定。
84.需要说明的是,尽管以图2和图3作为示例介绍了如上所述的gim模型轻量化处理方法,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定方法中的各个步骤,只要能够达到对gim模型进行轻量化处理的目的即可。
85.参阅图5和图6,分别为未采用本申请的gim模型轻量化处理方法对某一变电站三维模型进行处理的显示界面图和采用本申请的gim模型轻量化处理方法对该变电站三维模型进行处理后的显示界面图。通过两幅显示界面图对比可见,轻量化前三角面数为16300,轻量化后的三角面数则为9800,由此可见采用本申请的gim模型轻量化处理方法对gim模型的轻量化效果显著,三角面数的减少可以大大加快gim模型在施工平台上的流畅显示,同时还能够保证gim模型轻量化处理后的准确性和完整性。
86.相应的,基于前面任一所述的gim模型轻量化处理方法,本申请还提供了一种gim模型轻量化处理装置。由于本申请的gim模型轻量化处理装置的工作原理与本申请的gim模型轻量化处理方法的原理相同或相似,因此重复之处不再赘述。
87.参阅图7,本申请的gim模型轻量化处理装置100包括拆分设置模块110、读取分割模块120和文件生成模块130。其中,拆分设置模块110,被配置为获取gim模型,将gim模型拆分为多个小场景模型,并对每个小场景模型均设置细节级别信息。此处,需要说明的是,每个小场景模型均包含gim模型中不同部分中的多个实体;细节级别信息,用于表征小场景模型在施工平台中的加载视角。读取分割模块120,被配置为读取各小场景模型的顶点信息,并根据各小场景模型的顶点信息逐级对各小场景模型分割得到多个分割体;其中,各小场景模型与对小场景模型分割后得到的多个分割体构成树形数据结构。文件生成模块130,被配置为将对各小场景模型分割得到的多个分割体生成碎片文件,并存储碎片文件;其中,碎片文件与小场景模型相对应。
88.更进一步地,根据本公开的另一方面,还提供了一种gim模型轻量化处理设备200。参阅图8,本公开实施例的gim模型轻量化处理设备200包括处理器210以及用于存储处理器210可执行指令的存储器220。其中,处理器210被配置为执行可执行指令时实现前面任一所述的gim模型轻量化处理方法。
89.此处,应当指出的是,处理器210的个数可以为一个或多个。同时,在本公开实施例
的gim模型轻量化处理设备200中,还可以包括输入装置230和输出装置240。其中,处理器210、存储器220、输入装置230和输出装置240之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
90.存储器220作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的gim模型轻量化处理方法所对应的程序或模块。处理器210通过运行存储在存储器220中的软件程序或模块,从而执行gim模型轻量化处理设备200的各种功能应用及数据处理。
91.输入装置230可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置240可以包括显示屏等显示设备。
92.根据本公开的另一方面,还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器210执行时实现前面任一所述的gim模型轻量化处理方法。
93.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1