CN110866056B - Step文件的轻量化处理方法、装置及设备 - Google Patents

Step文件的轻量化处理方法、装置及设备 Download PDF

Info

Publication number
CN110866056B
CN110866056B CN201911057257.XA CN201911057257A CN110866056B CN 110866056 B CN110866056 B CN 110866056B CN 201911057257 A CN201911057257 A CN 201911057257A CN 110866056 B CN110866056 B CN 110866056B
Authority
CN
China
Prior art keywords
file
information
node
current
traversed
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
CN201911057257.XA
Other languages
English (en)
Other versions
CN110866056A (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.)
Suowei Technology Co.,Ltd.
Original Assignee
Beijing Rope Is Systems Technology LLC
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 Beijing Rope Is Systems Technology LLC filed Critical Beijing Rope Is Systems Technology LLC
Priority to CN201911057257.XA priority Critical patent/CN110866056B/zh
Publication of CN110866056A publication Critical patent/CN110866056A/zh
Application granted granted Critical
Publication of CN110866056B publication Critical patent/CN110866056B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种STEP文件的轻量化处理方法、装置及设备,该方法包括:获取STEP文件;对所述STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,其中,所述总体索引文件由JSON格式表示,所述零件级可视化文件由二进制格式表示。该技术方案能够对获取到的STEP文件进行轻量化处理,从而解决了由于文件产品数据较大,导致浏览困难的问题,通过轻量化处理生成二进制格式的零件级可视化文件,能够使得零件可视化信息得到合理的压缩和存储,从而减小了文件的占用内存,缩小了文件在网络中的传输速度,便于该文件在网络中的传递,进一步提升了用户体验。

Description

