首页> 中国专利> 一种核电三维模型的轻量化描述方法及加载方法

一种核电三维模型的轻量化描述方法及加载方法

摘要

本发明提供一种核电三维模型的轻量化描述方法,包括:获取原始三维模型的模型信息,模型信息包括节点信息、图形信息、属性信息;根据节点信息中的节点层级关系生成节点树,以描述原始三维模型的组织层级关系;根据模型信息生成与各节点相应的图形信息和属性信息;根据节点树、与各节点相应的图形信息和属性信息,生成轻量化模型数据文件,其中,节点树信息文件、节点图形信息文件、节点属性信息文件之间以节点标识相互关联。还提供一种核电三维模型的加载方法。该三维模型的轻量化描述方法能满足核电三维模型数据结构显示要求的前提下,减少数据冗余,优化模型组织方式,保证模型精度情况下减小模型占用空间,从而能快速加载核电大场景模型。

著录项

  • 公开/公告号CN113868861A

    专利类型发明专利

  • 公开/公告日2021-12-31

    原文格式PDF

  • 申请/专利权人 中国核电工程有限公司;

    申请/专利号CN202111138203.3

  • 发明设计人 蔡正皓;赵玉娟;

    申请日2021-09-27

  • 分类号G06F30/20(20200101);G06T17/00(20060101);G06F111/06(20200101);

  • 代理机构11112 北京天昊联合知识产权代理有限公司;

  • 代理人罗建民;邓伯英

  • 地址 100840 北京市海淀区西三环北路117号

  • 入库时间 2023-06-19 13:29:16

说明书

技术领域

本发明属于核电技术领域,具体涉及一种核电三维模型的轻量化描述方法及加载方法。

背景技术

目前,核电三维轻量化模型的描述方法和文件格式多种多样。主流CAD(ComputerAided Design,计算机辅助设计)软件采用矢量模型描述三维模型,一般轻量化模型沿用CAD软件描述三维模型的方式,采用降低模型精度,减少模型节点数量的方式,达到模型轻量化目标。

上述方式一定程度上减小了模型占用空间,实现了三维模型的轻量化,但是面对核电类超大模型量的场景,采用上述方式轻量化得到的模型组织形式仍然无法满足核电大场景模型加载要求。故亟需一种核电三维模型的轻量化描述方法,保证模型精度情况下减小模型占用空间,从而能快速加载核电大场景模型。

发明内容

本发明要解决的技术问题是针对现有技术存在的上述不足,提供一种核电三维模型的轻量化描述方法及加载方法,能够在满足核电三维模型数据结构显示要求的前提下,减少数据冗余,优化模型组织方式,保证模型精度情况下减小模型占用空间,从而能快速加载核电大场景模型。

本发明提供一种核电三维模型的轻量化描述方法,包括:获取原始三维模型的模型信息,模型信息包括节点信息、图形信息、属性信息,节点信息包括节点层级关系;根据节点信息中的节点层级关系生成节点树,以描述原始三维模型的组织层级关系;根据模型信息生成与各节点相应的图形信息和属性信息;根据节点树、与各节点相应的图形信息和属性信息,生成轻量化模型数据文件,所述轻量化模型数据文件包括节点树信息文件、节点图形信息文件、节点属性信息文件,以及总览文件,其中,节点树信息文件、节点图形信息文件、节点属性信息文件之间以节点标识相互关联。

优选地,获取原始三维模型的模型信息,具体包括:在原始软件中加载原始三维模型文件,并导出原始三维模型的模型信息。

优选地,所述根据节点信息中的节点层级关系生成节点树,以描述原始三维模型的组织层次关系,具体包括:根据节点信息中的节点层级关系生成节点树,节点树由多个节点构成,节点包括原始三维模型中的设备、管道、阀门、土建模型、房间、圆柱、立方体、承台;采用Ntree描述节点树,采用Nnode描述节点,以节点树描述原始三维模型的组织层次关系。

优选地,所述图形信息包括节点标识、局部坐标系、颜色、透明度、包围盒、包围球、三角面信息、三角面层数、是否可视,属性信息包括节点标识、编码、类型、工程属性。所述根据模型信息生成各节点相应的图形信息和属性信息,具体包括:根据模型信息的图形信息生成各节点相应的图形信息;根据模型信息的属性信息生成各节点相应的属性信息。

