机构运动简图测绘虚拟仿真实验的设计与开发
2015-11-30何玉林陈磊磊
何玉林,陈磊磊
(桂林电子科技大学,广西 桂林 541004)
机构运动简图测绘实验是《机械原理》课程的一个必开实验项目。由于实验用的机构模型在使用的过程中有的已经损坏,再加上种类和数量少,又缺少一些新型的机构,这在一定程度上影响了实验的深度和教学效果[1]。而利用计算机技术进行虚拟实验,既可以降低实验成本,又可以提高实验效果。本文根据机构运动简图测绘实验的要求,设计开发了机构运动简图测绘虚拟实验系统,让学生在计算机上就可以自主地完成实验的相关内容。
1 虚拟实验系统的设计思路
本系统是基于机构运动简图测绘实验的实验目的、实验要求和实验内容进行设计和开发的。该实验是要求学生学会撇开机构的外形,掌握各种机构模型运动简图的测绘方法,并分析和计算机构的自由度,以及各种运动副在机构中的正确表达方法。
绘制机构运动简图的基本步骤是:①找出结构的原动件,手动机构,观察机构的运动特性,确定构件数和运动副的种类;②选择一个合适的平面,确定机架点的相对位置;③任意假定原动件的位置,从原动件出发,沿着传递路线,将构件用运动副的符号连接起来,完成运动简图的草图;④进行机构尺寸测量,并按照一定的比例,将草图画成正式的运动简图;⑤进行自由度计算,验证所画机构运动简图是否正确。
基于以上内容,本系统的设计应该包括实验帮助、机构选型、机构运动演示、机构运动简图测绘、自由度计算、检查和提交实验报告保存模块等。系统采用Delphi软件编程和Solid Works软件绘图仿真共同完成和实现。
2 系统各模块功能的实现
2.1 主窗体模块
本系统设计了一个主窗体,是系统的启动窗体,具有机构选型和提供帮助文件的功能,供学生进行机构选型和查看帮助文件。在窗体里设计了多个按钮,将帮助文件和机构模型用工具栏控件在主窗体中显示出来。通过Delphi软件编程实现对Solid Works文件的调用,可以对测绘机构模型随时添加和更新,学生做实验时只要选择相应的机构名称就可以开始该机构运动仿真和简图测绘。目前开发出来的机构选型25种。
机构选型源代码:
begin
NiuTouBao.Show;
NiuTouBao.SetJGStyle(1);//机构的类型 1牛头刨 2铆钉机 3抛光机4双冲头机构……;
FigForm.SetJGStyle(1);
end;
机构运动演示设置部分源代码:
begin
if(MediaPlayer1.DeviceID<>0)then
begin
if(MediaPlayer1.Mode=mpplaying)then
begin MediaPlayer1.Stop; end
end;
case JiGouStyle of
1:begin MediaPlayer1.FileName:='牛头刨床.avi'; NiuTouBao.Caption:='牛头刨床 ';end;
2:begin MediaPlayer1.FileName:='铆钉机.avi';NiuTouBao.Caption:='铆钉机 '; end;
3:begin
…… //新增
end;
主窗体中的“帮助”功能主要内容包括软件使用说明和实验指导书的内容,见图1中的“帮助”。将这些内容编辑成PDF文档,自成一体,用Delphi软件编程进行调用,界面整洁、美观,操作方便,当操作其他窗体如机构运动仿真、绘图时,也便于学生查看,不影响操作。选择帮助文件的程序代码:
procedure TForm3.FormShow(Sender:TObject);
begin
if typ=2 then
PDF1.LoadFile('机构运动简图绘虚拟仿真实验指导书.pdf')
else if typ=1 then
PDF1.LoadFile('机械原理虚拟实验平台使用说明.pdf');
end;
2.2 机构运动简图测绘模块
每个机构模型测绘的功能界面设计如图1所示,主要包括机构运动演示、基本图元绘制工具、绘图、分析检查、自由度计算等。
图1 机构运动简图绘制界面
机构运动演示是通过Delphi软件编程,调用Solid Works软件绘制好的机构三维图,可以实现机构运动的仿真,还可以实现运动快进、暂停等控制,从不同的角度观察机构的运动情况,便于绘图平面的选择,如图1中的①所示。
基本图元绘制工具。基本图元是指绘制机构运动简图时一次操作所绘制的最小图形,一方面是考虑利用它们能够灵活绘制出机构运动简图、方便结构表达、数据计算、存储等,另一方面图元选择要遵守“快速性、直观性、可视性、方便性、可扩展性”的基本原则[3],因此,本系统选择了构件和运动副作为基本图元,符合机构运动简图的表达方式,可以提高绘制机构运动简图的效率和灵活性,通过编程也容易实现。系统中的基本图元共有15种如图1中的②所示。
机构运动简图绘制如图1中的③所示,用鼠标点击②相应的图元,即可在绘图区域绘制每一种机构的机构运动简图,可以实现捕捉、导航、删除、清屏、退出当前操作、撤销上一步等功能;其测绘功能可以利用Solid Works软件的测量工具直接进行测量。
2.3 数据后处理
绘制完图后,可以进行在线检查、保存打印、分析等,还可以对原来绘制的机构运动简图进行加载,如图1中的④所示;输入构件数、高副数、低副数等,即可计算自由度,如图1中的⑤所示。
绘图检查程序代码:
begin
//绘图检查
zw:=FigForm.PanDuan();
if zw=true then
showMessage('perfect!恭喜你,绘制的机构简图是正确的')
else
ShowMessage('很遗憾,机构简图绘制有误 ');
end;
结果保存程序代码:
begin
//FigForm.DaYin();
//保存图片 //打印
Hand:=FindWindow(nil,'牛头刨床 ');
GetWindowRect(hand,rect);
ScreenCap(rect.Left+680,rect.Top+80,rect.Left+666+440,rect.Top+481);//
LeftPos,TopPos,RightPos,BottomPos:integer
end;
3 结束语
本文开发了基于Delphi软件编程和Solid Works绘图软件的机构运动简图测绘虚拟仿真实验教学系统,实验系统已经在2013级机械电子工程专业学生中得到应用,取得了良好的实验效果。学生根据帮助文件,可以在课堂外自主进行实验,通过动画演示,可以了解一些新的机构,解决了实验模型更新的问题,在提高学生动手能力的同时,可以提高学生的观察和思维能力,从而提高学生对机械原理课程的学习兴趣。
[1]马晓丽.机构运动简图测绘虚拟实验系统的研制[J].机械,2010,27(5):33-34.
[2]宋一兵,赵景波,李春艳,等.Delphi7基础教程[M].北京:机械工业出版社,2005.
[3]王成志,黄凯旋,陈飞燕.计算机可视化绘制机构及其动画系统的研究[J].机械设计与制造,2011,(3):24-25.