- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC铰链四杆机构运动仿真编程示例-对话框
VC++铰链四杆机构运动仿真编程示例
(基于对话框风格的程序实现)
一. 铰链四杆机构的运动分析原理
如图所示铰链四杆机构。已知各杆长,原动件的位置角其角速度为常数,且以逆时针方向为正。求解程序:首先建立机构的位置方程式,求出给定时的构件2、3的位置角。将位置方程分别对时间t求导一次、二次,得速度方程式和加速度方程式,并求得各构件的角速度和角加速度。1.位移分析
为建立机构的位置方程式,首先画出各构件的矢量指向(如图所示)。以x轴正向沿逆时针方向画出各杆的转角及,由矢量封闭回路ABCD写出矢量方程
将上述矢量方程写成坐标方程
(3-1)
上述方程的待求量为。由于该方程为的非线性方程,为方便起见,在图中加辅助矢量,即。在封闭矢量回路ABD中
及 (3-2)
解得: (3-3)
在封闭矢量回路BCD中
及
解得
(3-4)
注意:按正切函数求其角度时,应根据函数中分子分母的正负号判断所在象限后决定。而按余弦函数求其角度时,如上式中由的值求时,由于=,故有两个解。当用时为图3-3中所示的解,即C点在BD线之上;当用时为另一解,即C点位于BD线之下(图中未示出)。2.速度分析
将式(3-1)对t求导,注意到,得
(3-5)
为求解方便起见,采用坐标旋转方法。例如求时,可将式(3-5)中第一式的项消去,即将坐标系假想按逆时针方向旋转,此时该公式中各转角应加上(-),即可消去。按此法求得、的公式 (3-6)
3.加速度分析
将式(3-5)对时间t求导,并注意到,得
(3-7)
同样采用坐标旋转法,可求得、
(3-8)
二. 编程步骤
1. 在项目类型中选择MFC AppWizard(exe),项目名取为“FourBar”,在location中指定一个工作路径用于放置程序文件。
2. 在程序向导的第1步选择建立一个基于对话框的应用程序,点击“Finish”结束向导。
3. 在对话框窗口布局控件。首先选中已有的静态文本“TODO:在这里设置对话框控件”,delete将其删除。从右侧控件工具栏中点击“Picture”图片控件,在对话框空白区域拖出一个矩形窗口,右键点击控件边框,弹出属性对话框,设定其Type属性为Rectangle,color为white,其余不变。再点击Group Box(成组框)控件,在对话框空白区域拖出一个矩形窗口,将其caption改为“输入四杆机构参数”,并在其中布置四个静态文本控件和四个编辑框控件,分别对应输入四杆机构的四个杆长尺寸。
为各个编辑框控件指定控件的ID号:
AB杆:IDC_AB; BC杆:IDC_BC;
CD杆:IDC_CD; AD杆:IDC_AD。
4. 在成组框的下方添加2个按钮,其caption分别为“开始运动”和“停止运动”,其ID分别为IDC_START和IDC_STOP。将已有的“确定”按钮拖至下方,caption改为“退出”,并删除原有的“取消”按钮。这样对话框界面就设计好了。后续可以根据需要添加其他功能按钮等。
5. 为对话框中的控件添加相应的成员变量:点击菜单“View →ClassWizard” ,点击“Member Variables”标签项,为对话框中的控件添加对应的成员变量如下图所示。
6. 四杆机构参数包括:各杆长尺寸ab,bc,cd,ad,曲柄位置角φ1、连杆位置角φ2、摇杆位置角φ3、机架倾角θ4。在CFourBarDlg类中添加成员变量angle1,angle2,angle3,sita4,分别对应为AB、BC、CD、AD四杆的位置角,类型均设置为double。
7. 初始化四杆机构的参数:在CFourBarDlg类的OnInitDialog()函数中添加初始化代码:
// TODO: Add extra initialization here
m_ab=100;
m_bc=250;
m_cd=200;
m_ad=200;
sita4=0;
angle1=45;
angle2=0;
angle3=0;
UpdateData(FALSE); //将初始设定的杆长尺寸填入编辑框中显示
8. 在CFourBarDlg类中添加成员函数DrawFourbar(),类型为void。将来在这个函数中实现四杆机构的参数计算及绘图。
9. 在FourBarDlg.cpp前面加上科学计算的头文件,这样就可以支持三角函数的计算。
#include stdafx.h
#include FourBar.h
#include Fo
文档评论(0)