STEP文件的轻量化处理方法、装置及设备
技术领域
本发明一般涉及数据处理技术领域,具体涉及一种STEP文件的轻量化处理方法、装置及设备。
背景技术
随着三维CAD软件的普及应用,越来越多的制造企业以3D模型为数据基础,作为设计、工艺、制造、售后与管理人员以及供应商、合作伙伴或企业内外的沟通与交流媒介。STEP是国际标准化组织(ISO)所属技术委员会制顶的国际统一的CAD数据交换标准,目前主流的三维设计软件均支持STEP格式文件的导入和导出。STEP的文件作为国际标准的中间格式文件在设计沟通中得到了普遍的应用。
但是,STEP格式表征的三维模型不能直接进行可视化,需相应浏览工具进行解析才能浏览模型;同时,文件数据规模庞大,影响了数据在网络中的传输,无法使得用户更好的进行在线浏览,导致用户体验差。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种STEP文件的轻量化处理方法、装置及设备,能够对STEP文件进行轻量化处理,减小了文件的占用内存,缩小了文件在网络中的传输速度,进一步提升了用户体验。
第一方面,本发明提供了一种STEP文件的轻量化处理方法,该方法包括:
获取STEP文件;
对所述STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,其中,所述总体索引文件由JSON格式表示,所述零件级可视化文件由二进制格式表示。
在其中一个实施例中,所述对所述STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,包括:
将所述STEP文件的文件格式转化为内存数据格式;
遍历所述内存数据格式下的所述STEP文件对应的结构信息,构造信息树;
遍历所述信息树,生成总体索引文件和零件级可视化文件。
在其中一个实施例中,遍历所述内存数据格式下的所述STEP文件对应的结构信息,构造信息树,包括:
获取所述所述内存数据格式下对应的全部节点;
循环执行第一指定操作,直至所述内存数据格式下对应的节点全部遍历完成为止;
所述第一指定操作包括:
确定所述STEP文件的当前节点;
判断所述当前节点是否遍历完成;
当未遍历完成时,则根据所述当前节点构造信息树,并判断所述当前节点是否存在子节点;
当存在所述子节点时,控制进入下一次所述第一指定操作;
当不存在所述子节点时,则获取下一节点,并控制进入下一次所述第一指定操作;
在其中一个实施例中,根据所述当前节点构造信息树,包括:
获取所述当前节点的矩阵信息和颜色信息;
确定所述当前节点的节点类别,所述节点类别包括装配节点和零件节点;
当所述节点类别为装配节点时,获取装配信息并保存至所述信息树;
当所述节点类别为零件节点时,获取零件信息并保存至所述信息树,并遍历所述零件信息包含的面以构造信息树。
在其中一个实施例中,遍历所述零件信息包含的面以构造信息树,包括:
获取所述零件信息包含的全部面;
循环执行所述第二指定操作,直至所述零件信息包含的全部面遍历完成为止;
所述第二指定操作包括:
确定所述零件信息的当前面,并判断所述当前面是否遍历完成;
当未遍历完成时,则对所述当前面进行离散化处理,确定离散化处理后的三角形信息,并判断所述当前面中包含的线是否遍历完成;
当所述当前面中包含的线未遍历完成时,则对所述当前面中包含的线进行遍历处理;
当所述当前面中包含的线遍历完成时,则确定所述零件信息包含的下一面,并控制进入所述第二指定操作;
在其中一个实施例中,对所述当前面中包含的线进行遍历处理,包括:
获取所述当前面中包含的全部线;
循环执行第三指定操作,直至所述当前面中包含的全部线遍历完成为止;
所述第三指定操作包括:
确定所述当前面中包含的当前线;
判断所述当前线是否遍历;
当所述当前线未遍历时,则对所述当前线进行离散化处理,确定离散化处理的线段信息;
当所述当前线遍历完时,则确定所述当前面中包含的下一线,并控制进入所述第三指定操作。
在其中一个实施例中,遍历所述信息树,生成总体索引文件和零件级可视化文件,包括:
获取所述信息树的全部节点;
循环执行第四指定操作,直至所述信息树的全部节点遍历完成为止;
所述第四指定操作包括:
判断所述信息树的当前节点是否遍历:
当所述信息树的当前节点未遍历时,则输出总体索引文件,并判断所述信息树的当前节点的节点类别;
当所述节点类别为装配节点时,则确定所述信息树的下一节点,并控制执行所述第四指定操作;
当所述节点类别为零件节点时,则创建零件级可视化文件,并控制执行所述第四指定操作。
在其中一个实施例中,所述总体索引文件包括以下至少一项:装配体结构、零部件名称、位置信息、颜色信息及零件对应的可视化数据;
所述零件级可视化文件包括零件的可视化信息。
第二方面,本申请实施例提供了一种STEP文件的轻量化处理装置,该装置包括:
获取模块,用于获取STEP文件;
生成模块,用于对所述STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,其中,所述总体索引文件由JSON格式表示,所述零件级可视化文件由二进制格式表示。
第三方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述STEP文件的轻量化处理方法。
本发明实施例提供的STEP文件的轻量化处理方法、装置及设备,通过获取STEP文件,并对该STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,其中,该总体索引文件由JSON格式表示,该零件级可视化文件由二进制格式表示。该技术方案能够对获取到的STEP文件进行轻量化处理,从而解决了由于文件产品数据较大,导致浏览困难的问题,该轻量化处理后生成的总体索引文件能够提取到模型中的可视化信息,使得更好的浏览模型,通过轻量化处理生成二进制格式的零件级可视化文件,能够使得零件可视化信息得到合理的压缩和存储,从而减小了文件的占用内存,缩小了文件在网络中的传输速度,便于该文件在网络中的传递,进一步提升了用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的STEP文件的轻量化处理方法的流程示意图;
图2为本申请另一实施例提供的STEP文件的轻量化处理方法的流程示意图;
图3为本申请另一实施例提供的构造信息树方法的流程示意图;
图4为本申请另一实施例提供的构造信息树方法的流程示意图;
图5为本申请另一实施例提供的STEP文件的轻量化处理方法的流程示意图;
图6为本发明实施例提供的STEP文件的数据处理装置的结构示意图;
图7为本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
可以理解,工业APP,是基于工业互联网、承载工业知识和经验,满足特定需求的工业应用软件,是工业技术软件化的重要成果。其本质是企业知识和技术诀窍的模型化、模块化、标准化和软件化,能够有效促进知识的显性化、公有化、组织化、系统化,极大地便利了知识的应用和复用。一般经过计算机辅助制造软件生成的源文件为标准化格式文件,如三维CAD为STEP格式文件。但是,该文件记录了大量的模型数据,使得文件较大,且由于模型数据场景大、面数多,影响了数据在网络中的传输速度,无法使得用户更好的进行在线浏览,导致用户体验差。
基于上述缺陷,本发明实施例提供了一种STEP文件的轻量化处理方法,通过对获取的STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,与现有技术相比,该轻量化处理后生成的总体索引文件能够提取到模型中的可视化信息,使得更好的浏览模型,该轻量化处理后生成的二进制格式的零件级可视化文件,能够使得零件可视化信息得到合理的压缩和存储,从而减小了文件的占用内存,缩小了文件在网络中的传输速度,便于该文件在网络中的传递,进而提升了用户体验。
下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,下述法实施例的执行主体可以是STEP文件的轻量化处理装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为终端设备的部分或者全部。下述方法实施例的执行主体以服务器为例来进行说明。
图1为本发明实施例提供的STEP文件的轻量化处理方法的流程示意图,如图1所示,该方法包括:
步骤S101、获取STEP文件。
具体的,上述STEP文件为STEP后缀的STP文件,属于STP三维文件,该文件是基于ASCII格式符合STEP应用协议标准的正文编码的交换结构的三维图像数据。很多工业计算机辅助制造软件均可以打开STEP文件,例如CATIA(计算机辅助三维交互应用)、UG NX、Pro-E Creo、Solidworks等。
可选的,上述STEP文件可以是用户根据需求自定义的文件,也可以是用户通过云端下载的文件,还可以是使用外部设备导入的文件。其中,该STEP文件可以包括零件图、部件装配图、系统图等基本模型,记录了模型的B-rep数据,其中,B-rep数据可以是关于面、边、点及其相互关系的信息。可选的,服务器获取STEP文件的过程可以为:服务器接收用户输入的处理指令,并根据处理指令获取STEP文件。
步骤S102、对STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,其中,总体索引文件由JSON格式表示,零件级可视化文件由二进制格式表示。
具体的,在获取到STEP文件后,可以对该STEP文件进行轻量化处理,使得生成总体索引文件和零件级可视化文件,其中,总体索引文件由JSON格式表示,所述零件级可视化文件由二进制格式表示。该总体索引文件包括以下至少一项:装配体结构、零部件名称、位置信息、颜色信息及零件对应的可视化信息;生成的零件级可视化文件包括零件的可视化信息。
本申请实施例提供的STEP文件的轻量化处理方法,通过获取STEP文件,并对该STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,其中,该总体索引文件由JSON格式表示,该零件级可视化文件由二进制格式表示。该技术方案能够对获取到的STEP文件进行轻量化处理,从而解决了由于文件产品数据较大,导致浏览困难的问题,该轻量化处理后生成的总体索引文件能够提取到模型中的可视化信息,使得更好的浏览模型,通过轻量化处理生成二进制格式的零件级可视化文件,能够使得零件可视化信息得到合理的压缩和存储,从而减小了文件的占用内存,缩小了文件在网络中的传输速度,便于该文件在网络中的传递,进一步提升了用户体验。
在上述实施例的基础上,图2为本申请的另一实施例提供的对STEP文件进行轻量化处理方法的流程示意图,如图2所示,该方法包括:
步骤S201、将STEP文件的文件格式转化为内存数据格式;
步骤S202、遍历内存数据格式下的STEP文件对应的结构信息,构造信息树;
步骤S203、遍历信息树,生成总体索引文件和零件级可视化文件。
具体的,在获取到STEP文件后,可以先将该STEP文件的文件格式转化为内存数据格式,该内存数据格式便于计算机对STEP文件进行数据遍历和读取。在将STEP文件转换为内存数据格式后,可以遍历该内存数据格式下的STEP文件对应的结构信息,构造信息树,其中,该信息树为程序中存储装配体信息和可视化信息的一种树状图数据结构,其在内存中临时存储。
需要说明的是,在构造出信息树后,然后遍历上述信息树,使得输出总体索引文件和零件级可视化文件,其中,总体索引文件包括:所有的装配节点与零件节点的信息列表、装配节点和零件节点的组装信息及与零件节点相应的可视化文件信息;该信息列表中的每个节点包括名称、ID、颜色及由16个float组成的矩阵。零件级可视化文件包括面经过离散化处理后得到的三角形信息和线经过离散化处理后得到的线段信息;其中,三角形信息包括点集信息和组成信息,该点集信息为所有三角形的三个顶点坐标信息,组成信息用于表示组成三角形的三个点的信息,线段信息包括点集组成信息,即线段端点的组成顺序与每个端点的坐标信息。
进一步地,在上述实施例的基础上,图3为本申请实施例提供的构造信息树方法的流程示意图。如图3所示,该方法包括:
步骤S301、获取内存数据格式下对应的全部节点;
循环执行第一指定操作,直至内存数据格式下对应的节点全部遍历完成为止;
第一指定操作包括:
步骤S302、确定STEP文件的当前节点,并判断当前节点是否遍历完成;
当未遍历完成时,则执行步骤S303、根据当前节点构造信息树,并判断当前节点是否存在子节点;
当存在子节点时,则继续执行步骤S302,确定子节点,控制进入下一次第一指定操作;
当不存在子节点时,则执行步骤S304、获取下一节点,并继续执行步骤S302、控制进入下一次所述第一指定操作。
具体的,在获取到内存数据格式下对应的全部节点后,可以先确定该内存格式下的STEP文件的当前节点,并判断当前节点是否遍历完成,当未遍历完成时,则获取该当前节点的矩阵信息和颜色信息,该矩阵信息可以包括坐标、缩放、翻转等变换信息,并确定当前节点的节点类别,该节点类别包括装配节点和零件节点,当该节点类别为装配节点时,获取装配信息并保存至信息树,当节点类别为零件节点时,则获取零件信息并保存至信息树,并遍历零件信息包含的面以构造信息树。其中,该装配节点中包含了零件的结构信息,并不包含可视化信息,零件节点中包含了可视化信息,是一个可视化的形状,但不包含与其他零件的关系。
当获取装配信息保存到信息树后,并判断该当前节点是否存在子节点,如果存在子节点,则遍历子节点,并获取子节点的矩阵信息和颜色信息,判断该子节点的节点类别,当子节点的节点类别为装配节点时,则保存至信息树,当子节点的节点类别为零件节点时,则将零件信息保存至信息树,在遍历完成该子节点后,如果该当前节点还存在下一子节点,则继续对下一子节点执行上述操作。当该当前节点不存在子节点时,则遍历下一节点以构造信息树,直到该内存数据格式下的所有节点全部遍历完成为止。
进一步地,图4为本申请实施例提供的构造信息树方法的流程示意图。如图4所示,该方法包括:
步骤S401、获取零件信息包含的全部面;
循环执行所述第二指定操作,直至零件信息包含的全部面遍历完成为止;
所述第二指定操作包括:
步骤S402、确定零件信息的当前面,并判断当前面是否遍历完成;
当遍历完成时,在执行步骤S406、确定零件信息的下一面并遍历处理;
当未遍历完成时,则执行步骤S403、对当前面进行离散化处理,确定离散化处理后的三角形信息,并执行步骤S404、判断当前面中包含的线是否遍历完成;
若当前面中包含的线未遍历完成时,则对当前面中包含的线进行遍历处理;
若当前面中包含的线遍历完成时,则确定零件信息包含的下一面,并继续执行步骤S402,控制进入第二指定操作;
具体的,当获取到零件信息并保存至信息树后,获取该零件信息对应的全部面,并确定该零件信息的当前面,判断当前面是否遍历完成,如果当前面遍历完成,则确定零件信息的下一面并进行遍历处理,知道零件信息中包含的全部面遍历完成为止。如果当前面未遍历时,则对当前面进行离散化处理,以获取到离散化处理后的三角形信息,该当前面中包含若干线,并获取到当前面中包含的全部线,对该全部线进行遍历处理。
继续参见图4所示,S501、获取当前面中包含的全部线;
循环执行第三指定操作,直至当前面中包含的全部线遍历完成为止;
所述第三指定操作包括:
S502、确定当前面中包含的当前线,并判断当前线是否遍历;
当当前线未遍历时,则执行步骤S503、对当前线进行离散化处理,确定离散化处理的线段信息;
当所述当前线遍历完时,则执行步骤S504、确定当前面中包含的下一线,并控制进入第三指定操作。
需要说明的是,在具体对当前面中包含的全部线进行遍历时,先确定当前面中包含的当前线,并判断当前线是否遍历,如果当前线未遍历时,则对该当前线进行离散化处理,确定离散化处理后的线段信息,如果当前线遍历完时,则确定当前面中包含的下一线,并对下一线进行上述判断和离散化处理操作,直至当前面中包含的全部线遍历完成为止。
进一步地,在上述实施例的基础上,图5为本申请实施例提供的构造信息树方法的流程示意图。如图5所示,该方法包括:
步骤S601、获取信息树的全部节点;
循环执行第四指定操作,直至所述信息树的全部节点遍历完成为止;
所述第四指定操作包括:
步骤S602、判断信息树的当前节点是否遍历:
当所述信息树的当前节点未遍历时,则执行步骤S603、输出总体索引文件,并判断信息树的当前节点的节点类别;
步骤S604、当所述节点类别为装配节点时,则确定所述信息树的下一节点,并控制执行所述第四指定操作;
当所述节点类别为零件节点时,则创建零件级可视化文件,并控制执行所述第四指定操作。
需要说明的是,当构造出信息树之后,则获取到信息树的全部节点,并确定信息树的当前节点,判断该当前节点是否遍历,当该信息树的当前节点未遍历时,则输出总体索引文件,并判断当前节点的节点类别,当节点类别为零件节点时,则创建零件级可视化文件,并写入面线可视化信息;当节点类别为装配节点时,则确定信息树的下一节点,并判断该下一节点是否遍历,当该下一节点未遍历时,则继续输出总体索引文件,并判断该下一节点的节点类别,以此类推,直到该信息树的所有节点遍历完成为止。
其中,零件可视化文件包括面经过离散后的三角形信息和线经过离散化处理后的线段信息,总体索引文件包括所有的装配节点与零件节点的信息列表、装配节点与零件节点的组装信息以及与零件节点相应的可视化文件信息。
进一步地,该零件可视化文件为对全部数据进行LZMA(Lempel-Zi v-Markovchain-Algorithm,压缩算法)处理后的多个数据块,其中,每个数据块包括面离散三角形点坐标点集信息、面离散三角形组成数据及线框数据等。
该面离散三角形点坐标点集信息和离散三角形组成数据用于描述零件结构的面,其通过数据块名称里面包含的ID相关联,需要说明的是,面离散三角形点坐标点集信息包括数据块名称标识、数据块的数据类型标识、数据的长度及数据块内容,例如数据名称标识为字符串face_pointset_faceid001,数据类型标识为float,数据长度为N,数据块内容为:一个长度为N的数据,每个点坐标信息(点1x,点1y,点1z,点2x,点2y,点2z,点3x,点3y,点
3z)。
面离散三角形组成数据包括数据类型、数据长度、颜色及三角形数量、每个三角形点ID,例如每个三角形点ID(三角形1点1ID,三角形1点2ID,三角形1点3ID)。
每个数据块也可以描述一个线框,该线框通过面名称里面包含的ID相关联,线框数据包括数据类型、数据长度、线框中包含的折线段的数量、每个折线段的点数据,该点数据包括点数量、点坐标,例如折线段1点数量、折线段1各个点坐标、折线段2点数量、折线段2各个点坐标。其中,折线段包含的各个点按先后顺序连接,构成该折线段,多个折线段构成线框数据。
本实施例中提供的STEP文件的轻量化处理方法,通过将STEP文件的文件格式转化为内存数据格式,并遍历该内存数据格式下的STEP文件对应的结构信息,构造信息树,并遍历该信息树,生成总体索引文件和零件级可视化文件。该技术方案能够对确定出模型中的可视化数据,通过对面和线离散化处理,以获取到更多的数据信息,并通过压缩算法对数据进行处理,使得减小了文件的占用内存,并且转换为二进制文件后,有利于计算机进行执行二进制文件,便于文件在网络中的传递,进一步提升了用户体验。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
图6为本发明实施例提供的STEP文件的轻量化处理装置的结构示意图。如图6所示,该装置可以实现如图1-5所示的方法,该装置可以包括:
获取模块10,用于获取STEP文件;
生成模块20,用于对所述STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,其中,所述总体索引文件由JSON格式表示,所述零件级可视化文件由二进制格式表示。
优选的,所述生成模块20,包括:
格式转化单元201,用于将所述STEP文件的文件格式转化为内存数据格式;
构造单元202,用于遍历所述内存数据格式下的所述STEP文件对应的结构信息,构造信息树;
生成单元203,用于遍历所述信息树,生成总体索引文件和零件级可视化文件。
优选的,所述构造单元203,具体用于:获取所述内存数据格式下对应的全部节点;
循环执行第一指定操作,直至所述内存数据格式下对应的节点全部遍历完成为止;
所述第一指定操作包括:
确定所述STEP文件的当前节点;
判断所述当前节点是否遍历完成;
当未遍历完成时,则根据所述当前节点构造信息树,并判断所述当前节点是否存在子节点;
当存在所述子节点时,控制进入下一次所述第一指定操作;
当不存在所述子节点时,则获取下一节点,并控制进入下一次所述第一指定操作;
优选的,所述构造单元203,还用于:获取所述当前节点的矩阵信息和颜色信息;
确定所述当前节点的节点类别,所述节点类别包括装配节点和零件节点;
当所述节点类别为装配节点时,获取装配信息并保存至所述信息树;
当所述节点类别为零件节点时,获取零件信息并保存至所述信息树,并遍历所述零件信息包含的面以构造信息树。
优选的,所述构造单元202,具体用于:获取所述零件信息包含的全部面;
循环执行所述第二指定操作,直至所述零件信息包含的全部面遍历完成为止;
所述第二指定操作包括:
确定所述零件信息的当前面;
判断所述当前面是否遍历完成;
当未遍历完成时,则对所述当前面进行离散化处理,确定离散化处理后的三角形信息,并判断所述当前面中包含的线是否遍历完成;
当所述当前面中包含的线未遍历完成时,则对所述当前面中包含的线进行遍历处理;
当所述当前面中包含的线遍历完成时,则确定所述零件信息包含的下一面,并控制进入所述第二指定操作;
优选的,所述构造单元202,还用于:获取所述当前面中包含的全部线;
循环执行第三指定操作,直至所述当前面中包含的全部线遍历完成为止;
所述第三指定操作包括:
确定所述当前面中包含的当前线;
判断所述当前线是否遍历;
当所述当前线未遍历时,则对所述当前线进行离散化处理,确定离散化处理的线段信息;
当所述当前线遍历完时,则确定所述当前面中包含的下一线,并控制进入所述第三指定操作。
优选的,所述生成单元203,具体用于:获取所述信息树的全部节点;
循环执行第四指定操作,直至所述信息树的全部节点遍历完成为止:
所述第四指定操作包括:
判断所述信息树的当前节点是否遍历:
当所述信息树的当前节点未遍历时,则输出总体索引文件,并判断所述信息树的当前节点的节点类别;
当所述节点类别为装配节点时,则确定所述信息树的下一节点,并控制执行所述第四指定操作;
当所述节点类别为零件节点时,则创建零件级可视化文件,并控制执行所述第四指定操作。
优选的,所述总体索引文件包括以下至少一项:装配体结构、零部件名称、位置信息、颜色信息及零件对应的可视化数据;
所述零件级可视化文件包括零件的可视化信息。
本实施例提供的STEP文件的数据处理装置,可以执行上述方法的实施例,其实现原理和技术效果类似,在此不再赘述。
图7为本发明实施例提供的一种计算机设备的结构示意图。如图7所示,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统700的结构示意图。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有系统700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入部分706也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口706。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考图1描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图1的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块和生成模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,获取模块还可以被描述为“用于获取STEP文件”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中前述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,前述程序被一个或者一个以上的处理器用来执行描述于本申请的STEP文件的轻量化处理方法。
综上所述,本发明实施例提供的STEP文件的轻量化处理方法、装置及设备,通过获取STEP文件,并对该STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,其中,该总体索引文件由JSON格式表示,该零件级可视化文件由二进制格式表示。该技术方案能够对获取到的STEP文件进行轻量化处理,从而解决了由于文件产品数据较大,导致浏览困难的问题,该轻量化处理后生成的总体索引文件能够提取到模型中的可视化信息,使得更好的浏览模型,通过轻量化处理生成二进制格式的零件级可视化文件,能够使得零件可视化信息得到合理的压缩和存储,从而减小了文件的占用内存,缩小了文件在网络中的传输速度,便于该文件在网络中的传递,进一步提升了用户体验。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (9)

