基于VS2012的双光束SLM软件控制系统开发*

2018-12-21 06:51高雪松
机械工程与自动化 2018年6期
关键词:面片多边形轮廓

王 凯,高雪松,肖 猛,刘 爽

(南京先进激光技术研究院 装备中心,江苏 南京 210038)

0 引言

SLM作为一种典型的金属激光3D打印技术,因其具备打印零件力学性能好、致密度高、后续几乎不需要机械加工、能够制造复杂精密零件等优点,在航空航天、生物医疗、汽车制造等领域得到广泛应用[1],但成形效率低仍旧是限制SLM技术进一步发展的最重要因素。采用大功率、多光束进行打印成为目前提升打印效率的主流方法,本文基于双光束硬件平台的SLM软件控制系统的开发,包括数据结构设计及算法开发,完成对导入零件分区扫描的功能,以实现大幅提高SLM打印效率的目的。

1 双光束SLM系统硬件构成与实现原理

有别于国内外当前采用多个小功率激光器对烧结区域进行分割打印的方案,本项目中硬件平台采用高、低激光器配合,即:采用低能量小光斑激光束对成形区域边界进行扫描,保证零件成形精度;采用高能量大光斑激光束对成形区域内部进行扫描,在保证打印精度的前提下提升成形制造效率。双光束SLM系统原理框图如图1所示。

软件控制系统通过对打印模型进行切片、扫描截面分区及路径规划得到扫描路径的几何信息,结合输入的工艺参数信息即可将包括激光功率、振镜扫描速度、振镜扫描轨迹在内的信息写入振镜控制板卡的缓存中,完成振镜的运动控制及激光器的开、关与功率控制;相应粉末缸体及铺粉刮刀的运动控制由电机控制板卡完成。

2 控制软件模块划分、数据结构及算法实现

控制软件主要完成由导入模型获取振镜运动控制信息的任务,分别由高、低功率的激光器及其配套振镜完成零件截面的分区扫描,最终实现在保证打印精度的前提下大幅度提升制造效率的目的,其主要功能模块包括模型导入、分层切片、路径生成与硬件写入。

图1 双光束SLM系统原理框图

2.1 模型导入

软件采用主流STL格式模型作为导入模型,通过关键字及格式差异判断模型为文本格式或二进制格式,并分别根据二进制和文本格式两种STL文件存储格式进行三角面片的读取。

考虑到实际工程模型文件数据量巨大且STL格式几何信息的冗余,为进一步提升内存利用率,方便对STL模型进行错误(三角面片重叠、缺失等)检查,提升后续切片处理的效率,本文采用哈希表进行三角面片的快速存储与模型的拓扑重构。

为能建立STL模型的拓扑关系、将使用V、E、F(即顶点、边、三角面)数据结构,各结构包含指向其上层、下层的指针,例如可以由面结构找到其包含的三条边、由边结构找到其所属的三角面,其基本数据结构如图2(a)所示。以最简单的四面体为例,面结构中只记录其所拥有的3个顶点和3条边的指针,而边结构中记录其所属的2个面和所包含的2个顶点指针,两个面F1、F2共享一条边E2的基本关系是进行快速分层切片的关键,如图2(b)所示。

图2 STL三角面片存储相关数据结构及示例

读入STL文件中的三角形面片信息时,首先在对应的哈希表中寻找,判断顶点和边是否存在,如果已存在则记录对应顶点/边与面片的所属关系;否则新建相应的顶点/边,并记录在对应哈希表中,以防止冗余。STL三角面片拓扑信息建立流程如图3所示。

图3 STL三角面片拓扑信息建立流程

至此,便建立了顶点、边、三角面的拓扑关系,可以由低层元素获取其所属的高层元素的指针;亦可由高层元素获取其包含的低层元素的指针,为STL模型的快速切片做好准备。

2.2 分层切片

由于已经建立STL模型顶点、边、三角面之间的拓扑关系,切片时则可利用两个三角面共享一条边的几何性质从当前相交面片找到下一个相交面片,由此可以大大提高切片效率,其切片流程如图4(a)所示。

分层时首先找到所有与切割面(z=H,H为切割高度)有效相交[2]的三角形面并做出标记,以图4(b)为例,由一个未求取交线的面片F1开始,其与切割平面交于V1、V2,由共享边E2的拓扑信息:E2属于F1与F2,即可得到下一个相交面F2的指针,可以继续求取F2与切割平面的交点V2、V3。由此可顺次求取相交三角面上的所有交点:V1、V2、V3、V4等等并形成封闭多边形。当所有相交三角面都求出交点时,可得到一个或者多个封闭多边形。

