CN115221133A - 一种面向3d打印的stl文件处理方法 - Google Patents
一种面向3d打印的stl文件处理方法 Download PDFInfo
- Publication number
- CN115221133A CN115221133A CN202210258629.0A CN202210258629A CN115221133A CN 115221133 A CN115221133 A CN 115221133A CN 202210258629 A CN202210258629 A CN 202210258629A CN 115221133 A CN115221133 A CN 115221133A
- Authority
- CN
- China
- Prior art keywords
- data
- redundant data
- stl file
- vertex
- redundant
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/32—Image data format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
Abstract
本发明公开了一种面向3D打印的STL文件处理方法,包括以下步骤:S1、将待打印零件的实体模型转化为STL文件,并且验证文件的格式及正确性;S2、创建存储三角网格模型顶点,法向量的面表及索引表,索引表指的是数据与其相关信息的对应关系表,包含着数据的全部信息;S3、根据存储的数据进行检索冗余数据的过程及去冗余的操作,面表数据输入后利用哈希函数计算哈希值,哈希值与标准值的比较判断冗余数据,索引表进行删除操作;S4、根据处理后的顶点重建三角网格模型,根据顶点在三维软件的轨迹连接实现三角网格模型重构。
Description
技术领域
本发明涉及3D打印技术领域,特别是涉及一种面向3D打印的STL文件处理方法。
背景技术
3D打印技术发展至今,已经经过了飞速的发展,3D打印是在计算机的控制下,基于离散堆积的原理,采用不同的方法堆积材料最终加工出零件。而STL文件作为3D打印领域最常见文件格式。
STL文件格式(光固化立体造型术)是由3D SYSTEMS公司制定专门为快速原型制造技术服务所制定的三维数字接口。因其数据有序,格式简单,普遍应用于在医学成像、逆向工程和模型仿真等方面。
STL文件格式包括二进制格式和ASCII明码格式两种。STL文件相较于其他文件格式对于3D打印机而言,有数据结构简单,存储量高等特点,在STL文件里是由大量的三角面片相互连接去拟合模型表面。
但是STL文件存在以下不足之处:
一、STL文件格式的不确定,其存储的信息只包括顶点坐标和法向矢量数据,基本元素之间不存在邻接关系。
二、存储数据冗余较大,会对同一个三角面片重复调用多次,存储信息过于密集,不利于进行科学研究。
发明内容
有鉴于此,本发明的目的是提出一种面向3D打印的STL文件处理方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种面向3D打印的STL文件处理方法,包括以下步骤:
S1、将待打印零件的实体模型转化为STL文件,并且验证文件的正确性;
S2、创建存储三角网格模型顶点,法向量的面表,根据文件格式进行存储;
S3、根据存储的数据进行检索冗余数据的过程及去冗余的操作;
S4、根据处理后的顶点重建三角网格模型。
优选的,在所述S1中包括以下步骤:
S11,判断STL文件格式;
STL文件格式为二进制格式或者ASCII明码格式,读取STL格式第81至84个字节,将其转换为整数格式N,若该STL文件为二进制格式,则N为三角面片数量,且由于每个三角面片占用50个字节,则此STL文件长度L符合以下关系:
L=84+50N
若关系成立,则表面此STL文件格式为二进制格式;
若关系不成立,且该文件中存在多组标准字符串,则为ASC II码格式。
S12,读取并且验证STL文件的三角面片的顶点及法向量的信息;
在STL文件中顶点数必为三角形面片数的三倍,且假设每个三角面片的三个顶点分别为Z1,Z2,Z3,则STL文件的法向量的方向为:
优选的,在所述S2中包括以下步骤:
参照图2,创建存储三角网格模型顶点,法向量的面表,其中包括顶点存储以及法向量及三角形的索引。
根据判断的文件格式,读取三角面片的数据存入面表中。索引表指的是数据与其相关信息的对应关系表,包含着数据的全部信息。建立面表后与索引表联系,使索引表能够依据顶点找到对应的三个三角面片数据。
优选的,在所述S3中包括以下步骤:
S21、冗余数据的输入;
将数据从创建的面表中输入至循环中;判定冗余数据包括两种,分别为重复数据与相似数据。其中重复数据指的是表达信息近乎相同或完全相同的数据,即顶点和法向量信息一致的情况;相似信息指的是不完全相同,但表达信息内容相同的数据,即顶点位置或法向量数据相似的情况下。此专利中将冗余数据定义为重复数据。假设顶点坐标为x,y,z,数据模式中不考虑法向量的情况下。
通过上述得到数据模式表示为K={K1,K2,…,Kn},其中,Kn表示第n个数据集合,其中Ki={xi,yi,zi}。
S22、冗余数据的判断;
参照图3,冗余数据的主要依靠哈希值来判断,依据哈希值检索冗余数据。数据哈希值的计算公式为:
其中,Hashi表示第i个数据的哈希值;x表示计算机辅助参数;n表示多少种属性的数据集合,由于STL文件中三角面片每个顶点对应三个三角形,取n=3;δi表示第i个数据集的计算参数,其表达式为:
依据哈希值检索冗余数据,主要以哈希值之间的类间距离,即以DBI指数为依据。DBI指数的计算公式为:
其中,DBIij表示数据i与数据j之间的类间距离;Hashi、Hashj分别表示数据i与数据j的哈希值;ρ表示指数参数;γρ表示计算因子
冗余数据的判别规则为:
其中,λ表示冗余数据的判别阈值。通过上述步骤完成冗余数据的检索和判别。S23、冗余数据删除;
以上方法得到的冗余数据为基础,依据删除算法对冗余数据进行删除。具体依据所建立的索引表,在进行冗余数据删除处理时,可以彻底的删除输出的冗余数据,节省数据存储空间,提升数据存储效率。依据索引表提取冗余数据存储路径,将其进行彻底删除,通过上述过程实现了冗余数据的检索及删除过程。
优选的,在所述S4中包括以下步骤:
S31、检查当前删除冗余后的面表中是否存在冗余数据;
S32、将顶点数据进行依次编号,保存为数据列表;
S33、将这些顶点数据用作三维软件中三维坐标和顶点之间的关系且建立三维网格模型;
这些顶点数据用作三维软件中三维坐标和顶点之间的关系,将这些数据与轨迹结合进行输入起到对应关系。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供了一种面向3D打印的STL文件处理方法,其基于3D打印模型转换STL文件的特点,通过文本识别,面表及索引表的创建,数据输入,哈希值的计算,得到冗余数据,通过索引表对冗余数据的删除,使得STL文件中的冗余数据进行删除,加快了STL文件中顶点的读取效率,避免了模型复杂而导致的研究困难的情况,提高3D打印的效率。
此外本发明提供的方法适用于复杂结构3D打印模型的STL文件的优化。
附图说明
图1为本发明面向3D打印的STL文件处理方法的流程图;
图2为本发明创建存储面表及索引表示意图;
图3为本发明冗余数据检索及删除流程图;
图4为本发明实施例流程图。
具体实施方式
下面结合附图和具体实施对本发明作进一步说明。本发明涵盖任何在本发明的精髓和范围上做的替代、修改、等效方法以及方案。为了使公众对本发明有彻底的了解,在以下本发明优选实施例中详细说明了具体的细节,而对本领域技术人员来说没有这些细节的描述也可以完全理解本发明。
本发明提供了一种面向3D打印的STL文件处理方法,以提高3D打印效率,方便进行科学研究。
本发明在基于3D打印模型基础上,依据STL文件的特性,提出了依靠索引表,对重复数据进行哈希值计算的方法。通过将哈希值与标准值比较的方法,判断是否属于冗余数据,并对冗余数据通过索引表进行数组删除的操作。本发明可以让不同STL文件格式的数据进行冗余删除的过程,避免了数据庞大带来的数据读取的不易及科研的困难,提高了打印的效率,且该方法适用于复杂3D打印模型的简化操作,简单易行。
本实施例提供了如图4所示的一种面向3D打印的STL文件处理方法,参照图1-3,分成了四个部分:验证STL文件格式及正确性、创建存储的面表并根据文件格式进行存储、根据存储的数据进行检索冗余数据的过程及去冗余的操作、根据处理后的顶点重建三角网格模型。下面逐一对着四个部分进行说明。
(一)验证STL文件格式及正确性
STL文件格式为二进制格式或者ASCII明码格式,读取STL格式第81至84个字节,将其转换为整数格式N,若该STL文件为二进制格式,则N为三角面片数量,且由于每个三角面片占用50个字节,则此STL文件长度L符合以下关系:
L=84+50N;
若关系成立,则表面此STL文件格式为二进制格式;
若关系不成立,且该文件中存在多组标准字符串,则为ASC II码格式。
在STL文件中顶点数必为三角形面片数的三倍,且假设每个三角面片的三个顶点分别为Z1,Z2,Z3,则STL文件的法向量的方向为:
(二)创建存储的面表并根据文件格式进行存储
依据STL文件的特性,创建存储三角网格模型顶点,法向量的面表,其中包括顶点存储以及法向量及三角形的索引。索引表指的是数据与其相关信息的对应关系表,包含着数据的全部信息。
根据判断的文件格式,读取三角面片的数据存入面表中。建立面表后与索引表联系,使索引表能够依据顶点找到对应的三个三角面片顶点数据。
根据存储的数据进行检索冗余数据的过程及去冗余的操作
将数据从创建的面表中输入至循环中;在数据采集或在模型转换的情况下,会由于设备因素,模型因素,环境因素等会导致冗余数据的产生。冗余数据包括两种,分别为重复数据与相似数据。其中重复数据指的是表达信息近乎相同或完全相同的数据,即顶点和法向量信息一致的情况;相似信息指的是不完全相同,但表达信息内容相同的数据,即顶点位置或法向量数据相似的情况下。通常情况下,相似数据不能称之为无用数据,为此,此专利中将冗余数据定义为重复数据。假设顶点坐标为x,y,z,数据模式中不考虑法向量的情况下。
参考图3是冗余数据检索及删除流程图。通过步骤二得到的数据,将数据输入循环模式表示为K={K1,K2,…,Kn},其中,Kn表示第n个数据集合,其中Ki={xi,yi,zi}。
将重复数据通过计算哈希值来判断是否为冗余数据。哈希值的计算公式为:
Hashi表示第i个数据的哈希值;χ表示计算机辅助参数;n表示多少种属性的数据集合,由于STL文件中三角面片每个顶点对应三个三角形,取n=3;δi表示第i个数据集的计算参数,其表达式为:
依据哈希值检索冗余数据,主要以哈希值之间的类间距离,即以DBI指数为依据。DBI指数的计算公式为:
DBIij表示数据i与数据j之间的类间距离;Hashi、Hashj分别表示数据i与数据j的哈希值;ρ表示指数参数;γρ表示计算因子
冗余数据的判别规则为:
λ表示冗余数据的判别阈值。通过上述步骤完成冗余数据的检索和判别。
通过以上步骤输出冗余数据,依据删除算法对冗余数据进行删除。具体依据所建立的索引表,在进行冗余数据删除处理时,可以彻底的删除输出的冗余数据,节省数据存储空间,提升数据存储效率。依据索引表提取冗余数据存储路径,将其进行彻底删除。
(四)根据处理后的顶点重建三角网格模型
将删除冗余后的数据重新建立三角网格模型包括以下步骤:检查当前删除冗余后的面表中是否存在冗余数据、将顶点数据进行依次编号并保存为数据列表、将这些顶点数据用作三维软件中三维坐标和顶点之间的关系且建立三维网格模型。该步操作用到Matlab软件将这些顶点数据提取,并且建立三维坐标和顶点之间的关系,将这些数据结合起来应用路径轨迹的方法进行拟合,最后通过软件显示。
以上可理解为对本发明的实施提供了具体说明。不能理解为本发明限于实施例,依据本发明的思想,熟悉本领域的技术人员用作同等变形、变化、修改和替换。凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明的保护范围内。
Claims (10)
1.一种面向3D打印的STL文件处理方法,其特征在于,包括:
S1、将待打印零件的实体模型转化为STL文件,并且验证文件的正确性;
S2、创建存储三角网格模型顶点,法向量的面表,根据文件格式进行存储;
S3、根据存储的数据进行检索冗余数据的过程及去冗余的操作;
S4、根据处理后的顶点重建三角网格模型。
2.根据权利要求1所述的一种面向3D打印的STL文件处理方法,其特征在于:在所述S1中,包括:
S11、判断STL文件格式,判断文件格式为二进制格式或者ASCII明码格式;
S12、读取并且验证STL文件的三角面片的顶点及法向量的信息;
S13、创建面表,其中包括顶点存储以及法向量及三角形的索引;根据判定出的STL文件格式对相应的法向量及顶点进行存储。
3.根据权利要求2所述的一种面向3D打印的STL文件处理方法,其特征在于:在所述S11中,判断STL文件格式,读取STL格式第81至84个字节,将其转换为整数格式N,若该STL文件为二进制格式,则N为三角面片数量,且由于每个三角面片占用50个字节,则此STL文件长度L符合以下关系:
L=84+50N
若关系成立,则表面此STL文件格式为二进制格式;
若关系不成立,且该文件中存在多组标准字符串,则为ASCⅡ码格式。
5.根据权利要求1所述的一种面向3D打印的STL文件处理方法,其特征在于:在所述的S2中,包括创建存储三角网格模型顶点,法向量的面表,根据文件格式进行存储。并且根据判断的文件格式,读取三角面片的数据存入面表中。索引表指的是数据与其相关信息的对应关系表,包含着数据的全部信息。建立面表后与索引表联系,使索引表能够依据顶点找到对应的三个三角面片数据。
6.根据权利要求1所述的一种面向3D打印的STL文件处理方法,其特征在于:在所述的S3中,包括:
S21、冗余数据的输入;在冗余数据判断及删除之前,需要将数据从创建的面表中输入至循环中;
S22、冗余数据的判断;冗余数据的主要依靠哈希值来判断,依据哈希值检索冗余数据,主要以哈希值之间的类间距离,即以DBI指数为依据。冗余数据的判别需提前设立阈值,通过阈值判定是否为冗余数据,通过上述步骤完成冗余数据的检索和判别,为下述删除冗余数据提高支撑;
S23、冗余数据删除;以上方法得到的冗余数据为基础,依据删除算法对冗余数据进行删除。
7.根据权利要求6所述的一种面向3D打印的STL文件处理方法,其特征在于:在所述的S21中,包括冗余数据的输入:在数据采集或在模型转换的情况下,会由于设备因素,模型因素,环境因素等会导致冗余数据的产生。冗余数据包括两种,分别为重复数据与相似数据。其中重复数据指的是表达信息近乎相同或完全相同的数据,即顶点和法向量信息一致的情况;相似信息指的是不完全相同,但表达信息内容相同的数据,即顶点位置或法向量数据相似的情况下。通常情况下,相似数据不能称之为无用数据,为此,此专利中将冗余数据定义为重复数据。假设顶点坐标为x,y,z,数据模式中不考虑法向量的情况下。通过上述得到数据模式表示为
K={K1,K2,…,Kn}其中,Kn表示第n个数据集合,其中
Ki={xi,yi,zi}
8.根据权利要求6所述的一种面向3D打印的STL文件处理方法,其特征在于:在所述的S22中,包括:冗余数据的判断;冗余数据的主要依靠哈希值来判断,数据哈希值的计算公式为:
其中,Hashi表示第i个数据的哈希值;χ表示计算机辅助参数;n表示多少种属性的数据集合,由于STL文件中三角面片每个顶点对应三个三角形,取n=3;δi表示第i个数据集的计算参数,其表达式为:
其中α为相应系数。
依据哈希值检索冗余数据,主要以哈希值之间的类间距离,即以DBI指数为依据。DBI指数的计算公式为:
其中,DBIij表示数据i与数据j之间的类间距离;Hashi、Hashj分别表示数据i与数据j的哈希值;ρ表示指数参数;γρ表示计算因子
冗余数据的判别规则为:
其中,λ表示冗余数据的判别阈值。通过上述步骤完成冗余数据的检索和判别。
9.根据权利要求6所述的一种面向3D打印的STL文件处理方法,其特征在于:在所述的S23中,包括冗余数据删除;以得到的冗余数据为基础,依据删除算法对冗余数据进行删除。具体依据权利要求5所建立的索引表,在进行冗余数据删除处理时,可以彻底的删除冗余数据,节省数据存储空间,提升数据存储效率。依据索引表提取冗余数据存储路径,将其进行彻底删除,通过上述过程实现了冗余数据的检索及删除过程。
10.根据权利要求1所述的一种面向3D打印的STL文件处理方法,其特征在于:在所述的S4中,包括以下步骤:
S31、检查当前删除冗余后的面表中是否存在冗余数据;
S32、将顶点数据进行依次编号,保存为数据列表;
S33、将这些顶点数据用作三维软件中三维坐标和顶点之间的关系且建立三维网格模型。将这些顶点数据用作三维软件中三维坐标和顶点之间的关系,将这些数据与轨迹结合进行输入起到对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210258629.0A CN115221133A (zh) | 2022-03-16 | 2022-03-16 | 一种面向3d打印的stl文件处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210258629.0A CN115221133A (zh) | 2022-03-16 | 2022-03-16 | 一种面向3d打印的stl文件处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115221133A true CN115221133A (zh) | 2022-10-21 |
Family
ID=83606829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210258629.0A Pending CN115221133A (zh) | 2022-03-16 | 2022-03-16 | 一种面向3d打印的stl文件处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115221133A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116804691A (zh) * | 2023-06-28 | 2023-09-26 | 国网安徽省电力有限公司青阳县供电公司 | 一种用于电力系统的调度自动化设备故障监测方法 |
-
2022
- 2022-03-16 CN CN202210258629.0A patent/CN115221133A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116804691A (zh) * | 2023-06-28 | 2023-09-26 | 国网安徽省电力有限公司青阳县供电公司 | 一种用于电力系统的调度自动化设备故障监测方法 |
CN116804691B (zh) * | 2023-06-28 | 2024-02-13 | 国网安徽省电力有限公司青阳县供电公司 | 一种用于电力系统的调度自动化设备故障监测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Digne et al. | Feature-preserving surface reconstruction and simplification from defect-laden point sets | |
CN103229167A (zh) | 用于为电子发现数据编索引的系统和方法 | |
CN113158288A (zh) | 一种基于构件复用与重装配的信息模型几何轻量化方法 | |
CN104537715B (zh) | 一种实现fbx三维模型自动转换为obj三维模型的方法 | |
CN106600700B (zh) | 一种三维模型数据处理系统 | |
JP2008527473A (ja) | 3次元モデルの検索方法、検索装置及び検索プログラム | |
CN112231961B (zh) | 大规模有限元网格数据存储索引方法 | |
CN115293751A (zh) | 一种轨道交通bim模型数据的处理方法、系统及设备 | |
CN115080682B (zh) | 一种空间数据库到铁路cad数字地形图全要素快速转换方法 | |
CN115221133A (zh) | 一种面向3d打印的stl文件处理方法 | |
CN104090995B (zh) | 一种ABAQUS轮胎模型中rebar单元网格的自动生成方法 | |
CN115512040A (zh) | 面向数字孪生的三维室内场景快速高精度重建方法及系统 | |
Pan et al. | A Novel HDF‐Based Data Compression and Integration Approach to Support BIM‐GIS Practical Applications | |
CN104866687A (zh) | 支持stl数据源的动态空间索引构建方法 | |
CN117077256A (zh) | 从rvt格式到b3d格式的转换方法及其插件和系统 | |
CN117353754A (zh) | 高斯混合模型信源的编解码方法、系统、设备和介质 | |
CN108876922B (zh) | 一种基于内二面角补角正则化的网格修补方法 | |
CN108170989B (zh) | 基于bim技术的工程施工模型导出方法 | |
CN109165669B (zh) | 基于模型识别码的三维面片模型文件相似性检测方法 | |
CN111199086A (zh) | 三维几何离散化处理系统 | |
CN115222894A (zh) | 一种基于laplace优化的图像拓扑变形方法 | |
CN113609556A (zh) | 一种基础c#的gim格式与xdb格式无损转换方法 | |
JP3286213B2 (ja) | 幾何モデルを圧縮し圧縮解除する方法及びシステム | |
Huang et al. | CS file–an improved interface between CAD and rapid prototyping systems | |
CN110232047B (zh) | Cad文件的时间线管理系统、方法、计算机可读存储介质及计算机终端 |
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 |