1.一种STEP文件的轻量化处理方法,其特征在于,所述方法包括:获取STEP文件;
对所述STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,其中,所述总体索引文件由JSON格式表示,所述零件级可视化文件由二进制格式表示;
所述对所述STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,包括:
将所述STEP文件的文件格式转化为内存数据格式;
遍历所述内存数据格式下的所述STEP文件对应的结构信息,构造信息树;遍历所述信息树,生成总体索引文件和零件级可视化文件。
2.根据权利要求1所述的轻量化处理方法,其特征在于,遍历所述内存数据格式下的所述STEP文件对应的结构信息,构造信息树,包括:
获取所述内存数据格式下对应的全部节点;
循环执行第一指定操作,直至所述内存数据格式下对应的节点全部遍历完成为止;所述第一指定操作包括:
确定所述STEP文件的当前节点,并判断所述当前节点是否遍历完成;
当未遍历完成时,则根据所述当前节点构造信息树,并判断所述当前节点是否存在子节点;
当存在所述子节点时,控制进入下一次所述第一指定操作;
当不存在所述子节点时,则获取下一节点,并控制进入下一次所述第一指定操作。
3.根据权利要求2所述的轻量化处理方法,其特征在于,根据所述当前节点构造信息树,包括:
获取所述当前节点的矩阵信息和颜色信息;
确定所述当前节点的节点类别,所述节点类别包括装配节点和零件节点;当所述节点类别为装配节点时,获取装配信息并保存至所述信息树;
当所述节点类别为零件节点时,获取零件信息并保存至所述信息树,并遍历所述零件信息包含的面以构造信息树。
4.根据权利要求3所述的轻量化处理方法,其特征在于,遍历所述零件信息包含的面以构造信息树,包括:
获取所述零件信息包含的全部面;
循环执行第二指定操作,直至所述零件信息包含的全部面遍历完成为止;所述第二指定操作包括:
确定所述零件信息的当前面,并判断所述当前面是否遍历完成;当遍历完成时,则确定所述零件信息的下一面并进行遍历处理;
当未遍历完成时,则对所述当前面进行离散化处理,确定离散化处理后的三角形信息,并判断所述当前面中包含的线是否遍历完成;
当所述当前面中包含的线未遍历完成时,则对所述当前面中包含的线进行遍历处理;当所述当前面中包含的线遍历完成时,则确定所述零件信息包含的下一面,并控制进入所述第二指定操作。
5.根据权利要求4所述的轻量化处理方法,其特征在于,对所述当前面中包含的线进行遍历处理,包括:
获取所述当前面中包含的全部线;
循环执行第三指定操作,直至所述当前面中包含的全部线遍历完成为止;所述第三指定操作包括:
确定所述当前面中包含的当前线,并判断所述当前线是否遍历;
当所述当前线未遍历时,则对所述当前线进行离散化处理,确定离散化处理的线段信息;
当所述当前线遍历完时,则确定所述当前面中包含的下一线,并控制进入所述第三指定操作。
6.根据权利要求1所述的轻量化处理方法,其特征在于,遍历所述信息树,生成总体索引文件和零件级可视化文件,包括:
获取所述信息树的全部节点;
循环执行第四指定操作,直至所述信息树的全部节点遍历完成为止;所述第四指定操作包括:
判断所述信息树的当前节点是否遍历:
当所述信息树的当前节点未遍历时,则输出总体索引文件,并判断所述信息树的当前节点的节点类别;
当所述节点类别为装配节点时,则确定所述信息树的下一节点,并控制执行所述第四指定操作;
当所述节点类别为零件节点时,则创建零件级可视化文件,并控制执行所述第四指定操作。
7.根据权利要求1所述的轻量化处理方法,其特征在于,所述总体索引文件包括以下至少一项:装配体结构、零部件名称、位置信息、颜色信息及零件对应的可视化数据;
所述零件级可视化文件包括零件的可视化信息。
8.一种STEP文件的轻量化处理装置,其特征在于,所述装置包括:获取模块,用于获取STEP文件;
生成模块,用于对所述STEP文件进行轻量化处理,生成总体索引文件和零件级可视化文件,其中,所述总体索引文件由JSON格式表示,所述零件级可视化文件由二进制格式表示;
所述生成模块,包括:
格式转化单元,用于将所述STEP文件的文件格式转化为内存数据格式;
构造单元,用于遍历所述内存数据格式下的所述STEP文件对应的结构信息,构造信息树;
生成单元,用于遍历所述信息树,生成总体索引文件和零件级可视化文件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述方法的步骤。
CN201911057257.XA 2019-10-31 2019-10-31 Step文件的轻量化处理方法、装置及设备 Active CN110866056B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911057257.XA CN110866056B (zh) 2019-10-31 2019-10-31 Step文件的轻量化处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911057257.XA CN110866056B (zh) 2019-10-31 2019-10-31 Step文件的轻量化处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110866056A CN110866056A (zh) 2020-03-06
CN110866056B true CN110866056B (zh) 2022-06-10

