系统体素的造型与三维建模系统体素的造型采用了实体几何表示CSG方法。CSG的含义是任何复杂的形体都可用简单形体(体素)的组合来表示。通常用正则集合运算来实现这种组合,其中可配合执行有关的几何变换。形体的CSG表示可看成是一棵有序的二叉树,其终端结点或是体素,或是刚体运动的变换参数。非终端结点或是正则的集合运算或是刚体的几何变换,这种运算或变换只对其紧接着的子结点(子形体)起作用。每棵子树(非变换子结点)表示了其下两个结点组合及变换的结果,树根表示了最终的结点,即整个形体。CSG树是无二义性的,但不是唯一的,它的定义域取决于其所用体素以及所允许的几何变换和正则集合运算算子。为方便和满足复杂形体的CSG实体表示,系统构造了部分基本体素,包括立方体、圆柱体、圆锥、球体等,可根据需要进行添加。 仿真体素的造型与三维建模仿真体素(包括工件、刀具等)的造型和三维建模同系统的基本体素建模相同,本文以工件和刀具为例说明仿真体素的建模过程。切削加工过程中的工件初始状态一般为圆柱体(或锥体),其几何特征信息包括工件的长、半径(若为锥体还包括顶半径、底半径)、材料特性及离散精度等,工件的材料特性可通过指定工件的材料来获得,离散精度则可通过其拟合边数来实现。为便于系统识别,每个实体还被赋予一个名字bname,它封装在CBody类里面。工件受力数学模型的建立通过分析影响切削力的因素可建立切削加工过程中工件所受切削力的数学模型为:Fc=CFcapXFcfYFcKFc式中XF为背吃刀量ap对切削力Fc的影响指数。 数控切削代码的输入系统可输入的切削代码有:N,数控程序段的顺序号;G,准备功能指令;M,辅助功能;切削常量,包括切削转速、刀具所允许最大进给量、刀具背吃刀量、工件变形放大倍数、工件精度即工件所允许的最大变形量等。每写入一段数控代码,程序预处理器能够对输入代码进行语法检查,若未发现错误,将会在列表框内显示刀具的控制代码;如果有错误,将会出现提示消息框,警告用户重新输入此段代码或系统提示对所输入代码自动进行合理的调整。当用户发觉某段数据有错时,可选择错误段所在代码行并重新进行输入即可。加工过程的三维动态图形显示完成了仿真体素的三维建模后,在数控刀具代码的驱动下,系统便可根据有效的动显方法对切削加工过程进行动态图形仿真。利用VC和OpenGL开发的基于Windows的数控加工过程三维动态仿真系统,可对数控切削过程进行几何仿真和物理仿真。几何仿真和物理仿真的共同进行不仅可以实时检测到工件、刀具的形状变化,还可通过分析与比较工件的受力和变形来提高所加工工件的精度,并由此来推断数控代码的正误。该系统开发过程中采用了面向对象程序设计方法,使所开发的程序具有封装、继承、多态等优点,减少了程序的数据污染,增加了程序的易开发性、可读性和可维护性,大大提高了系统的编程效率。本系统界面友好、操作易学,通过与HURCOBMC20L数控机床结合使用效果良好,达到了预期的研究目标。