3D 打印系统的发展及其数据格式分析*

2015-04-08 02:04魏胜利张捐净郭晓波
制造技术与机床 2015年7期
关键词:数据格式字节代号

魏胜利 张捐净 郭晓波

(安阳工学院计算机科学与信息工程学院,河南 安阳 455000)

3D 打印技术是近些年来出现的一种新的制造方式[1]。3D 打印也叫快速成型(RP,rapid prototyping)技术,是近些年来被认为很有前景的制造方式,甚至有人将3D 打印称为继互联网技术之后的第四次技术革命[2]。完整的3D 打印系统通常由两部分构成,一部分是计算机辅助设计系统,利用CAD 等造型软件实现三维模型的设计。另一部分是打印系统,根据设计的数据驱动运动控制系统实现物品的打印成型。其构成如图1 所示。

两部分之间进行数据的传输,根据传输的格式不同,3D 打印机实现的方式也会不同。虽然现在3D 打印技术发展的很快,但传输的数据格式目前尚不统一,目前被多数CAD 系统采用的数据格式是STL(stereo lithography)格式[3],但还没有成为一个国际标准。况且该格式需要在模型设计端进行三角片面逼近,在打印端需要进行求交运算,存在计算量大、计算复杂的问题。有些文献[4]对求交算法进行研究,以求提高系统的效率。但这些不能够从本质改变其计算复杂的问题。目前,尚无大量的文献对3D 打印系统中新的数据格式进行研究。本文针对这种情况,对3D 打印系统中所可能采用的数据格式进行分析,提出了一种分层的截面数据格式。

1 3D 打印数据格式分析

根据3D 打印系统的结构及原理,传输的数据格式会有以下几种。

1.1 点数据格式

点数据格式即数据是打印对象每个加工(喷墨或激光烧蚀)点的信息的集合。传输的信息就是打印机每次打印的信息。设计人员可以设计、发布这样的数据包。大家可以存储、下载这样的数据包,进而使用3D 打印机进行打印。这样的打印机需要接收这些点的信息,不需要进行计算,根据这些点驱动打印机进行打印。系统如图2 所示,这样的数据格式最便于打印系统标准化,甚至不需要进行数据的转换,直接利用传输过来的数据进行成型打印。

这种方法存在的问题是:一是数据量大,二是现有的CAD 软件设计时只是包含了图形的造型信息,而不是立体图形各点的组成信息,况且每一个点的大小如何定义也没有标准。现有的计算机辅助设计软件是否能直接生成或者方便地转换成这样的数据包也是个问题。

1.2 参数格式

另外一种是打印的对象不是点的集合而是要打印对象的设计的参数。传输给打印系统的数据只是产品造型的参数信息。需要根据这些信息转换成点数据来驱动打印机。个人可以在自己的电脑中安装相应的解析软件来解析这些参数,生成驱动打印机的信息,进而进行打印。解析软件应该能够对常见的CAD 软件的参数格式进行解析,该系统如图3 所示。也可以不在计算机上进行解析,直接交给打印机打印。这就要求打印机要有相应的功能,能够实现根据这些参数进行解析生成点的集合并进行打印。

1.3 中间格式

另外一种格式可以叫做中间格式,介于点数据格式和参数格式之间。既不是三维模型设计的参数,也不是最终驱动打印机直接打印的信息,而是一种介于二者之间的某种格式。通过三维模型经过某些运算转换而来,在需要打印机打印时还需转换成直接驱动打印机打印的信息。STL 格式是一种较为成熟的方法,被很多造型系统支持,但目前还没有成为国际标准。其系统构成方法如图4 所示。

STL 的基本思想是用多个三角片去逼近三维造型,这些三角片的信息构成STL 文件。可以将STL 文件传输给3D 打印机,3D 打印机用分层求交的办法得出层面信息,从而给出每层的打印规划。文献[3]给出了详细的格式,如图5 所示。

STL 数据格式的优势是目前比较成熟,多数CAD软件支持STL 格式。但其缺陷也比较明显。一是在造型软件中需要用三角片面去逼近三维模型,从而得到STL 文件,在打印系统中则需要进行分层求交处理,即用一组平行平面去截取由三角片面构成的用来逼近原三维模型的近似造型,获取一组平行的截面(称为二维层皮)。无论是用三角片面去逼近三维造型还是分层求交处理都需要大量的计算。二是传输的数据量是所有三角片的矢量信息,因为涉及的三角片数量众多,传输的数据量比较大。三是,用三角片面去逼近三维模型,总是会存在逼近误差。文献[4]针对平面和高精度细分曲面求交效率低下和稳定性差的问题,根据细分曲面网格拓扑结构的特性,提出了一种平面与Catmull-Clark 细分曲面求交的方法,取得了不错的效果。但其使用范围小,并不能从本质改变求交运算计算复杂的问题。

2 分层截面格式

对比以上几种数据格式,提出了一种分层截面格式。即要传输的数据用三维模型的横截面表示。用1组垂直于1 个轴方向(如Z 轴)的平面去切割三维模型,可以获得1 组垂直于该轴方向的截面。每1 个截面可以看成是1 个平面图形,该图形是由平行截面和三维模型的边缘相交而形成的图形。可能的图形包括圆、矩形、圆角矩形、三角形、样条曲线构成的闭合曲线或者复合曲线。1 个截面上的图形可能由上述形状的1 个或多个组成。截面格式的数据就是由该组中每个截面的图形信息来表示。用这种方法来表示三维模型的精度由这些截面的多少决定,截面越多,截面间的间距越小,则精度就越高。对于造型比较有规律的物体,则可以由比较少的截面辅助于其他信息(如截面间的梯度信息)来表示,可以大幅度减少数据量。