Family

ID=69653567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911057257.XA Active CN110866056B (zh) 2019-10-31 2019-10-31 Step文件的轻量化处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110866056B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113255026B (zh) * 2021-07-13 2021-10-29 杰为软件系统(深圳)有限公司 一种基于语义信息交换的cad协同设计方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794133A (zh) * 2014-01-21 2015-07-22 兰州大学 基于step文件的从cad模型到mcnp几何模型的转换算法
CN109284256A (zh) * 2018-08-01 2019-01-29 广东省智能制造研究所 一种stpl三维模型文件格式、提取方法、装置及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019788B1 (en) * 2002-09-30 2011-09-13 Siemens Product Lifecycle Management Software Inc. Data compression and file segmentation in directmodel JT datastores

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794133A (zh) * 2014-01-21 2015-07-22 兰州大学 基于step文件的从cad模型到mcnp几何模型的转换算法
CN109284256A (zh) * 2018-08-01 2019-01-29 广东省智能制造研究所 一种stpl三维模型文件格式、提取方法、装置及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
产品三维数据模型轻量化表示实现;刘云华;《计算机辅助设计与图形学学报》;20060430;第18卷(第4期);全文 *
面向STEP的实体信息交换软件的设计与实现;郑波;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;中国学术期刊(光盘版)电子杂志社;20150715;全文 *

