VC++铰链四杆机构运动仿真编程示例-对话框_第1页
VC++铰链四杆机构运动仿真编程示例-对话框_第2页
VC++铰链四杆机构运动仿真编程示例-对话框_第3页
VC++铰链四杆机构运动仿真编程示例-对话框_第4页
VC++铰链四杆机构运动仿真编程示例-对话框_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(34)VC+较链四杆机构运动仿真编程示例(基于对话框风格的程序实现)-較链四杆机构的运动分析原理如图1所示较链四杆机构。已知各杆长1/人,原动件的位置角孙,其角速度少为常数,且以逆时针方向为正。求解程序:首先建立机构的位置方程式,求出给定01时的构件2、3的位置角0,03。将位置方程分别对时间/求导一次、二次,得速度方程式和加速度方程式,并求得各构件的角速度他,令和角加速度乞,。1.位移分析为建立机构的位置方程式,首先画出各构件的矢量指向(如图1所示)。以X轴正向沿逆时针方向画出各杆的转角他及2,由矢量封闭回路ABCD写出矢量方程人+4=匚+3将上述矢量方程写成坐标方程/COS(P+人COS

2、(pr=l4COS&4+/3COS03“(3-1)sin0+人sin0=l4sin04+/3sin(p、上述方程的待求量为仍、冷。由于该方程为0,伤的非线性方程,为方便起见,在图1中加辅助矢量巫,即/,卩。在封闭矢量回路ABD中厶+/=/4(3-2)(3-3)厶COS01+/COS(P=lqCOS&4人sin0+/sin(p=l4sin04解得:I=J/f+/:_2*4COS(列_&4)/=l2sin-卩3)/jcotsin(0)少3=3smQ一血)(3-6)3.加速度分析将式(3-5)对时间求导,并注意到竽=。等y普2,得一厶血COS-/2CO2COS02_厶6sin02=一&少亍COS03

3、一3sin3一厶cosin(p、-12CO2sin(p2+12s2cos(p2=_&jsin(p、+/3zcos(p、同样采用坐标旋转法,可求得勺、一hC0COS(003)/三Q1COS(径一卩3)+厶;l2sing_3)厶:COS(0-)+/26?2一厶;COS(034)(3-8)厶sin(03一卩2)编程步骤1.在项目类型中选择MFCAppWizaid(exe),项目名取为“FouiEarn在location中指定一个工作路径用于放置程序文件。2.在程序向导的第1步选择建立一个基于对话框的应用程序,点击Finish结束向导。在对话框窗II布局控件。首先选中己有的静态文本TODO:在这里设置

4、对话框控件”,delete将其删除。从右侧控件工具栏中点击Picture”图片控件,在对话框空白区域拖出一个矩形窗II,右键点击控件边框,弹出属性对话框,设定其Type属性为Rectangle,color为white,其余不变。再点击GroupBox(成组框)控件,在对话框空白区域拖出一个矩形窗II,将其caption改为“输入四杆机构参数”,并在其中布置四个静态文本控件和四个编辑框控件,分别对应输入四杆机构的四个杆长尺寸。为各个编辑框控件指定控件的ID号:AB杆:IDC_AB;EC杆:IDC_BC:CD杆:IDC_CD;AD杆:IDC.ADoFCClatfffVxzacd冈PicturePr

5、opertiesGeneral|Styles|ExtendedStyles|ID:|DC_DISPLAY9VisibleDisabledIGroupFTabstog厂HelpIDType:Iniayc:Color:在成组框的卜方添加2个按钮,其caption分别为“开始运动”和“停止运动S其ID分别为LDC_START和LDC_STOP。将已有的确定”按钮拖至下方,caption改为退出”,并删除原有的“取消”按钮。这样对话框界面就设计好了。后续可以根据需要添加其他功能按钮等。为对话框中的控件添加相应的成员变量:点击菜单“Vuv-ClassWizardv,点击MemberVariables标签

6、项,为对话框中的控件添加对应的成员变量如下图所示。MessageMapsMemberVariablesAutomationActiveXEventsjClassInfoOK|CancelI四杆机构参数包括:各杆长尺寸ab,be,cd,ad,曲柄位置角、连杆位置角化、摇杆位置角卩3、机架倾角弘。在CFouiBarDlg类中添加成员变量angle1,angle2,angle3,sita4,分别对应为AB、EC、CD、AD四杆的位置角,类型均设置为double。初始化四杆机构的参数:在CFourBaiDlg类的OiiInitDialogO函数中添加初始化代码:/TODO:Addextramitial

7、izationherem_ab=100;m_bc=250;m_cd=200;m_ad=200;sita4=0;angle1=45;aiigle2=0;aiigle3=0;UpdateData(FALSE);将初始设定的杆长尺寸填入编辑框中显示在CFouiBaiDlg类中添加成员函数DrawFombar(),类型为void。将来在这个函数中实现四杆机构的参数计算及绘图。AddBesberFunctionPFI3在FourBaiDlg.cpp前面加上科学计算的头文件,这样就可以支持三角函数的计算。存includestdafx.hH存includeFourBaihn存includeHFourBaiD

8、lg.hnincludemath.h在CFouiBarDlg类的函数DiawFourbar()中添加语句,用来计算并画四杆机构图形。voidCFourBaiDlg:DrawFourbai()UpdateData(TRUE);获取对话框的图片控件的位置大小,并准备在其中绘图CRectm_rect;GetDlgItem(IDC_DISPLAY)-GetWindowRect(&m_rect);ScreenToClient(&DLect);获得绘图设备对彖,并设置绘图区域人小,范I制及原点CClientDCdc(this);dc.SetMapMode(MMJSOTROPIC);dc.SetWiiido

9、wExt(CSize(500,500);dc.SetViewpoitExt(m_rect.right,-m_iect.bottom);dc.SetViewpoilOig(ni_iect.right/24n_,rect.bottonV2+50);当参数改变时重绘窗口RediawWindow(&m_iect);计算运动参数,此部分内容与机械原理教材计算方法完全一致。doublepi=3.1415926;/定义圆周率兀doublebx,bv,cx,cy;较链E、C点的坐标doubleL.fai,aa,bb;定义中间变量aiiglel=anglel*pi/180;/W角度值转化为弧度值sita4=si

10、ta4*pi/180;计算辅助矢量BD的模与位置角L=sqrt(m_ab*m_ab+m_ad*m_ad-2*m_ab*m_ad*cos(anglel-sita4*pi/180);foi=atan(m_ad*sin(sita4)-m_ab*sin(aiiglel)/(m_ad*cos(sita4)-m_ab*cos(anglel);aa=(m_bc*m_bc-L*L-m_cd*m_cd)/(2*L*m_cd);angle3=acos(aa)+fai;bb=(L*sin(fhi)+m_cd*sin(angle3)/(L*cos(fai)+m_cd*cos(angle3);angle2=atan(b

11、b);if(bb0)iaiigle2=aiigle2+pi;计算B点和C点的坐标bx=m_ab*cos(anglel);by=m_ab*siii(anglel);ex=bx+m_bc*cos(angle2);cy=by+m_bc*siii(angle2);计算完成,卜面设定画图需要的参数CPenNewPenl;声明画笔对彖CPen*pOldPen;保存原先画笔的指针初始化实线、5像素宽的红色画笔NewPen1.CieatePen(PS_SOLID,5.RGB(255,0.0);/将画笔选入设备对彖pOldPen=dc.SelectObject(&NewPenl);画四杆机构,分成四个杆和对应的

12、较链进行绘制画AB杆dc.MoveTo(O.O);dc.LineTo(bx.by);画BC杆dc.MoveTo(bx,by);dc.LineTo(cx.cy);de.Ellipse(bx-10,by-10,bx+10,by+10);/画转动副B画CD杆dc.MoveTo(cx,cy);de.LineTo(m_ad,0);dc.Ellipse(cx-lO.cy-10,cx+10,cy+10);画转动副C画AD杆dc.MoveTo(O.O);de.LineTo(m_ad,0);dc.Elhpse(-10r1040J0);画转动副Adc.Ellipse(m_ad-l0rl0jn_ad+10,10);画转动副D画机架for(iiiti=l;i360)anglel=angle1-360;/当曲柄转动角度人于360度时,重新从0度开始旋转。anglel=angle1+2;/曲柄每次转动5度DrawFouibaiO;/调用四杆

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论