background image

动产生零水平并予以保存;②输入、保存试验所用 3 把铣刀对应的铣刀齿数;③随时添
加、删除和保存参与试验的材料名称。
上述功能由 CTestCondition 类实现。为在图形控件中输入各因素水平值,从 CStatic 类继
承 出 一 个 子 类 CtestRequire 。 通 过 单 击 鼠 标 左 键 , 在 该 继 承 类 的 消 息 响 应 函 数
OnLButtonDown()中加入自编的网格控件代码,可在输入和编辑记录位置动态地产生编
辑框,待用户输入完成后,自动销毁编辑框并保存数据。具体实现方法是通过读取鼠标

在图形控件中单击位置的坐标,用 if…else”语句实现不同的坐标对应不同的条件代码,
即可将在不同位置输入的数据传送到对应的数据存储单元中,同时自编的网格控件可
保证软件的稳定性和安全性。

系统采用左右互移方式添加或删除试件材料名称。用户单击 移入> >”键,对应的消息
响应函数代码即可获取备选材料组合框中的字符串,并将其添加到试件材料列表框。当

单击 移出< <”

键时,则可从试件材料列表框中删除所选项目。整个操作由单击 移入> 

>”

、移出< <”键时激发的 BNCLICKED 消息完成。传送数据由结构体 MaterialProperty 的

字符串列表成员 CStringListmaterial 实现。

 

试验设计子系统
试验设计子系统构成该软件的主窗口界面,分布着所有功能按钮、试件材料组合框和铣
削分力组合框,并使各子系统之间协同工作。同时它也是显示试验计划表、调入采集的
铣削力数据和显示回归方程系数的窗口载体。子系统功能由主窗口类 CMillingDlg 实现。
每个按钮对应一个消息响应函数,包括新建 OnNew()、打开 OnOpen()、保存 OnSave()、打
印 OnPrint()、退出 OnQuit()、调入数据 OnCallData()、数据处理 OnDataHandle()、经验公式
OnExperienceFormula() 、 显 著 性 检 验 OnSignificanceLevel() 和 失 拟 检 验
OnMatchCapability()。
主窗口类中的数据显示由试验设计类(CTestDesign)承担,它继承自静态类 CStatic,具
有如下功能:①将试验条件类(CTestCondition)中输入的试件名称及各因素水平值传递
到该类并显示;②选择试验材料,调入对应的试验数据并显示;③在手工输入数据模
式下可方便地编辑力值数据,进行输入数据的合法性检查;④将数据处理得到的回归
方程系数传递到该类并显示。
由于在 CTestDesign 中需引用 CMillingDlg 的成员数组 level[12],而 CmillingDlg 又是
CTestDesign   的 父 类 , 因 此 需 要 在 该 类 中 获 得 父 类 指 针 , 其 代 码 为
(CMillingDlg*)pMillingDlg=(CMillingDlg*)(this-> GetParent()),其中 pMillingDlg 是所要
获得的父类指针,因此用代码 pMillingDlg->level[i]即可方便地访问其中任意一个元素,
这是类间数据传递的一种有效方法。
本软件实现了输入试件名称等相关信息的共享。当在试验条件对话框中输入完各因素水
平值并退出后,主窗口中原来显示的编码值(1,-1,0)即被实际值所替代和显示,因此
便于在试验现场进行数据处理。

 

数据处理子系统
数据处理子系统采用正交回归算法处理铣削力试验数据,具有如下功能:①从文件调
入(或手工输入)试验数据并进行合法性检验;②用回归分析法对铣削力数据进行处理,
求得回归方程的系数;③对回归方程进行显著性检验;④对回归方程进行失拟检验;
⑤求解各种试验材料的经验公式。

定义了材料属性类 CMaterialProperty,将每种试验材料实例化为该类的一个对象,并将
调入的试验数据经处理后得到的中间结果和最终结果(包括回归方程的系数 bj、经验公