相比STL 格式,截面格式在打印系统中减少了1个分层求交运算,能大幅度减少计算量。但是相比STL 格式,截面格式的1 个劣势也许是目前多数CAD软件支持STL 格式,要让这些软件也支持截面格式,会存在一定的困难。但有些CAD 软件的造型信息中本身就会包含截面信息,即使原造型信息中不包含截面信息,也可以采用逆向工程的方法或者其他方法求出截面信息,其复杂度也不见得会大于用三角片面去逼近原有模型。

2.1 截面格式设计

将三维模型用1 组平行平面切割形成1 组截面,截面上的图形就是平面和三维造型相交形成的图形。截面格式就是用截面上的图形来进行记录的1 种表示方法。

格式如下:

(1)文件头 最前面21 个字节为文件头。文件头的前4 个字节记录文件的总长度,接着的4 个字节记录总层数,即截面的个数,后面的12 个字节记录基准坐标原点,最后1 个字节记录切割的方向,是垂直于x、y、z 轴哪个方向切割,如图6 所示。

(2)图形信息 在文件头后面记录每层(截面)信息。每层的信息由该层上包含的图形信息组成。每层的第1 个字节表示该层共有几个图形,然后是关于每个图形的描述。图形信息由图形代号和图形描述构成。图形代号占1 个字节。图形代号对应的含义如表1 所示。

表1 图形代号对应的图形

(3)图形描述 各个图形的描述如表2 所示。

表2 图形的描述

复合曲线比较复杂,其图形代号后面的1 个字节表示该封闭曲线由多少条线段构成。后面表示每条线段的信息。线段信息由类型代号和线段描述构成。线段的类型包括直线、圆弧、椭圆弧段、样条曲线段,分别用1 个字节的类型代号来表示,如表3 所示。后面依次是每个线段的描述,线段的描述如表4 所示。

表3 复合曲线图形线段的类型

表4 线段描述

2.2 数据格式举例

以1 个例子说明1 个图形信息表示方法。图7 所示是1 个三维造型的截面。该截面上包含2 个圆、1个矩形和1 个复合曲线图形,共有4 个图形。该层的图形信息表示为:第1 个字节表示该层共有4 个图形,接下来的依次是复合曲线图形的代码、该复合曲线图形由4 段线段组成、第1 线段为圆弧的类型代号及描述、第2 线段为直线的类型代号及描述、第3 线段为圆弧的类型代号及描述、第4 线段为直线的代号及描述,接着是小圆的图形代号、小圆的描述,再接着是矩形的图形代号、矩形的描述,最后是大圆的图形代号、大圆的描述。共有145 个字节。假设三维造型Z 轴方向的长度是20 cm,沿垂直于Z 轴方向进行截面,截面的间距为0.1 mm,则共有2000个截面。如果平均每个截面的描述需要145 个字节,那么描述该造型的截面数据格式共需21+145×2000=290021个字节。如果造型的变化比较有规律,则可以大幅地减少描述的层数,从而减少数据量,更细化的层次信息可以在打印系统中以插值的方式求出。

3 结语

随着3D 打印技术的发展,可以想象,未来大家可以像下载视频一样,在网络上下载自己要打印对象的数据包或者设计好的参数,然后用自己家的3D 打印机或者租赁甚至购买打印服务实现自己特点要求的产品。网上也会出现各种各样的设计软件,就像视频编辑软件或者各种APP 一样。大家可以使用这些软件设计个性化的产品,并打印成型。当然大家也可以把自己的要求发送给设计软件的使用者,让他们为自己设计数据包。未来或许会出现给大家提供设计的自由从业者。3D 打印相比传统的制造方式,不仅节省材料,更重要的是它是一种以设计为主导的制造方式,更加突出个性化产品以及定制设计。

针对目前3D 技术的发展情况,对3D 打印系统中可能出现的数据格式进行了分析,提出了1 种基于分层的截面数据格式。相比STL 数据格式,减少了数据转换的层次,减少了算法的复杂程度,降低了计算量,具有很大的竞争力。未来,将把此方法用在三维造型软件设计和3D 打印系统中,进一步对该方法进行完善和改进。

[1]杜鹏,王斌.浅析3D 打印机的发展趋势[J].中国科技信息,2014(7):141-143.

[2]刘菊艳.3D 打印机改变制造业规则[J].世界科学,2012(7):22-24.

[3]赵辰.3D 打印机分层软件的设计与实现[D].南京:东南大学,2009.

[4]朱建宁,王敏杰,魏兆成,等.快速计算平面与高精度细分曲面交线的方法[J].计算机集成制造系统,2014(6):1322-1329.

猜你喜欢
数据格式字节代号
《中兽医学杂志》
No.8 字节跳动将推出独立出口电商APP
演习代号:围城计划
代号“凌凌漆”
扫地
No.10 “字节跳动手机”要来了?
轻量级分组密码Midori64的积分攻击
MIT—BIH心率失常数据库的识读
基于RFID的户外广告监管系统的设计与实现
一种融合多业务的信息化系统框架研究