当前位置: 首页 > 专利查询>浙江大学专利>正文

一种检测STL格式模型文件重复性的方法及系统技术方案

技术编号:15692031 阅读:63 留言:0更新日期:2017-06-24 05:43
本发明专利技术涉及一种检测STL格式模型文件重复性的方法及系统,属于计算机技术领域。其中,检测方法包括:获取STL格式模型文件;判断模型库中是否存在与STL格式模型文件具有相等的边界尺寸比例的等边界比例模型,边界尺寸比例为模型的包络六面体的边界尺寸之比;若等边界比例模型与STL格式模型文件的体积占比相等,则STL格式模型文件为重复模型,体积占比为模型的体积与其包络六面体的体积之比。该方法计算过程简单且检测结果准确率高,可广泛地应用于三维模型处理技术领域。

Method and system for detecting repeatability of STL format model files

The invention relates to a method and a system for detecting the repeatability of STL format model files, belonging to the technical field of computers. The detection method comprises: obtaining STL model file format; determine the boundary scale model existence boundary with equal size ratio and STL file format model in the model library, the envelope size ratio model for hexahedral boundary boundary size ratio; if the boundary scale model and the STL model file format the volume proportion of equal then, STL format file for the model duplication model volume accounted for the size of its envelope as a model of hexahedral volume ratio. The method is simple in calculation and accurate in detection results. It can be widely applied in the field of 3D model processing.

【技术实现步骤摘要】
一种检测STL格式模型文件重复性的方法及系统
本专利技术涉及计算机
,具体地说,涉及一种检测STL格式模型文件重复性的方法及系统。
技术介绍
随着云制造和3D打印概念的普及,越来越多的网站开始提供面向用户免费下载的模型文件。比如制造云、魔猴3D云平台、打印虎等网站都提供了各类格式的免费或付费模型文件,用户可通过上传自己的模型文件以赚取一定的积分。由于STL格式文件的特殊性,即对同一模型进行简单的缩放、旋转等操作后,各三角面片的顶点坐标值会随之变化。这样简单操作后的STL格式文件编码也就发生变化,部分用户利用这种特性上传相同的模型以赚取积分。在论文《基于机械资源库的零部件相似性的研究和实现》(《中国机械工程》2006,17(12):1257-1260.)中所公开的方法是通过比较零件表信息的特征或属性值来确定相似性,并不涉及零件的形状,然而对于非标准化的模型文件或是没有表信息的文件则无法检测。在硕士论文《三维CAD模型匹配与检索方法的研究》中提出了一种基于投影面积的三维模型匹配方法,首先求得网格顶点处的法向矢量,然后对所有顶点邻域内的三角形法向平面上进行投影,得到一个投影面积的分布序列,然后通过归一化和傅里叶变换进行规范化处理,求出三维模型的特征向量,利用特征向量对不同模型进行相似度计算。该方法需要经过大量的计算处理,效率不高,此外,其准确率不高。
技术实现思路
本专利技术的主要目的为提供一种便于检测STL格式模型文件重复性的方法;本专利技术的另一目的为提供一种便于检测STL格式模型文件重复性的系统。为了实现上述主要目的,本专利技术提供的检测STL格式文件重复性的方法包括:获取STL格式模型文件;判断模型库中是否存在与STL格式模型文件具有相等的边界尺寸比例的等边界比例模型,边界尺寸比例为模型的包络六面体的边界尺寸之比;若等边界比例模型与STL格式模型文件的体积占比相等,则STL格式模型文件为重复模型,体积占比为模型的体积与其包络六面体的体积之比。由以上方案可见,只需计算模型的包络六面体的边界尺寸之比及模型在其包络六面体中的体积占比,并与模型库中的模型进行比较,就能对大部分模型的重复性进行检测,有效地提高STL格式模型文件检测的准确性与可靠性。具体的方案还包括:若STL格式模型文件为重复模型,则显示STL格式模型文件为重复模型的提示信息。另一具体的方案还包括:若不存在等边界比例模型或不存在等体积占比的等边界比例模型,则显示存储STL格式模型文件的提醒信息;接收针对提醒信息的响应指令;若响应指令为存储指令,则将STL格式模型文件与其边界尺寸比例、体积占比存入模型库中。对于被评价为非重复STL格式模型文件,可以根据对提醒信息的确认进行存储,从而结合人为判断以避免部分重复模型被评价为非重复模型。此外,将边界尺寸比例、体积占比与模型一起存入模型库中,有效提高后续检测的速度。再一具体的方案为,边界尺寸之比与体积占比的计算步骤包括:若STL格式文件为ASCII格式文件,则遍历“vertex”字符串后的三个数据,分别存入X={xi}、Y={yi}、Z={zi}三个数组中;若STL格式文件为二进制格式文件,直接读取表示坐标值的连续的三个4字节浮点数,分别存入X、Y、Z三个数组中;对数组X、Y、Z分别排序得到每个数组中的最大值和最小值,分别以下标max和min表示;根据以下公式求得模型的包络六面体的长l、宽w、高h及体积V:l=xmax-xmin,w=ymax-ymin,h=zmax-zmin,V=l×w×h;利用不规则多面体体积计算公式计算模型的体积。有效简化了计算方法,提高检测效率。更具体的方案为利用不规则多面体体积计算公式计算模型的体积的步骤包括:建立三个三维数组P1,P2,P3分别储存某一三角面片的三个顶点的坐标值;获取模型中所有三角面片所对应行列式|P1TP2TP3T|的和的累加;模型的体积为该和的累加的六分之一。有效地简化了计算方法,提高检测效率。优选的方案为边界尺寸之比为包络六面体的长宽之比及长高之比。使用两个比值作为边界尺寸之比,有效简化计算方法。为实现上述另一目的,本专利技术提供的检测STL格式文件重复性的系统,包括获取单元、判断单元及评价单元。其中,获取单元用于获取STL格式模型文件;判断单元用于判断模型库中是否存在与STL格式模型文件具有相等的边界尺寸比例的等边界比例模型,边界尺寸比例为模型的包络六面体的边界尺寸之比;评价单元用于在等边界比例模型与STL格式模型文件的体积占相等时,评价STL格式模型文件为重复模型,体积占比为模型的体积与其包络六面体的体积之比。一个具体的方案还包括提示单元,用于在STL格式模型文件为重复模型时,显示STL格式模型文件为重复模型的提示信息。另一个具体的方案还包括提醒单元、接收单元及存储单元。提醒单元用于显示存储STL格式模型文件的提醒信息;接收单元用于接收针对提醒信息的响应指令;存储单元用于当响应指令为存储指令,将STL格式模型文件与其边界尺寸比例、体积占比存入模型库中。附图说明图1为本专利技术检测STL格式模型文件重复性的方法实施例的流程图;图2为本专利技术检测STL格式模型文件重复性的方法实施例中所检测的旋钮STL格式模型文件的三角网格的分布示意图;图3为本专利技术检测STL格式模型文件重复性的方法实施例中所检测的旋钮STL格式模型文件的包络六面体的示意图;图4为本专利技术检测STL格式模型文件重复性的系统实施例的结构框图。具体实施方式以下结合实施例及其附图对本专利技术作进一步说明。实施例参见图1,检测STL格式模型文件重复性的方法包括获取步骤S1、判断步骤S2、评价步骤S3及处理步骤S4。获取步骤S1,获取STL格式模型文件:以如图2所示的旋钮STL格式模型文件为例,该旋钮模型01由若干三角面片02构成,在其代码文件中储存了每个三角面片的顶点坐标值。获取三角面片的顶点坐标值的步骤包括:(1)确定STL格式文件的编码格式,编码格式依据文件编码是否含有“facet”字符串判定其为ASCII格式或二进制格式;(2)以C#语言为例,若STL格式文件为二进制则使用BinaryReader类读取文件,若STL格式文件为ASCII类型则使用StreamReader类读取文件。判断步骤S2,判断模型库中是否存在与STL格式模型文件具有相等的边界尺寸比例的等边界比例模型,边界尺寸比例为模型的包络六面体的边界尺寸之比。如图3所示,为旋钮模型01的包络六面体03,计算旋钮模型的包络六面体的长l、宽w、高h的过程为:(1)若STL格式文件为ASCII格式文件,则遍历“vertex”字符串后的三个数据,分别存入X={xi}、Y={yi}、Z={zi}三个数组中;若STL格式文件为二进制格式文件,直接读取表示坐标值的连续的三个4字节浮点数,分别存入X、Y、Z三个数组中;(2)对数组X、Y、Z分别排序得到每个数组中的最大值与最小值,分别以下标max与min标识;根据以下公式求得模型的包络六面体的长l、宽w、高h:l=xmax-xmin;w=ymax-ymin;h=zmax-zmin。为了便于比较,在本实施例中,包络六面体的边界尺寸之比选为包络六面体的长宽之比l:w与长高之比l:h。判断是否存在等边界比例模型的过程为,逐本文档来自技高网...
一种检测STL格式模型文件重复性的方法及系统

