时间:2024-05-19
郑萍 张安安
【摘 要】三维快速成型软件系统是连接三维设计软件系统与三维打印硬件系统桥梁,是3D打印质量保证的关键之一。本文研发的3D快速成型系统利用三维层分片技术,可以按编程序将一般的模型转换成为可打印的三维模型,从三维模型自动生成相应的三维打印代码,从而驱动三维打印硬件系统工作,最终实现减少打印材料耗费,降低三维打印成本,提升三维打印效率。
【关键词】3D打印;快速成型;系统开发
【Abstract】Three dimensional rapid prototyping software system is a bridge connecting the 3D design software system and the 3D printing hardware system,is one of the keys to ensure the quality of 3D printing.The development of 3D rapid prototyping software system using 3D slicing technique,can automatically convert the ordinary three-dimensional model into a three-dimensional model can be printed.Automatically generate the corresponding 3D printing code from the 3D model,so as to drive the work of 3D printing hardware system.The final realization of reducing the cost of printing materials,reduce the cost of three-dimensional printing,improve the efficiency of three-dimensional printing.
【Key words】3D Printing;Rapid prototyping;System development
0 引言
三维打印技术因其近年来的爆炸式增长成为被大众了解的一种快速成型技术。“3D打印”是我们日常的说法,其正式的名称应为“快速成型制造技术”。3D打印技术就是根据所需或者现实物体的立体模型数据,利用成型制造机器通过组成原料叠加的方式,最终完成所需零件或实物模具的制造,达到缩短周期和缩减成本的功效。该技术基于数字化的三维模型,通过切片仿真和路径规划工艺及数控加工技术,能够快速制造出三维实体,在科学研究、原型验证、文物保护、建筑设计、制造、医疗、食品、艺术等诸多行业应用广泛[1]。
三维快速成型软件系统是3D打印的关键系统之一,是连接三维设计软件系统和三维打印硬件系统(3D打印机)的桥梁,是三维打印质量保证的关键之一。现有的各种三维打印机基本上都缺乏强有力的成型软件系统,从而导致大量的三维模型无法成功打印出来,也常常使得三维打印非常耗费材料,打印周期也比较长。这严重阻碍三维打印机的普及。
本项目研发的三维快速成型软件系统能够将设计好的三维模型转换成为可打印的三维模型,从三维模型自动生成相应的三维打印代码,从而驱动三维打印硬件系统工作,最终实现减少打印材料耗费,降低三维打印成本,提升三维打印效率。
1 三维打印快速成型技术的工作原理及特点
三维打印快速成型系统是基于离散或堆积制造灵感的快速成型技术,其所可以采用的原材料包括陶瓷、石膏、金属和塑料的粉末等,而其成型重点是配备符合要求的粘接剂和原材料粉末。
三维打印快速成型技术的工作原理是:工作时,铺粉机器在制作台上平铺一层粉末材料,打印喷头按照成型工件的截面信息,在水平面上沿横轴和竖轴方面运动,同时控制粘接剂的喷射量,粘接剂进入粉材的微孔中使其粘合,形成工件的截面轮廓。第一层成型完成后,成型电机牵动工作台下降一层高度,进行下一层的铺粉和粘接,循环往复,直到最后一层的铺粉和粘接的完成,最终形成三维制件。
三维打印快速成型采用喷头喷射粘剂逐层成型,是最具工业先进性的技术之一,具有以下特点[2]:(1)体现了三维打印快速成型技术的一大优势即一定程度上融合了设计和制造;(2)使复杂模型的直接制造成为可能,不受工件的形状与结构的约束即高度柔性的体现;(3)三维打印技术充分体现快速,自动,精确,直接地将设计转换成真实的产品模型,缩短新产品的开发周期,降低研发成本。
2 系统开发技术基础
2.1 图形应用软件系统
本三维快速成型软件系统利用OpenGL重构模型,利用VisualBasic2012实现人机交互工作,利用轨迹球算法实现OpenGL模型在鼠标移动时模型随之旋转[3]。轨迹球的实现方法中最根本的技术就是利用一个四阶矩阵与模型矩阵进行相乘,产生模型新数即为经过轨迹球操作后的模型坐标位置。
本软件系统利用Pro/E的二次开发工具Pro/ToolKit,针对VC的编程环境下通过对3D模型切片链接库的研发,利用在Pro/E的整体软件集成下验证运行,得到3D模型的切片分布数据,同时也获得了每一层切片的二维边界精确数据和相关拓扑结构。另外,按照要求通用化数据的实现,我们规划设计了标准化的数据文件来记录所获取的分层数据和对应的拓扑结构的数据接口,方便使用者自行开发相应的渲染软件及其他控制程序。
整体利用Pro/ToolKit和VC++6.0程序来编程分层切片动态链接库程序。在Pro/E2001的环境中,授权加载该应用程序完成后,即可对已获得的3D实物几何模型分层切片时,可以使用鼠标来点击程序框中菜单栏中的ChooseData项,然后打开该目录下的导航式子菜单Choice,选中它并进行切片方式和渲染方式设置完成后,再点击Finish按钮即可完成对所选3D模型的分层切片,最终呈现的切片图形如图1所示。
2.2 基于仿真分析的支撑材料规划方法
三维打印制造过程中形成下小上大的形状的一般方法是在下层提供上层形体的支撑。支撑结构要求能够承担上层结构的重力影响,且在打印完成后,能够容易进行除去。目前尚未有一款切片器能够比较完美地处理支撑问题,而支撑问题是目前普通用户可有效使用的三维打印领域面临的最大的软件技术问题之一[4]。
支撑问题的科学本质在于预测上方结构的塌陷可能性,并在可能塌陷的部分打印形成支撑材料,以阻止塌陷或悬空的形成。然而,真实打印过程中的情况是非常复杂的,材料和打印环境的温度、湿度、工作状态和历史误差累计都可能对塌陷存在影响。目前,所有的预测都基于单向或单指标(例如倾斜角)的非反馈预测,即对物体的几何进行分析,对倾角过大的部分进行支撑。由于指标的单一化,可能形成过度支撑(预测算法“不自信”)和欠支撑(预测算法“过度自信”)的情况。而衡量是否需要支撑的因素事实上是多种多样的,是需要进行进一步的仿真得到的。现基于打印仿真,在数字空间分析打印当时的各部分的物理状态,更真实地还原塌陷和悬空情况,考虑更多因素地预测和计算支撑方向和支撑单元尺寸,从而更精准地完成支撑材料的规划。
3 关键技术的设计和实现
三维快速成型软件系统是将存在于计算机当中的“虚拟物体”转变成为现实世界当中“真实物体”,是将用户设计的三维模型转换为三维打印机硬件控制指令的关键软件,是检验产品可生成性、提高生成效率和稳定性的核心技术。三维切片工艺软件的科学本质是对数字空间中的三维模型利用若干水平面进行切割(类似于CT切片),然后对每一个切面进行轮廓提取和加工路径进行规划。因此,解决三维切片问题实际上是对若干复杂的几何问题进行研究。
整体分析基于连续性和基于拓扑机构的优缺点,考虑切片进行的过程,我们提出一种基于Z坐标的分层切片算法。该算法的基本思路:因为生成和读取全部三角形面片的拓扑信息耗时巨大,考虑将STL文件数据中各三角形面片中的Z坐标标注并按要求排序。当开始切片时根据所切平面的高度Zh确定对应分层所有面片计算,对于同一分层三角形建立相应的拓扑关系库,建立对应的层面、层线、层点的关系链结构。根据读取STL文件数据,分析本身的连续性特点,通过每一分层三角形面片之间的拓扑关系获得交线。
3.1 三角形的连续性
据几何学知识所知,三角形是一个平面凸多边形的特例,其自身具有三种连续性特征,包括区域连续性,扫描线连续性和边的连续性。三角形自身是平面单连通凸域,区域连续性是显而易见的。扫描线的连续性是指一条扫描线与一个三角形相交,其交线必然由扫描线和三角形的两边交点的连线构成。另边的连续性则可通过与三角形相交的两层面间的线段的递推关系演绎所得。
3.2 基于Z坐标分层算法
基于Z坐标算法是为标注三角形面片间的拓扑关系而建立一种链表数据结构,当读入STL文件所有三角形面片各顶点的Z坐标,标记ID后按由小到大排序,分层切片时由分层高度Zh=Zmin开始分层求得所需目标三角形分层。在求交线计算中利用面片之间的连续性分次求得,最终把求交依次得到的交线连接形成一个闭合的轮廓线。基于Z坐标分层算法的流程描述如图2所示。
整体流程步骤简述:
(1)所有三角形层数据由STL文件读取,其顶点Z坐标记录并标记ID号。
(2)按标注的Z坐标所属三角形分层按从小到大进行排序。
(3)以Z轴为方向从小到大开始切片,按切片的Zh高度来确定求交线的三角形面片集合。
(4)以分层高度增加单位△Z,任选一三角形面片求交,再依照连续性找到下一个集合中的三角形,循环切片并最终得到一个闭合轮廓线。
(5)三角形分层结束的限制条件为循环步骤(3)和(4)直到Zh高度超过所有三角形Z坐标的Zmax。切片算法单元三角形拓扑信息定义数据结构如图3:
假设三角形STL切片文件内共存储有N个三角形面片,则在基于模型拓扑结构的算法中存储这N个三角形面片的拓扑信息需要的存储空间为64N,按照基于Z坐标的思想存储所需的存储空间为28N。两种算法不同读取结构信息的存储对比曲线如图4所示。
如上图所示可以看出只读取Z坐标及指针链表信息的数据结构可大大降低内存的占用。建立新的数据结构,在保证连续性分层思想的同时,既可节省分层时间也可节省分层时内存的占用量。
4 结束语
本文分析探讨了三维快速成型软件系统的原理特点,从系统实用性推广角度阐述如何自动将普通三维模型转换成可打印的三维模型,提高转换稳定性,减少打印材料耗费,降低成本提升效率。另深层意义在于为广大普通大众用户提供三维快速设计成型系统,将高深的设计与制造技术带给普通用户,而且朝着将工业制造模式向普通用户制造模式方向努力,进一步提高人类的自主能力,值得推广。
【参考文献】
[1]王运赣.快速成形技术[M].武汉:华中理工大学出版社,1999.
[2]刘道远.快速成形中数据处理软件的研究与实现[D].华侨大学,2000.
[3]宫法明,李海生,杨钦,等.基于OpenGL的STL文件浏览器的设计与实现[J].计算机工程与应用,2002,6(2).
[4]李占利,梁栋,李涤尘,等.基于信息继承的快速分层处理算法研究[J].西安交通大学学报,2002,36(1)43-46.
[责任编辑:汤静]
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!