激光快速成型软件系统开发的关键技术

2012-09-29 06:17陈光霞
制造业自动化 2012年7期
关键词:数据结构义齿交点

陈光霞

CHEN Guang-xia

(江汉大学 机电与建筑工程学院 工业设计系,武汉 430056)

0 引言

激光快速成型技术是近年来新出现的快速成型技术之一,它是以粉末为材料,将CAD模型转换成零件,利用激光快速成型技术可以节约新产品的开发时间70%以上,使产品投放市场时间节省90%左右[1]。所以可以极大地提高企业的市场竞争力,具有较广阔的应用前景。

激光快速成型系统主要由软件系统与硬件系统组成。而软件系统的优劣直接影响和控制着整个加工过程,直接影响零件的成型质量与加工效率,在快速成型系统中起着至关重要的作用,是激光快速成型系统的核心技术之一。

本文对激光快速成型软件系统开发过程中的关键技术进行了详细论述。

1 软件系统的功能模块

激光快速成型软件系统的总功能是:将三维CAD模型的数据转换成数控加工指令,控制数控设备和激光器完成激光加工操作。

根据软件系统功能需求,激光快速成型软件系统可以划分为四个功能模块:STL文件的读取与显示模块、切片处理模块、扫描填充模块以及加工控制模块。如图1所示。

2 软件开发中的关键技术

2.1 软件数据结构的建立

图1 系统功能模块示意图

本文主要以二进制STL文件为研究对象,根据二进制STL文件的格式规定,要实现二进制STL文件的读取,应建立以下数据结构:

1)点的数据结构如下:

struct Tripoint3d{

f

l oat x;

f

l oat y;

f

l oat z;};

2)Normal向量的数据结构如下:

struct TriNormal{

f

l oat x;

f

l oat y;

f

l oat z;};

3)三角形的数据结构如下:

struct Triple{

Tripoint3d pt1;

Tripoint3d pt2;

Tripoint3d pt3;

TriNormal normal;};

4)直线的数据结构如下:

struct Line{

Tripoint3d spt;

Tripoint3d ept;

TriNormal normal;

BOOL fl ag;};

5)其他一些重要的数据结构:

typedef struct linelist{//直线的单向链表

Line line;

struct linelist *next;}LineList;

struct contour{//环的数据结构

LineList contourline;

int SliceID;//切片层数,即是第几层切片

BOOL fl ag;//环使用标志};

2.2 STL文件的显示技术

STL文件的显示技术主要包括以下两个方面。

2.2.1 立体模型的显示

本文采用OpenGL实现STL文件的显示,因为OpenGL具有强大的图形功能,且提供了VC编程环境所需的库函数及头文件,可以很方便地在VC编写的应用程序中显示图形[2]。

立体模型的显示主要分为两种:立体光照模型与立体线框模型。如图2(a)所示是义齿支架的线框模型显示,图2(b)是义齿支架的光照模型显示。STL文件模型显示算法如下:1.SetModelColorWithOpenGL 2.SetLightsWithOpenGL

图2 义齿支架模型显示结果图

3.DisplaySTLModeWithOpenGL(FacetsCount,FacetsArray, FacetsNormalArray)

4.CASE UserActions OF {

Case1:Display illumination model;

Case2:Display frame model;

…}

2.2.2 立体模型的旋转、缩放和平移

为了便于用户更好地观察立体,并选择最佳的切片方向,更利于激光快速成型加工,在立体模型显示功能中还包括立体的旋转、缩放和平移。

立体的空间坐标系与计算机屏幕坐标系是有区别的。立体对象在空间处于三维坐标系中,但计算机图形的点是生成三维对象的二维图象,所以,将立体对象的三维坐标转换到屏幕上的象素位置,要经过一定的视见变换。

三维图形的几何变换矩阵如式(1)所示。

三维图形的旋转、缩放和平移等操作都可以从(1)式矩阵变换得到。如绕Y轴进行三维旋转变换,利用此矩阵对每一个点进行旋转,具体旋转矩阵如式(2)所示。

式中θ为旋转角度。

2.3 切片技术与轮廓整理

2.3.1 切片技术

把任意一个空间三角形与切平面的关系分为下列六种情况,如图3所示。平面在截切STL文件立体时,程序对三角形与切平面的位置关系进行判断并作相应的处理,求出三角形与切平面的交线,其流程如图4所示。

图3 三角形与切平面的关系

图4 切片算法流程图

2.3.2 切片轮廓的整理

对零件进行了切片处理后,再根据每一层切片的交线整理出一个或多个截面轮廓。其算法流程图如图5所示。

为了避免STL文件不连续的缺陷,保证不论在什么情况下,都可以生成封闭的截面轮廓,当第一条线段的起点PIS与最后一条线段的终点Pne不相同时(在一定的范围内,如坐标差≤0.001mm),则增加一条以Pne为起点,以PIS为终点的线段,从而形成封闭的截面轮廓。

一条截面轮廓整理完后,再以同样的方法在剩下的线段中搜索,得到另一截面轮廓,直到交线数组中再无线段为止。

图6就是利用此轮廓整理算法的切片结果,其中图6(a)为拉伸试样的切片结果图,图6(b)为义齿支架切片结果图。

图6 立体切片结果图

图5 轮廓整理算法流程图

2.4 填充方法的实现

形成截面轮廓后,要利用一定的算法生成每一截面轮廓的激光扫描路径,并生成相应的NC代码,或直接驱动激光器与数控工作台进行激光加工。激光扫描路径最常见的为直线光栅扫描法与轮廓偏移法,本文主要采用轮廓光栅扫描法进行填充。

光栅填充方式一般先判别内外环,再利用求交点的方式进行填充[3]。本文则直接利用交点来进行填充,这样可以提高计算效率。具体方法如下:

1)获取需扫描填充区域的最小包围盒,并根据激光扫描工艺参数中的单道熔覆宽度及搭接率,计算光栅扫描间隔;