【技术保护点】
一种检测STL格式模型文件重复性的方法,其特征在于,包括:获取所述STL格式模型文件;判断模型库中是否存在与所述STL格式模型文件具有相等的边界尺寸比例的等边界比例模型,所述边界尺寸比例为模型的包络六面体的边界尺寸之比;若所述等边界比例模型与所述STL格式模型文件的体积占比相等,则所述STL格式模型文件为重复模型,所述体积占比为模型的体积与其包络六面体的体积之比。

【技术特征摘要】
1.一种检测STL格式模型文件重复性的方法,其特征在于,包括:获取所述STL格式模型文件;判断模型库中是否存在与所述STL格式模型文件具有相等的边界尺寸比例的等边界比例模型,所述边界尺寸比例为模型的包络六面体的边界尺寸之比;若所述等边界比例模型与所述STL格式模型文件的体积占比相等,则所述STL格式模型文件为重复模型,所述体积占比为模型的体积与其包络六面体的体积之比。2.根据权利要求1所述的方法,其特征在于,还包括:若所述STL格式模型文件为重复模型,则显示所述STL格式模型文件为重复模型的提示信息。3.根据权利要求1所述的方法,其特征在于,还包括:若不存在等边界比例模型或不存在等体积占比的等边界比例模型,则显示存储所述STL格式模型文件的提醒信息;接收针对所述提醒信息的响应指令;若所述响应指令为存储指令,则将所述STL格式模型文件与其边界尺寸比例、体积占比存入所述模型库中。4.根据权利要求1所述的方法,其特征在于,所述边界尺寸之比与体积占比的计算步骤包括:若STL格式文件为ASCII格式文件,则遍历“vertex”字符串后的三个数据,分别存入X={xi}、Y={yi}、Z={zi}三个数组中;若STL格式文件为二进制格式文件,直接读取表示坐标值的连续的三个4字节浮点数,分别存入X、Y、Z三个数组中;对数组X、Y、Z分别排序得到每个数组中的最大值与最小值,分别以下标max与min标识;根据以下公式求得模型的包络六面体的长l、宽w、高h及体积V:l=xmax-xmin,w=ymax...

【专利技术属性】
技术研发人员:姚鑫骅刘丞哲沈洪垚鲁宇栾丛丛傅建中
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1