摘要 在分析现有的曲面模型不利于进行CNC加工的基础上,建立了一种面向CNC加工的自由曲面模型,介绍了该曲面模型的基本要求并阐明了建立的措施和方法。
关键词:CNC 自由曲面模型 建模
Establishment of a sculptured surfaces model for CNC
Wu Guanglin Li Congxin Ruan Xueyu
Abstract A sculptured surfaces model for CNC is established on the basis of analyse of the reason that the cansual one is disadvantageous for its machining in CNC system.Its requirement is introduced and its establishing mothod is clarified.
Key word:CNC;sculptures surface model;modelling
1 引言
随着CAD/CAM等技术的日益成熟和完善,作为CAM的核心技术CNC得到了迅猛的发展。但当今CNC的发展也遇到了一些问题,其中之一便是适合CNC加工的曲面模型的建立。目前的CNC系统大都使用CAD曲面造型系统中的曲面模型,由于CAD的曲面造型系统发展已比较成熟,其曲面模型的发展也比较完善,能够比较令人满意地表达曲面的几何信息,但由于历史上CAD和CAM相对独立的发展使这些在CAD系统中使用的纯几何数据的曲面模型在CNC系统中的应用却遇到了困难。因为这些包含完善几何信息的曲面模型却缺少CNC加工中所不可缺少的非几何信息,如曲面材料的特性,加工精度的要求和控制信息等。这样,怎样妥善地解决这一问题使CNC能方便地从曲面模型中获取充分的信息是发展CNC急需解决的问题之一。
目前,从总体上来说有两大类解决方法。一是完善现有CAD和CAM之间的集成;二是直接建立面向CNC加工的曲面模型。第一种方法目前研究较多,比较常用和理想的是基于特征的产品建模方法,即用特征来构造产品模型,并以此模型为基础实现CAD和CAM数据交换和共享以实现二者的集成。但由于现在社会产品的异常丰富,建立准确和完善的产品的特征比较困难,很难包含各领域的应用,更无法协调各特征集的集成,所以此方法的应用受到限制,主要针对一些具体的应用而采取相应的产品特征进行特征建模。相对于第一种方法,由于用于建立产品曲面模型的种类比产品本身的种类少得多,故第二种方法可以建立比较通用的CNC曲面模型,该方法目前研究相对较少。本文采用第二种方法,即直接建立面向CNC加工的曲面模型,将CNC加工时所需要的信息融入曲面模型,从根本上解决传统CAD曲面模型不能给CNC系统提供充分信息的缺点,为该方法的最后完善做一些探索性的研究。
2 面向CNC系统曲面模型的要求
作为面向CNC系统的曲面模型,必须满足以下基本的要求。
1)丰富的曲面表达和造型能力 和传统的CAD曲面模型一样,面向CNC系统的曲面模型也必须能够完善地表达曲面的几何信息并能方便地进行造型。因为CNC系统加工的对象是形形色色的社会产品,所以作为面向CNC系统的曲面模型首先必须具有表达各种各样产品形状并方便地进行生成、修改等造型的能力。
2)能够提供CNC加工时所需的控制信息 这是面向CNC系统的曲面模型的关键要求,也是其区别传统的CAD曲面模型的根本所在。如前文所述,传统的CAD曲面模型虽然能够提供完善的几何信息,却不能提供CNC加工所必需的控制信息。因此,面向CNC系统的曲面模型必须包含充分的控制信息,如曲面材料的性质,曲面加工的精度,曲面表面要求的质量,曲面在加工零件中的拓扑信息等,以满足CNC系统能按既定的要求对曲面进行加工。
3)提供的信息能方便地被CNC系统所提取 作为面向CNC系统的曲面模型,这一要求是无庸置疑的。因为建立面向CNC系统的曲面模型的目的就是能方便地为CNC系统提供需要的加工信息,所以,包含的信息不能被CNC系统方便地提取的曲面模型再完美也不是好的面向CNC系统的曲面模型。
3 自由曲面模型的建立
3.1 建立自由曲面模型的途径
为了满足上面提出的要求,我们用以下几方面的措施来建立面向CNC系统的自由曲面模型:
1)用三次B样条曲面模型在面向CNC系统的自由曲面模型中表达曲面形状几何信息 我们知道,三次B样条曲面具有一系列优良的特性。主要包括:几何不变性,即曲面的表达形式不因所取坐标系的不同而变化;适中的光滑性,在每一曲面片内具有任意阶连续,片间在两个参数方向具有二阶连续;凸包性,该曲面恒位于它的控制顶点的凸包内;逼近性,若控制顶点逐渐加密,曲面将逐渐逼近控制顶点;局部修改性,即若改变某一控制顶点,曲面只在某局部区域发生变化。正是基于以上一系列优良的特性使得它几乎能比较理想地表达任意类型的自由曲面,在目前的CAD曲面造型系统中得到广泛的应用。所以我们也选择三次B样条曲面来表达曲面形状几何信息,以满足面向CNC系统的曲面模型必须能够表达CNC系统所加工的各种曲面的形状几何信息的需要。
2)将CNC系统中所需要的加工信息融入面向CNC系统的自由曲面模型 为了提供CNC系统加工时所需的控制信息,我们采取在面向CNC系统的自由曲面模型中融入必须的控制信息。这些控制信息主要包括:曲面材料的特性信息,比如材料的刚度、强度、硬度、可切削性等;精度控制信息,即加工后产品所要达到的精度;表面粗糙度信息,即加工所要达到的表面质量要求;曲面的拓扑信息,即该曲面在具体产品中的位置。所有这些控制信息都是CNC系统进行加工时所必需的,不同的控制信息将对加工工艺的选择产生重要的影响。
3)在面向CNC系统的自由曲面模型中增加提取各种信息的接口 目前,在前述的CAD和CAM的集成中,主要有以下几种方法进行CAD和CAM之间的信息传递:特征的自动识别方法、特征设计的方法以及数据交换的方法。为了使CNC系统能方便地从面向CNC系统的自由曲面模型中获取各种信息,我们采取在该曲面模型内部建立提取信息的接口函数。这样,CNC系统就可通过这些接口函数直接提取所需的信息,从而自然实现信息交换的目的。
4)引入C++类的概念将面向CNC系统的自由曲面模型的信息进行封装 随着网络技术的日益发展,CNC系统中网络技术的使用将成为现代化生产中一股潮流。这样,在一个CNC网络系统中,将会出现多台CNC机床同时使用同一曲面模型,这将对曲面模型的信息的安全产生危胁。为了曲面模型中信息的安全,我们将面向CNC系统的自由曲面模型的信息进行封装,使CNC系统只有通过曲面模型本身所带的接口函数才能对曲面模型中信息进行操作,这样,同一网络的CNC机床就可以安全地共享曲面模型中的信息。
3.2 自由曲面模型的建立
基于上面的分析,我们用C++语言建立了下面的面向CNC系统的自由曲面模型的基类:
struct material∥材料特性
{ float hardness;∥硬度
float intensity;∥强度
float rigidity;∥刚度
float performance;切削性 }
struct point∥控制顶点结构
{ float x;∥x坐标
floatvy;∥y坐标
float z;∥z坐标 }
class ssfcnc∥面向CNC的自由曲面模型
{ private:
point* shape;∥几何形状信息
struct material materials;∥材料性能信息
float precision;∥精度信息
float roughness;∥表面质量信息
char position;∥拓扑信息
public:
ssfcnc(pointshape0,struct material
materials0,float precision0,float
roughness0,char position0)
∥基类构造函数
{ shape=shape0;
materials=materials0;
precision=precision0;
roughness=roughness0;
position=position0; }
∥下面为提取信息的接口函数
point getshape()
{ return shape; }
struct material getmaterials()
{ return material; }
float getprecision()
{ return precision; }
float getroughness()
{ return roughness; }
char getposition()
{ return position; }
~ssfcnd(){}∥析构函数 }
以上构造了该曲面模型的基类,提供了进行CNC系统加工时所需的基本控制信息,若加工的曲面需要特殊的信息,比如曲面只允许在某一方向留下加工刀痕等,用户只需用C++的继承功能派生出新类,加入所需信息,并重写构造函数和相应的接口即可。
4 结论
本文提出的模型能表达CNC系统所加工的各种曲面的形状几何信息,提供了CNC系统加工所需的各种控制信息,而且其提供的信息能被CNC系统方便地提取,以及它具备一定的安全措施使得它的信息可以安全地被多个CNC系统共享。因此,它能很好地满足当前CNC系统的需要,并将有力地促进CNC系统的发展。当然,该曲面模型的建立还处于探索阶段,它的进一步完善还有待于以后的继续深入研究。