2)按指定方向(如X、Y轴)生成扫描线,如图7(a)所示;

3)求出每条扫描线与当前层中所有轮廓的交点,如P1、P2、……、Pn;

4)统计交点数,并将交点按扫描线方向从小到大进行排序;

图7 光栅填充示意图

5)按点从小到大的顺序生成扫描线,扫描线为P1P2、P3P4、P5P6、……。

生成的填充图如图7(b)所示。

特殊情况处理:

1)当交点数为奇数时,则应根据情况进行具体分析:

2)极值奇点[4]:如果(yi-yi-1)(yi+1-yi)≤0,则称Pi为极值奇点。此时规定按两个交点计算,如图8(a)所示。

3)非极值奇点:如果(yi-yi-1)(yi+1-yi)>0,则称Pi为非极值奇点。此时规定按一个交点计算,如图8(b)所示。

图8 极值奇点判断示意图

当轮廓的一条边在扫描线上时,此时不考虑它和扫描线的交点,交点数视为零。

在光栅扫描填充中,如果完全采用X轴或Y轴方向进行扫描填充,这样所制备的金属零件易形成组织结构偏析,对提高成型件的质量不利。因此在实际应用中,将每相邻两层之间的扫描相位差规定为某一特定夹角θ,通常选择的θ值有90°、105°、120°等[5,6]。在程序设计中将角度设计成变量,用户可以根据需要,自己确定。图9为利用每层相位角相差105°的方式进行填充的显示结果图。其中图9(a)为拉伸试样光栅填充图,图9(b)为可摘除局部义齿支架光栅填充图。图10为采用相位差为105°的激光快速成型加工的实物图。

图9 利用相位角差值为105°的填充显示结果图

图10 拉伸试样、义齿支架填充相位差105 °实物图

3 结束语

在自行开发了一个用于金属零件激光快速成型加工的软件系统的基础上,详细论述了软件系统开发中的主要关键技术,实践证明,这些技术对于保证成型零件的质量和提高加工效率具有很大的作用。

[1] P.A. Kobryn,E.H.Moore,S.L.Semiatin.The effect of laser power and traverse speed on microstructure, porosity,and build height in laser-deposited Ti-6Al-4V.Scripta mater,2000,43(4): 299-305.

[2] 江早.OpenGL VC/VB图形编程.(第一版)[M].北京:科学出版社,2001:3-8.

[3] 刘斌,肖跃加,韩明,等.实体截面轮廓内外边界的自动识别算法研究[J].华中理工大学学报,1996,24(10):23-25.

[4] 常明,朱林.计算机图形学.(第二版)[M].武汉:华中科技大学出版社,2001:141.

[5] M,T.Ensz,M.L.Grif fi th,L.D.Harwell.Software Development for Laser Engineered Net Shaping.Solid Freeform Fabrication Proceedings,1998:359-366.

[6] Kamran Aamir Mumtaz,Poonjolai Erasenthiran,Neil Hopkinson.High density selective laser melting of Waspaloy. Journal of materials processing technology, 2 0 0 8 (195) :77-87.

猜你喜欢
数据结构义齿交点
数据结构线上线下混合教学模式探讨
为什么会有“数据结构”?
阅读理解
借助函数图像讨论含参数方程解的情况
试析高中数学中椭圆与双曲线交点的问题
磁性附着体义齿修复牙列缺损的临床应用
义齿稳固剂改善全口义齿咀嚼效能的临床研究
高职高专数据结构教学改革探讨
老年人活动义齿及固定义齿修复的临床应用
活动义齿与固定义齿在牙周病修复中的疗效对比分析