优选地,所述根据模型信息的图形信息生成各节点相应的图形信息,具体包括:根据模型信息的图形信息及预设的精度目标,对相应节点的图形信息、特征、材质数据进行优化整合,生成各节点相应的能达到图形渲染效果和描述文件大小目标的图形信息,其中,节点的图形信息采用Nmatrix描述节点局部坐标系转换参数,采用Npoint描述三维空间中的点和向量,采用Nline描述三维实体中线段的信息,采用Nface描述三维实体中三角面的信息,采用NCOLOR_INF描述三维实体颜色信息,采用NBOX描述三维实体包围盒信息,采用Nglob描述三维实体包围球信息,采用Ntriangle描述三维实体三角面索引信息。

进一步地,本发明还提供一种核电三维模型的加载方法,包括:根据如上所述的核电三维模型的轻量化描述方法对原始核电三维模型进行轻量化描述,得到原始核电三维模型的轻量化模型数据文件;对原始核电三维模型的轻量化模型数据文件进行曲面细分和三角面转换;通过计算机渲染得到对应于原始核电三维模型的核电三维实体图像。

本发明的核电三维模型的轻量化描述方法及加载方法,根据原始三维模型的模型信息构建节点树,以描述原始三维模型的组织层级关系,继而构建节点树中各个节点相应的图形信息和属性信息,构建后得到的节点树文件、节点图形信息文件、节点属性信息文件之间以节点标识相互关联,得到原始三维模型相应的轻量化模型数据文件。通过节点树实现了新的模型组织方式,使其在保证模型精度的前提下减小了模型文件大小,从而满足核电大场景模型加载需要,使得主流硬件环境能够快速浏览核电厂全厂模型。形成的轻量化模型数据文件根据不同数据分类存储,在网络上加载模型时,根据需要进行加载,使得用户关注的内容优先加载,并能够减小数据体积,缩短数据传输时间,可实现在线实时浏览。

附图说明

图1为本发明实施例1的核电三维模型的轻量化描述方法的流程示意图;

图2为本发明实施例1的轻量化模型的数据存储和关联结构示意图;

图3为本发明实施例1的节点树文件、节点图形信息文件、节点属性信息文件的内容结构示意图;

图4为本发明实施例1的总览文件的内容结构示意图;

图5为本发明实施例2的原始三维模型存储转换逻辑示意图。

具体实施方式

为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和实施例对本发明作进一步详细描述。

实施例1:

如图1所示,本实施例提供一种核电三维模型的轻量化描述方法,包括:

步骤101,获取原始三维模型的模型信息,模型信息包括节点信息、图形信息、属性信息,节点信息包括节点层级关系。

具体地,在原始软件中加载原始三维模型文件,并导出原始三维模型的模型信息。

本实施例中,原始软件指设计原始三维模型的软件,如CAD、PDMS(PlantDesignManagementsystem,工厂三维布置设计管理系统)等软件。以核电厂UJA厂房模型为例,在PDMS中加载原始的UJA厂房三维模型文件,并从PDMS中导出rvm格式的模型信息。模型信息包括节点信息,顶点、法线、向量、坐标转换矩阵参数、三角面片等图形信息,设计压力、设计温度、运行压力、运行温度、流体类型等属性信息。图形信息包括节点标识、局部坐标系、颜色、透明度、包围盒、包围球、三角面信息、三角面层数、是否可视。属性信息包括节点标识、编码、类型、工程属性。

步骤102,根据节点信息中的节点层级关系生成节点树,以描述原始三维模型的组织层级关系。

具体地,步骤102包括:根据节点信息中的节点层级关系生成节点树,节点树由多个节点构成,节点包括原始三维模型中的设备、管道、阀门、土建模型、房间、圆柱、立方体、承台;采用Ntree描述节点树,采用Nnode描述节点,以节点树描述原始三维模型的组织层次关系。

本实施例中,如图2所示,根据模型信息中的节点层级关系等节点信息,建立基本的树形结构(如31UJA厂房:31UJA-RM(房间区域):31UJA-RM/+0.80(层高):31UJA00111(房间号)),以描述核电构筑物、设备数据结构,以树状结构描述模型组织层次关系,节点以节点ID(Identification,标识)为唯一标识。

步骤103,根据模型信息生成与各节点相应的图形信息和属性信息。

具体地,步骤103包括步骤1031-步骤1033:

步骤1031,根据模型信息的图形信息生成各节点相应的图形信息。