Also Published As

Publication number Publication date
CN110866056A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
CN111295680B (zh) 用于基础设施建模的智能模型层级
CN110990467B (zh) 一种bim模型格式转换方法及转换系统
CN113112603B (zh) 三维模型优化的方法和装置
Cao et al. Digital Twin–oriented real-time cutting simulation for intelligent computer numerical control machining
CN102496082A (zh) 基于可视化技术的飞机产品研制进度监控方法
CN111737844A (zh) 一种基于Web3D的编辑三维建筑模型系统及工作流程
CN110866056B (zh) Step文件的轻量化处理方法、装置及设备
CN109274742A (zh) 一种物联网数据采集与监视控制系统
Chen et al. Improvements in the reliability and element quality of parallel tetrahedral mesh generation
CN115659445A (zh) 一种基于Open Cascade的CAD模型在网页轻量化渲染显示的方法
CN112017287A (zh) 一种地下电缆设施三维参数化建模及高效渲染方法
She et al. 3D building model simplification method considering both model mesh and building structure
CN115098907A (zh) 基于虚拟现实的变电站4d-bim可视化方法及系统
Gopalakrishnan et al. Big Data in building information modeling research: survey and exploratory text mining
Chopade et al. Real-time large-scale big data networks analytics and visualization architecture
Kim et al. 3D CAD model visualization on a website using the X3D standard
Leng et al. A data integration and simplification framework for improving site planning and building design
CN113689568A (zh) 一种基于云端渲染的三维效果图高精度建模方法
Otomo et al. Direct construction of a four-dimensional mesh model from a three-dimensional object with continuous rigid body movement
JP4340397B2 (ja) 三角形メッシュ簡単化装置およびプログラム
CN111008368A (zh) 一种基于栅格的协同设计安全产品数据交换方法及系统
CN113963125A (zh) 一种二维gis矢量数据生成3d场景的方法和系统
EP3937125B1 (en) Method, apparatus for superimposing laser point clouds and high-precision map and electronic device
Zhang et al. Online 3D electricity infrastructure visualization based on cesium framework
KR102467152B1 (ko) 웹 환경에서의 bim 가시화 시스템 및 그 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Room 331, Room 3, Building 1, Courtyard 11, Anxiang Beilijia, Chaoyang District, Beijing 100101

Patentee after: Suowei Technology Co.,Ltd.

Address before: Room 331, Room 3, Building 1, Courtyard 11, Anxiang Beilijia, Chaoyang District, Beijing 100101

Patentee before: Beijing rope is systems technology LLC

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Lightweight processing method, device, and equipment for STEP files

Effective date of registration: 20230403

Granted publication date: 20220610

Pledgee: Zhongguancun Branch of Bank of Beijing Co.,Ltd.

Pledgor: Suowei Technology Co.,Ltd.

Registration number: Y2023110000144