图4 STL模型切片流程及示意图

统计各个多边形轮廓之间的被包含次数可以将其进行分组,从而得到分层后所有的实体截面,实体截面是进行扫描路径规划的基本单位。所有被包含偶数次(N)的轮廓为实体截面的外轮廓,所有被外轮廓包含且被包含次数为N+1次的轮廓则为对应的实体截面的内轮廓,若切片后所得多个多边形轮廓如图5(a)所示,对各个轮廓被包含次数进行统计,统计结果如图5(b)所示。其中多边形轮廓1、3、5分别被其他轮廓包含0、0、2次,因此可以确定轮廓1、3、5为切片后获得三个实体截面的外轮廓;轮廓2被轮廓1包含,且其与轮廓1被包含次数满足N轮廓2=N轮廓1+1的关系,故实体截面S1的外轮廓、内轮廓分别为轮廓1、2,同理可确定实体截面S2、S3的内外轮廓,由内外轮廓所确定的区域S1、S2、S3是激光束需要进行扫描的地方。

图5 分层轮廓分组算法说明示意图

2.3 路径生成

为使高、低功率双光束打印的硬件优势得到体现,在路径生成时将对实体截面进行分区——轮廓区域与内部区域,在轮廓区域上使用低功率小光斑激光束进行扫描,在内部区域使用高功率大光斑激光束进行扫描,由此提高SLM激光3D打印的制造效率。

本文中采用基于Voronoi图(泰森多边形)理论来获取轮廓区域与内部区域的分界线,并进行轮廓区域扫描线的生成。该算法以求取单个边界元素的Voronoi多边形为核心[3],在得到的每一个边界元素的Voronoi多边形内部进行边界元素的偏移,连接偏移线段最终形成轮廓区域与内部区域的分界线、边界区域内的扫描线,此算法可靠性较当前其他算法大幅提升,具体流程如图6所示。

图6 轮廓区域边界确定及其扫描路径生成流程

内部区域扫描采用大功率光束扫描,为了改善粉末收缩而引起的翘曲变形,算法中采用了由模拟温度控制的分块随机曝光策略,这一策略使打印过程中的热量分散在整个打印区间内,显著减少了热应力引起的变形、翘曲等不良后果[4-6],其流程如图7所示。

为了在工艺上实现边界区域与内部区域分别使用不同参数进行扫描、在不同打印层之间进行工艺参数微调(依据监测硬件提供的反馈数据信息)的可能,软件在每一个打印层中采用独立的两套工艺参数数据结构,分别用于管理打印轮廓区域、内部区域时所使用的工艺参数,使得包括扫描间距、激光功率、扫描速度在内的多个工艺参数可调。

软件界面及扫描路径生成图如图8所示,STL模型切片后,其外部轮廓偏移数目可由工艺人员确定,且外轮廓和内部区域扫描间距互相独立,可以分别依据光斑直径确定,实现打印精度和效率的平衡。

2.4 硬件写入

路径规划完成,则激光扫描路径的几何信息确定;结合激光3D打印工艺数据(包括激光功率、扫描速度等),按指定命令格式写入振镜控制板卡缓存中即可完成对激光器及振镜的控制。

3 结语

本文以VS2012为开发环境,以高、低功率双光束配合进行高效SLM激光3D打印的硬件平台为基础,进行了相关控制软件系统的开发,实现了对STL模型进行轮廓及内部分块打印功能。打印模型各层均包含独立的两套工艺信息数据,最大程度地支持了工艺数据的自由调整。在保证打印精度的前提条件下,大幅度地提升了打印效率,实现了一种有别于当前采用多个小功率激光器进行分割打印以提升打印效率的新方法。

图7 内部区域扫描路径生成流程

图8 软件界面及扫描路径生成图

猜你喜欢
面片多边形轮廓
多边形中的“一个角”问题
三维模型有向三角面片链码压缩方法
OPENCV轮廓识别研究与实践
多边形的艺术
基于实时轮廓误差估算的数控系统轮廓控制
解多边形题的转化思想
初次来压期间不同顶板对工作面片帮影响研究
多边形的镶嵌
高速公路主动发光轮廓标应用方案设计探讨
甜面片里的人生