李继平
(四川职业技术学院机械工程系 四川 遂宁 629000)
随着信息化时代的来临以及初具规模的全球统一市场的逐渐形成,产品及技术交流日益频繁,市场竞争日趋激烈,产品批量变小,技术含量增大,需求品种增多,生命周期变得越来越短。 传统的产品开发模式已很难适应新的变化需求,建立快速的市场响应技术平台已成为企业在市场竞争中立于不败之地的重要法宝。 传统模具制造过程复杂、周期长、成本高,已成为模具开发制造的瓶颈,因此,现代快速模具技术(RT)已成为当前模具制造业的热点,并被广泛的研究和应用[1]。
RT 技术是在RP 技术基础上发展起来的一种新型模具制造技术,它可大大减少模具的生产成本和制造周期。 基于RP 的快速模具制造一般有直接法和间接法两种。 直接制模法是将模具CAD 的结果由RP 技术直接制造成型模具。 这种方法不需要RP 原型作样件,也不依赖传统的模具制造工艺,对金属模具的制造尤其快捷,是一种有开发前景的快速模具制造方法,因此受到国内外学者的高度重视[2]。 由于制造出的模具具有一定的耐高温和较好的机械强度和稳定性,故用RP技术直接制造的模具经表面处理后可直接用于生产中。 常用的直接制模法主要有选择性激光烧结法(SLS)、激光生成法(LG)、等离子电弧熔积法(PDM)和三维打印法(3DP)等方法。
RP 技术是一种集精密机械、计算机、数控、激光、新材料于一体的高新技术, 它通过材料累加法从零件的三维CAD 几何模型数据来制造其物理实体模型, 其制作样件的方法与传统的去除加工方法明显不同[3]。 RP 技术的原理是先将CAD 生成的三维实体模型通过分层软件分成许多细小薄层,每个薄层断面的二维数据用于驱动控制数控系统,然后对选择的成型材料进行处理,使其固化,以逐层固化的薄层累积成所设计的实体原型。 它是一种真正意义上的数字加工, 其最大的特点就是成型过程基本不受模型复杂程度的限制。
从上述过程可以看出,在RP/RT 软件系统中,分层处理模块处于核心地位,分层处理的结果将直接决定后续成型制造的质量。 目前分层处理普遍采用STL 格式的数据模型作为CAD 几何模型与成型机所需数据转换的接口[3]。
STL 是三维实体模型文件经过三角化处理后得到的模型文件。STL 文件中每个三角形面片有四个数据项表示,即三角形的三个顶点坐标和三角形面片的外法线矢量,STL 文件即为多个三角形面片的集合。
由于硬件以及算法的原因,STL 数据模型存在以下一些不足[4][5]:①用小三角平面片近似实体表面明显降低了精度;②STL 数据模型包含着一系列单个的三角平面片信息, 而对于三角平面片之间的邻接关系,则没有表达,从而使得这种表达具有二义性;③通常为提高逼近精度采用更多的三角平面片近似表面,则会使STL 数据模型的容量变大,并且数据冗余量增大;④为提高精度当用多个三角平面片近似时,由于有限运算精度的约束和转换精度的限制, 很有可能出现一个顶点分离或几个顶点的情况;⑤表面模型通常不是封闭的,以此转化成的STL 数据模型存在着裂缝、 空洞、 重叠表面等问题。 这些缺陷会严重影响后续切片时正确的截面轮廓数据,致使快速成型过程不能正常进行。
基于上述原因,在进行分层处理之前实现STL 文件的缺陷检查并修复就显得相当重要。
为了保证分层处理的正确性,在设计软件系统时,采用了数据文件两级纠错处理技术,即STL 文件3 维层次上的纠错和2 维切片轮廓层次上的修复,整个软件系统采用多线程技术,处理流程如下:
a.从磁盘上读取STL 文件进入内存;
b.对内存缓冲区中的STL 文件数据进行整理;
c.将每个三角形片面的三个法相分量和三个顶点的九个分量存入预设结构中;
d.启动显示STL 实体的例程。 并等待用户触发数据处理消息;
e.一旦触发数据处理消息,就建立数据处理线程;
f.在上步发回结束消息后,等待用户触发缺陷检查或者分层消息;
g.缺陷检查后显示实体的一些具体信息,进行3 维层次修复,等待用户触发分层消息;
h.用户触发分层处理后,进入分层参数设置,然后启动分层线程;存储分层数据;
i.层片堆积仿真,修复2 维切片轮廓存在的错误;
j.扫描线计算,生成CLI 文件。
在分层处理之前进行的STL 文件缺陷检查和修复主要包括两部分工作:
1)冗余点去除;冗余点去除是将STL 模型中所有相同的顶点和由于计算误差而造成的距离很近的分离点,合并成一个无重复点的点表。 这样可明显地减少STL 模型中的数据冗余量,并将小于圆整误差的三角形面片去掉。 对冗余点去除过程中出现的畸变需根据STL 模型的法则进行处理,使之符合STL 模型的规则。 为便于对顶点的操作,采用在顶点合并的同时,对顶点进行排序的方法。 为了提高检索效率,排序采用快速排序。
2)邻边三角形拓扑关系建立;STL 模型本身并不包含三角形面片排序之间的拓扑关系,这给后续的分层处理带来极大的困难。 在数据处理过程中,存储的三角形面片不仅包含定义它的三个顶点和法相矢量信息,而且还包含相应的三个相邻面和三条公共边的信息。 这些相邻面和公共边的信息可以确定三角形之间的拓扑关系。 由于每个三角形面片包括三条边,每条边被两个三角形面片所共有。 如果某个三角形面片的邻边三角形不足三个,则认定此处存在缺陷,读取有关轮廓线,进行三角形划分,修复缺陷。
在分层处理过程中, 首先根据分层方向将三角形排序,然后获取与分层平面相交的三角形映射集合,当集合中三角形都与分层平面作过求交运算后, 即认为该次分层结束,具体流程图如图1 所示。
图1 分层处理流程图
分层处理的关键在于如何获得切点顺序相连的封闭轮廓线,其实质是邻接三角形的查找。 在分层平面与三角形作求交运算的过程中,主要有如图2 所示的三种情况,其中H为分层平面,A 为几个三角形的公共顶点,对于情况(a),三角形1、2、3 进入映射集合,直接通过邻边三角形拓扑关系依次计算三角形3、2、1 与H 平面的交点;对于情况(b),分层平面H 通过三角形3、4 的公共边以及三角形2、5 的公共点,这种情况下,根据约定,只有三角形3、1 进入映射集合,作求交运算时,根据“共顶点A”这一原则找到三角形1,继续进行运算;对于情况(c),分层平面H 通过三角形3、1 的公共点A,此时仍旧按照“共顶点A”这一原则找到三角形1,继续进行运算。
图2 分层平面与三角形相交示意图
由于STL 文件是三维实体模型文件经过三角化处理后得到的模型文件,其本身不可避免的存在着精度误差,因此能否实现直接切片分层已经成为RP/RT 领域中的一个重要课题。
STEP (产品模型数据交换标准)协议是国际标准化组织(ISO) 确定的一套关于产品整个生命周期中的产品数据的表达和交换的国际标准,其目的是提供一种不依赖于具体系统的中性机制,能够描述整个生命周期中的产品数据。 STEP 通用性强,独立于软硬件环境之外,文件大小也比较适宜,因此实现STEP 文件直接切片分层无疑具有最广泛的适用性。
在STEP 中产品模型信息分为应用层、 逻辑层和物理层三层结构,按照其功能和作用被分为集成资源、描述方法、应用协议、实现方法和一致性测试这五个部分。 产品数据的这种描述,本质上不仅适合于中性文件交换,而且是实现和共享产品数据库及产品数据的长期存档的基础。 正因STEP 标准的普适性,对于RP 系统来说就显得过于求全,必然存在着冗余信息,需要开发必要的算法和解释器才能将有用数据转换到RP 系统中。
通过对STEP 标准的仔细分析, 我们认为基于STEP 标准的CAD 模型直接分层处理技术的关键是:对STEP 中性物理文件的读入和分析并正确获取STEP 标准的CAD 模型的几何拓扑信息, 利用形成的几何数据模型完成对CAD 模型的分层处理即各几何元素与分层面的求交处理, 生成RP 的二维层片加工数据。 其中,正确获取STEP 标准的CAD 模型的几何拓扑信息将是工作的主要难点。
本文作者采用Visual C++6.0 和OpenGL 进行程序开发,在Windows 9X/NT/2000 系统环境下实现了上述算法,程序运行结果如图3、图4 所示。
图3 零件三维实体显示图
图4 一条分层轮廓线显示图
经过测试,与国内外同类产品相比,由于采用了面向对象和OpenGL 混合编程,并使用了多线程等技术,因此提供了良好的可视化环境, 对STL 文件获得了优质的三维显示效果。 采用数据文件两级纠错处理技术, STL 文件处理速度大大增加,界面使用更加友好,同时生成的CLI 文件错误率低,这对于开发高精度的、通用快速模具制造软件系统是非常有价值的。
[1]谷诤巍,袁达,张人佶,颜永年.基于RP 原型的电弧喷涂快速模具制造技术研究[J].电加工与模具,2003(1):50-52.
[2]孙琨,王伊卿,卢秉恒.基于RP 的快速金属模具制造精度控制研究[J].中国机械工程,2002,13(1):50-52.
[3]黄树槐.快速原型制造技术的进展[J].中国机械工程,1997,8(5):8-12.
[4]郭九生.快速成型制造中几何模型和数据模型的处理技术[J].机械科学与技术,1998(1):88-90.
[5]田宗军.快速成形系统中STL 文件的缺陷与修复[J].电加工,1999,2:15-18.