具体地,步骤1031:根据模型信息的图形信息生成各节点相应的图形信息包括:根据模型信息的图形信息及预设的精度目标,对相应节点的图形信息、特征、材质数据进行优化整合,生成各节点相应的能达到图形渲染效果和描述文件大小目标的图形信息。换言之,根据设定的精度和目标,对节点的图形信息、特征、材质等数据进行优化整合,获取合适图形渲染效果和描述文件大小,优化后续模型读取和渲染效率和质量。其中,节点的图形信息采用Nmatrix描述节点局部坐标系转换参数,采用Npoint描述三维空间中的点和向量,采用Nline描述三维实体中线段的信息,采用Nface描述三维实体中三角面的信息,采用NCOLOR_INF描述三维实体颜色信息,采用NBOX描述三维实体包围盒信息,采用Nglob描述三维实体包围球信息,采用Ntriangle描述三维实体三角面索引信息。

步骤1032,根据模型信息的属性信息生成各节点相应的属性信息。

本实施例中,对于31UJA00111房间节点内的31UJA00BR001管道节点,其工程属性包括设计压力、设计温度、运行压力、运行温度、流体类型等。

步骤1033,循环执行步骤1031-步骤1032,直至节点树中所有的节点均生成其相应的图形信息和属性信息。

步骤104,根据节点树、与各节点相应的图形信息和属性信息,生成轻量化模型数据文件。轻量化模型数据文件包括节点树信息文件、节点图形信息文件、节点属性信息文件,以及总览文件,其中,节点树信息文件、节点图形信息文件、节点属性信息文件之间以节点标识相互关联。

本实施例中,如图3所示,根据步骤103得到的所有节点的图形信息生成节点图形信息文件,得到的所有节点的属性信息生成节点属性信息文件,根据节点树生成节点树文件。其中,节点树文件、节点图形信息文件、属性信息文件为不同的格式文件,并最终汇总为.NVM(如31UJA.NVM)专有格式的文件。如图4所示,总览文件包括文件头和文件体,文件头包含文件描述信息,例如文件标识、文件创建时间、文件创建者。文件体包含节点树信息文件、节点图形信息文件、节点属性信息文件的引用信息。需要说明的是,每个节点的子节点个数和各子节点的ID都和该节点本身的信息一起写入各数据格式文件,不同数据格式文件通过节点ID进行关联。

以下对节点树、节点图形信息和节点属性信息具体包含的内容进行示例说明:

(1)节点树信息:

节点树根据父子关系,由根节点、枝干节点、叶子节点等构成,节点树信息文件描述了节点的层级关系,其包括以下基本对象:NTree,用于描述节点树;NNode,用于描述节点。

(2)节点图形信息:

各个节点图形信息包括节点ID、局部坐标系、颜色、透明度、包围盒、包围体、三角面信息等构成;包括基本点、线、面等基本图元信息,以及三维实体表面信息。其中,三维实体表面,指通过一定数量的三角面组合成的描述三维实体表面的三角面数据。包围盒,指一个三维实体上各向最小点和最大点形成的包围盒,能够完整包围实体全部内容的最小盒子。包围球,指将一个三维实体完全包围的球体信息。

节点图形信息文件包括:

NMatrix,用于定义局部坐标系转换参数。利用NMatrix可以对模型中任意三维实体进行转换,映射到基于统一坐标系的三维空间中。

NPoint,用于定义三维空间中的点和向量。

NLine,用于存储三维实体中线段的信息。

NFace,用于存储三维实体中三角面的信息。

NCOLOR_INF,用于存储三维实体颜色信息。

NBOX,用于存储三维实体包围盒信息。

NGlob,用于存储三维实体包围球信息。

NTriangle,用于存储三维实体三角面索引信息。

(3)节点属性信息:

节点属性信息包含节点ID、节点名称、类型、编码、工程属性等,主要通过NAttr描述节点属性信息。

以下对本实施例实现过程中部分数据组织方式和结构进行示例说明,并不仅限于本实施例的数据组织方式和结构:

节点树数据类型组织结构如下:

1.NTree(节点树)

节点树由节点构成,节点包括根节点、枝干节点、叶子节点等;数据结构如下:

如31UJA厂房树节点:

31UJA00111:{agdg-h8ge-ejog-8oh2-iwg1-lige;31UJA00111;wiga-eihg-98jc-2gee-7eef-lhgd;6}

31UJA-RM/+0.80:{wiga-eihg-98jc-2gee-7eef-lhgd;31UJA-RM/+0.80;w9ge-geh2-geho-lwei-hhu4-ehnh;5}。

2.NNODE(节点)

