网络3D打印系统的结构及中间数据格式分析*
2016-08-31魏胜利王庆喜郭建林
魏胜利 王庆喜 郭建林
(安阳工学院计算机科学与信息工程学院,河南 安阳455000)
网络3D打印系统的结构及中间数据格式分析*
魏胜利王庆喜郭建林
(安阳工学院计算机科学与信息工程学院,河南 安阳455000)
作为在互联网时代产生的新的制造方式,3D打印技术网络化是必然的趋势。现有文献对3D打印的网络化研究还比较少。针对3D打印技术的发展趋势,对网络3D打印的结构进行了分析,提出了三种网络3D打印系统的结构,并分析和这些结构相适应的3D打印中间数据格式。通过对文献的研究,提出了分层截面格式。在和STL(stereo lithography)格式进行对比的基础上,对分层截面格式进行了比较分析,给出了它的特点及实现思路。
3D打印;网络3D打印;结构模式;中间数据格式;分层截面格式
快速成型技术(RP,rapid prototyping)又可以称为3D打印技术,它根据三维造型软件设计好的造型数据,采用分层堆积的方法进行加工成型,制造成品[1-2]。这是一种不同于传统的数控加工的新的制造方法,是计算机技术、控制技术、新材料的集成应用的产物[3]。整个3D打印系统涉及的关键技术包括反求工程、表面光顺、造型设计、分层技术、平面曲面求交等。国内外对3D打印系统都很重视,都在大力发展和研究3D打印系统。国内目前的研究多集中在3D打印机的设计、分层求交算法的改进、3D打印系统的应用以及打印材料的研发等方面。但对网络3D打印系统缺少研究和分析,对3D打印系统的数据格式少有提及。本文对网络3D打印系统的结构进行了分析,并研究了与每种结构相适应的数据格式。最后在和STL(stereo lithography)格式对比的基础上,对提出的分层截面数据格式进行了分析,给出了它的特点及实现思路。
1 网络3D打印系统结构分析
互联网及互联网+的发展无疑会影响人类生产生活的方方面面。德国的工业4.0和中国的制造2025都是网络技术和生产制造技术结合的产物。作为新的制造方式的3D打印技术,将来也一定会和网络技术紧密结合,扩大自己的应用领地。更何况作为在新的时代产生的新的制造方式,3D打印技术更易于网络化。3D打印技术的网络化会具有多种不同的结构。
1.13D打印系统
完整的3D打印系统通常由两部分构成,一部分是计算机,通常用来进行CAD造型设计、形成STL文件、分层处理、层面路径规划,从而形成3D打印机喷嘴移动的路径,控制3D打印机按照要求打印成型。另一部分是打印设备,它根据规划好的路径由运动控制系统实现物品的打印成型[4]。这两部分之间通常采用并口线或者USB线进行连接。整个处理流程如图1所示。在一般情况下,进行造型设计的计算机和3D打印设备相邻。图1所示的3D打印系统,并没有接入网络,不支持网络远程设计和网络共享打印。要实现网络功能,需要将3D打印系统接入网络,形成网络3D打印系统,实现远程造型设计和网络共享打印。
1.2网络3D打印系统
在网络3D打印系统中,进行造型设计的计算机和3D打印设备不在一个区域。可以把计算机和3D打印设备称为设计端和打印端,它们身处异地却在一个网络之中。在网络3D打印系统中,设计端和打印端要分别承担图1所示的流程中相应的功能。从不同的地方划分二者的功能,会产生不同的网络3D打印系统的形式和结构。无论采用何种形式结构,网络3D打印都可以将设计和3D打印相分离,可以将设计端的数据通过网络传输给打印端打印,也可以是设计端将设计好的数据放在云端供打印端下载进行打印,甚至可以将设计好的数据放在电商平台上出售,供使用者购买后在3D打印机上打印。不管从哪个地方划分设计端和打印端的功能,在网络3D打印系统中,都需要将设计端形成的数据文件发送到打印端。这种数据文件可以称为中间数据。采用不同形式结构的网络3D打印系统,其采用的中间数据格式会存在不同。下面将对网络3D打印系统能够采用的形式结构及其相应的中间数据结构进行分析。
1.2.1常规网络3D打印系统
因为大多数的三维造型软件和3D打印系统都支持STL文件格式,所以通常情况下,在实现网络3D打印时,最容易想到的是把CAD造型设计、模型近似处理和形成STL文件放在设计端处理,然后把形成的STL文件通过网络传输到打印端,打印端进行STL文件的修复,然后完成分层处理、形成层面文件、层面路径规划,最后进行3D打印。这种结构的网络3D打印系统可以称为常规网络3D打印系统,其流程结构如图2所示。在这种结构下,打印端需要接收通过网络传输过来的STL文件,需要进行STL文件修复、分层处理、层面路径规划等工作,因此在打印端仍需要一台计算机完成这样的工作,当然可以把计算机和3D打印机集成为一体。打印端的计算机需要安装能够支持STL格式的软件,并能进行分层处理和层面规划,但不一定需要安装和设计端相似的造型设计软件。在常规网络3D打印系统中,中间数据格式经常就是STL格式文件。
1.2.2其他形式的网络3D打印系统
常规的网络3D打印系统结构,容易被大家所熟悉和接受,然而,可以存在其他形式的网络3D打印系统的结构。
一种结构是在设计端只进行三维造型的设计,然后将三维造型设计的相关参数而不是三维造型的形状信息通过网络传输到打印端。这样可以大幅度地减少传输的数据量,因为三维造型设计的参数数据量比较小。如用一个球心坐标和半径就可以描述一个球体形状,用控制顶点和权因子就可以描述自由曲面等。打印端仍需要一台计算机或者集成在3D打印机中的计算机部件,这台计算机还需要安装和设计端类似的造型设计软件。它接收通过网络传输过来的造型参数,然后重新形成造型形状,继而开始后面的形成STL文件、分层求交等工作。这种结构可以称为参数型中间数据网络3D打印系统。
另一种结构是设计端完成从造型设计到层面路径规划等所有的工作,最终形成打印层面规划文件,然后通过网络发送到打印端进行打印。在这种结构下,中间数据结构就是喷嘴路径规划文件,它详细描述了喷嘴所要运行的具体路径或者坐标。这种数据结构下的数据量无疑是非常大的,但在打印端,则可能不需要计算机对数据进行处理而可以直接用这些路径数据控制3D打印机进行打印成型。这种方法存在的问题是,一是数据量大。二是路径规划可能要考虑3D打印机的硬件配置信息,如喷嘴的运行速度、打印材料的挤出量等,而这些在设计端是无法知道的。三是现有的计算机辅助设计软件是否能直接生成或者方便地转换成这样的数据格式。
第三种结构是在设计端完成造型设计直至形成层面文件,而后将层面文件发送至打印端,打印端接收这种文件后进行层面路径规划,然后进行打印成型。其结构如图3所示。在这种结构下,中间数据格式就是层面文件,文献[4]提出了一种分层截面格式的中间文件。这种结构的网络3D打印系统称之为分层中间数据格式网络3D打印系统。我们认为这种分层的中间格式最具前景。由于STL存在三角片面逼近和分层求交导致的大量运算及STL缺陷的存在,使得STL并不是一个比较好的中间格式,可以寻求其他的方法来代替STL数据格式。如果在图3中去掉STL相关步骤,可以得到图4所示的结构图,称之为改进的分层中间数据格式网络3D打印系统。现在一些三维造型软件比如AutoCAD就可以使用一些命令如AutoLISP来形成分层文件。而实际上,造型软件甚至可以直接用分层的概念来设计三维造型,这样三维造型的图形信息以分层数据格式形式来存在,从而在3D打印系统中可以彻底省掉三角片逼近和分层求交的运算,从而彻底摒弃STL文件格式带来的问题。
2 分层截面格式
2.13D打印技术的研究进展
3D打印采用逐层堆积的方式来实现加工,所以分层求交是大家集中研究的问题。研究的重点集中在如何减小“台阶效应”,减小三角片面逼近误差,减小分层求交的计算量,改进由三角片面逼近原有造型带来的缺陷等这些方面。文献[5]讨论了等厚分层和自适应分层的研究和进展,介绍了斜边分层算法和曲面分层算法等先进分层算法的原理和成果,讨论了快速成型分层算法的研究方向和趋势。文献[6]提出了一种对造型直接分层,抛弃STL格式的方法,采用自适应的方法采用不同的分层厚度来解决“台阶效应”和加工速度之间的矛盾。文献[7]提出了一种对STL数据文件重建的方法,减少数据冗余。文献[8]根据三角形网格面片的Z轴坐标值从小到大进行分组排序,然后对这些三角形网格面片进行求交线段,依次输出截面轮廓线和数据的方法提出了一种分层优化算法,提高了分层效率。文献[9]根据错误的特点进行分类, 然后利用半边数据结构快速建立STL文件的实体模型来对STL文件的错误进行修复。文献[10]提出了一种基于信息继承的加快分层处理速度的算法。文献[11]通过对造型三次排序的方法提出了等厚分层算法,提高了分层的效率。
2.2分层截面数据格式
上述文献研究的问题都是3D打印中需要解决的问题,但它们对分层以后层面信息如何保存没有提及。3D打印技术大多采用逐层堆积的方式,采用分层截面格式作为3D打印系统尤其是网络3D打印系统中的数据格式,是最为直接的一种方式。目前虽然也在使用分层求交的方法来进行3D打印,但对于分层的数据格式如何表示并没有公开的报道,而分层以后信息以什么格式表示对信息的传输及后面3D打印的实现都至关重要。
2.2.1分层截面数据格式的特点
在文献[4]中,我们提出了一种分层截面格式来表示每层的信息。每层的信息由该层的截面图形来进行表示。当用一组垂直于一个轴方向(如Z轴)的平面去切割三维模型时,这些平面和三维造型的内外表面相交,形成一定的图形。形成的每个截面都是这样的平面图形。平面图形的形状可能是由圆、矩形、圆角矩形、三角形、样条曲线构成的闭合曲线、复合曲线构成的闭合曲线等这些图形。分层截面格式的数据就是由该组中每个截面的图形信息来表示。每个截面的图形信息依次组合就形成了表示整个三维造型的所有数据。这些数据可以进行存储、传输。由于这种数据格式就是层面信息,因此不用再求交计算直接可以进行路径规划继而利用插值密化的方式进行打印。用这种方法来表示三维模型的精度由这些截面的多少决定,截面越多,截面间的间距越小,则精度就越高。对于造型比较有规律的物体,则可以由比较少的截面辅助于其他信息(如截面间的梯度信息)来表示,可以大幅度减小数据量。这种数据格式具有如下优点:
(1)相比STL的用三角片面逼近造型的方法,能够减小计算量并避免STL方式所产生的缺陷。
(2)保存的就是按序排列的每层的信息,在打印端可以直接打印,避免再进行分层求交这样复杂的运算。这可以降低打印端的计算需求,便于打印端采用嵌入式方式来实现。
(3)每层的信息都是有意义的,不像STL格式是由三角片面的顶点信息组成,意义不明确。
(4)在保证相同精度下,数据量不大于STL格式,尤其是对于造型比较有规律的物体,则可以由比较少的截面辅助于其他信息(如截面间的梯度信息)来大幅度减小数据量。
(5)便于标准化。
2.2.2分层截面格式的设计
分层截面格式整个文件格式如图5所示。文件头表明整个文件的长度、总层数、基准坐标、切割方向等信息。层面信息表明每层截面的图形信息,是每层截面图形的数据表示。校验码则是对文件的校验,包括对总层面的数量进行校验。
层面信息是整个文件的数据实体部分,它记录每层的图形信息。每层都由一些封闭的图形构成,因此图形信息包含该层图形有几个封闭图形、它们的参数以及该层的厚度。而具体的每个图形则可以用标准的参数形式来进行表示。
如图6所示的是一个三维实体造型,该造型由两部分构成,下部是一个中间有孔的正方形基座,上面是一个中间有孔的圆柱体。下部和上部的横截面如图7和图8所示。图5中的层面信息可以由这两个截面来进行描述。该层面信息包含两个层:一个层包两个封闭的图形,分别是一个有特定边长的正方形以及一个具有特定半径的圆,该层的信息还记录这个层的厚度;另一个层的信息也用同样的方式来表示。整个的实体造型使用这样的截面格式表示,这样表示的数据量小,易于通过网络传输,同时避免了STL文件格式中的三角片面逼近和分层求交带来的大量运算和缺陷。当然,这种方法对于变化非常有规律的造型,可以用较少的数据来表示,对于复杂的造型,数据量也会上升,但也可以对分层截面格式进行改进,利用造型的规律减小数据量。
分层截面数据的获取可以有以下方法。(1)设计三维造型时直接采用分层截面的方式来设计,这样设计好三维造型直接就是分层截面格式。多数的三维造型设计软件设计立体图形时是用基准平面拉伸或者由曲面曲线旋转生成的,获取其截面图形并非难事。(2)有些三维造型软件如AutoCAD提供分层软件AutoLISP来获取分层信息[6]。获取截面图形信息后,再加上层面厚度信息以及该层于其他层的关系等信息,最后加上必要的文件头和校验数据就构成了整个分层截面文件。该文件传送给3D打印机,3D打印机根据精度的要求,采用插值密化的方式获取每层打印的信息,根据层面上图形位置和形状关系采用合适的路径规划方式驱动喷头打印成型。
3 结语
网络3D打印的结构形式对3D技术的发展与应用,与网络3D打印设备的高效率共享,甚至是对其将来的商业发展模式都具有重要的影响。本文对网络3D打印的结构进行了分析,提出了三种网络3D打印结构。指出了这些模式的适应情况,所适合的数据传输格式。对分层截面格式进行了比较分析,给出了它的特点及实现思路。目前我们正在相关的项目中对分层数据格式进行深入研究,并尝试用分层截面格式直接来设计三维造型。将来也许每个人都可以通过自己的计算机甚至上手持终端将自己奇思妙想的创意设计出来放在云端,而每个人也可以从云端下载这些设计好的自己喜欢的造型,用自家的3D打印或者附近的3D打印出来。可以想象,这将会彻底改变现在的制造方式。
[1] 赵辰.3D打印机分层软件的设计与实现[D].南京:东南大学,2009.
[2]周满元.一种非均匀自适应分层方法[J].计算机工程与应用, 2005(3):72-74.
[3]董未名,严冬明,周文,等.基于CAD 模型的直接快速成型软件[J].计算机辅助设计与图形学学报,2004(3):360-367.
[4]魏胜利,张捐净,郭晓波.3D打印系统的发展及其数据格式分析[J].制造技术与机床,2015(7):79-82.
[5]赵吉宾, 刘伟军.快速成型技术中分层算法的研究与进展[J].计算机集成制造系,2009(2):209-219.
[6]马锦华,卢章平.AutoCAD 环境下直接适应性切片方法及实现[J].机械设计与制造,2007(7):100-103.
[7]杨光,刘伟军,王维,等.STL格式文件拓扑重建及快速切片算法研究[J].现代制造工程,2009(10):32-35.
[8]王春香,李振华.STL模型分层算法的优化及应用[J].机械设计与制造,2013(3):87-90.
[9]贺强, 张树生, 白晓亮.STL文件错误的快速修复[J].计算机应用研究,2009(5):1983-1984.
[10]李占利,梁栋,李涤尘,等.基于信息继承的快速分层处理算法研究[J].西安交通大学学报,2002(1):43-46.
[11]王春香,郝志博.快速成型技术STL模型等厚分层算法研究[J].机械设计与制造,2014(4):133-136.
(编辑谭弘颖)
如果您想发表对本文的看法,请将文章编号填入读者意见调查表中的相应位置。
Structure and intermediate data format of network 3D printing system analysis
WEI Shengli,WANG Qingxi,GUO Jianlin
(Computer Science and Information Engineering School,Anyang Institute of Technology, Anyang 455000,CHN)
As a new manufacturing method generated in the Internet era, networking of 3D printing technology is an inevitable trend. Existing research literature focus on little about networking of 3D printing technology. Based on the development trend of 3D printing technology, the structure of 3D printing network is analyzed, and three network structure modes are presented. Also, the application scenarios of those modes and the intermediate data format suitable for those modes is presented. Appropriate data format for transmission is required in 3D printing systems. Based on the study of related literature, a slicing section format is presented. Compared with STL (stereo lithography) format, the feature and implementation of the slicing section format is analyzed.
3D printing; network 3D printing; structure mode; intermediate data format; slicing section format
TP391
A
10.19287/j.cnki.1005-2402.2016.08.008
魏胜利,男,1974年生,硕士,讲师,研究方向为计算机控制和计算机图形。
2016-03-14)
160819
* 河南省科技攻关项目(162102210130) ,河南省高等学校重点科研项目计划(15A520036)