读取文件时,获取的信息首先存储到NNODE结构中,然后根据信息的内容将其拷贝到与值对应的其他数据结构中。伪码如下:

如31UJA节点描述信息;

31uja-nnode:{1oge-lgei-lgre-8ggh-98lh-l87s;31uja-nmatrix;31uja-ncolor-inf;31ua-nbox;31uja-nglob;31uja-ncon}。

其中,nNodeId为节点的ID号;nMatrix为节点的局部坐标架,存储从该节点坐标系在上级坐标系中坐标转换参数;ncolor为该节点本身的颜色;nbox为以该节点为根节点的子树上所有模型的包围盒;nGlob为以该节点为根节点的子树上所有模型的包围球;nCon为该节点涉及到的所有线段、三角面信息。

3.NMatrix

定义了坐标变换的参数。具体定义如下:

如31UA节点坐标变换参数:

31uja-nmatrix:{31uja-npoint;31uja-xpoint,31uja-ypoint,31uja-zpoint}。

其中,nPoint为局部坐标原点在上层坐标系中的坐标,nPointX,nPointY,nPointZ分别为局部坐标系3个坐标轴在上层坐标系中对应的单位向量。这3个向量两两正交,采用右手坐标系。利用NMatrix可以对三维模型实体进行转换,并映射到三维空间中。

4.NPoint

定义三维空间中的点和向量,包含x,y,z三个坐标,定义如下:

如31UJA房间中点坐标:

31uja-npoint:{24825.00,-24829.89,12.4}。

5.NCOLOR_INF

用于存储三维模型颜色信息,具体定义如下:

NCOLOR_INF

其中r,g,b分别代表红、绿、蓝三个颜色分量,transparency表示透明度。

如31UJA节点配色信息:31uja-ncolor-inf:{255,222,173;0.8}。

6.NBOX

存储三维实体包围盒信息,具体定义如下:

其中,xmin,ymin,zmin为三维实体包围盒顶点在x、y、z三个坐标轴上的最小值;xmax,ymax,zmax表示包围盒顶点在x、y、z三个坐标轴上的最大值。

如31UJA节点三维实体包围盒信息:

31uja-nbox:{-32489.98,-43282.73,-12.5;32489.98,43282.73,12.5}。

7.NGlob

存储三维实体包围球信息,具体定义如下:

其中,NPoint表示包围球球心坐标,radious表示包围球球体半径。

如31UJA节点三维实体包围球信息:

31uja-nglob:{1200.00,2000.00,50000.00,50000.00}。

8.NCon

通过NCon结构描述节点内的线段、三角面信息,具体定义如下:

其中,level表征离散数据偏离模型的程度;faceNum为该三维实体节点拥有三角面的总数;NFaceArray存储三角面的数组,NLineArray存储线段的数组。

如31UJA00111房间结构信息:

31uja00111-ncon:{5;50;31uja00111-faces;31uja00111-nlines}。

9.NLine

NLine用于存储一条线段,定义如下:

其中,nPointNum为这条线上点的数量;NPointArr指向存储点坐标信息的首地址。

如31UJA00111房间内某一条线信息:

31uja00br019:{2308;*31uja00br019}。

10.NFace

存储了三角面的描述信息,具体定义如下:

其中,nface_id为面的标识;nApexNum为面的顶点数目;nFaceVectorNum为面的法向量数目;nTriangleNum为面的三角面数量;nPointAdrr指针指向存储顶点坐标信息的首地址;nFaceVectorAddr指针指向存储法向量信息的首地址;nTriangleAddr指针指向存储三角形索引信息的首地址。

如31uja00111房间内某面墙的三角面信息:

31uja00111-w922:{we8j-lig9-ihaw-l8gm-ugx3;8;16;12;*31uja00111-w922-point;*31uja00111-w922-face;*31uja00111-w922-triangle}。

本实施例的核电三维模型的轻量化描述方法,采用节点树的形式描述原始三维模型的组织层级关系,且针对节点树中的每个节点构建相应的节点图形信息和节点属性信息,将节点树信息、节点图形信息和节点属性信息存储于不同数据格式的文件中,不同文件以节点ID进行关联,以得到原始三维模型相应的轻量化模型数据文件。所得到的轻量化模型数据文件相比于原始三维模型的模型文件,采用了更优的模型数据组织结构,实现快速读取模型节点信息,以及精确加载所需模型节点数据,减少冗余模型加载,在核电大模型加载时,可根据实际场景按需渲染三维模型,为模型浏览过程流畅性提供了基础支撑,不至崩溃和卡死;同时可通过专有的模型转换平台,将核电行业不同专业三维设计模型格式转换成统一的专有格式,实现多源模型兼容,可展示核电厂构筑物、设备等产品组织结构关系,应用于核电厂模型数据应用维护。

实施例2:

本实施例提供一种核电三维模型的加载方法,包括:

步骤201,根据实施例1所述的核电三维模型的轻量化描述方法对原始核电三维模型进行轻量化描述,得到原始核电三维模型的轻量化模型数据文件。

步骤202,对原始核电三维模型的轻量化模型数据文件进行曲面细分和三角面转换。

步骤203,通过计算机渲染得到对应于原始核电三维模型的核电三维实体图像。

本实施例中,如图5所示,选取管线中的在线阀门进行示例说明,其加载转换过程分为获取原始三维模型的模型信息(即原始设计模型导出)、阀门细分、参数转换、曲面细分、计算机渲染等过程。其中,Ntree对象存储管线、阀门以及上层级节点层级信息;NNode对象存储阀门节点信息;Nmatrix对象存储位置变换、旋转变换、缩放变换参数;NBOX对象存储节点对象包围盒信息;NCOLOR_INF存储颜色参数;NCon存储基本图形信息,包括NFace、NLine、NPoint等,其中Nface存储三角面信息,NLine存储线段信息,NPoint存储点信息;存储完成后,进入渲染过程,进行曲面细分,给计算机进行渲染。

具体地,一条管线上包含一个在线阀门和若干管件或在线设备,阀门包括执行机构(把手)和阀门本体(主要是阀门底座、支撑、进出口等),把手由一个大圆环和若干个圆柱(一般3-5个)和若干螺栓螺柱等组成。以管线、阀门、阀门把手、把手中圆柱体基本体层级和节点为例,其模型描述和转换过程包括:

S1、导出原始软件中的原始三维模型,获取管线、阀门、基本体等节点层级关系和节点信息(包括节点名称、层级、节点级别坐标系转换矩阵等),写入NTree、NNode和NMatrix对象进行存储;

S2、读取原始三维模型的图形信息,进行转换。例如,把手中的圆柱基本体,在原始三维模型中描述为一个底部圆和高度两个参数,其中圆的描述为圆心点坐标和半径值(不同原始软件的描述方式不同)。在计算机渲染后,将其转换为底面和顶面两个圆面和圆柱形侧面外表面进行描述,根据预设精度,将圆面拆解为正多边形,近似描述圆;圆心点和任意邻近的圆上两点连线,围合形成三角面;记录拆分三角面数量和三角面信息,以及三角面内三角形的边和顶点,以及法向量信息,存储在NPoint、NLine、NFace对象中,并组成形成NCon对象;同样,对圆柱形侧面外表面进行处理,将底面和顶面圆上分割的正多边形顶点相连,根据预设精度,在圆柱形轴向方向上进行分割,轴向上任意两点距离等分;横向和轴向的点分别进行连接,形成一个个三角面;记录拆分的三角面数量和三角面信息,以及三角面内三角形的边和顶点与法向量信息,存储在NPoint、NLine、NFace对象,以及NCon对象中,同时根据基本体的所有点坐标信息,形成对象包围盒和包围体信息,存储在NBOX和NGlob对象中,完成基本体对象图形信息转换;

S3、根据对象坐标系信息,设置位置变换、旋转变换、缩放变换等坐标系转换矩阵,存储在基本体对象级别NMatrix对象中;同时获取基本体对象颜色信息,设置模型颜色,存储在NCOLOR_INF对象中;

S4、读取原始三维模型的各级节点的属性信息,以动态结构存储节点属性信息;

S5、将节点树信息、节点图形信息、节点属性信息分别写入对应文件,并形成最终专有格式模型文件(即原始三维模型的轻量化模型数据文件);

S6、计算机渲染:将专有格式模型文件读入内存,对其进行曲面细分和三角面转换,通过显卡设备进行渲染,在计算机画面绘制三维实体图像(即得到原始三维模型的核电三维实体图像)。

本实施例的加载方法,可以满足核电大场景模型加载需要,使得主流硬件环境能够快速浏览核电厂全厂模型。形成轻量化模型文件根据不同数据分类存储,网络上加载模型时,根据需要进行加载,使得用户关注的内容优先加载,并减小数据体积,缩短数据传输时间,实现在线实时浏览。

可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号