计算机辅助设计VB设计凸轮轮廓曲线_机械原理课程设计.doc_第1页
计算机辅助设计VB设计凸轮轮廓曲线_机械原理课程设计.doc_第2页
计算机辅助设计VB设计凸轮轮廓曲线_机械原理课程设计.doc_第3页
计算机辅助设计VB设计凸轮轮廓曲线_机械原理课程设计.doc_第4页
计算机辅助设计VB设计凸轮轮廓曲线_机械原理课程设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告课程设计题目:计算机辅助设计基于visual basic6.0设计凸轮轮廓曲线 学生姓名:席翔专 业:机械工程及其自动化班 级:机械1101班指导教师:刘衍平 2013年 07 月 0 1日计算机辅助设计vb设计凸轮轮廓曲线(本人课程设计现整理包括界面和代码,为其他做相关设计的同学提供参考)一、前言:凸轮机构是工程中用于实现机械化和自动化的一种重要驱动和控制机构,凸轮机构结构简单、紧凑,但能在实现控制功能的同时传递较大的功率。因此,凸轮机构在生产中具有无可替代的优越性,尤其在高速度、高精度传动与分度机构及引导机构中,更有突出的优点。本文通过凸轮机构运动参数理论计算,建立凸轮机构数学模型,利用visual basic 实现面向对象化的编程。首先,查找有关凸轮机构运动参数理论计算的书籍和资料,了解凸轮机构设计的方法,建立凸轮机构参数数学模型。然后,在visual basic 6.0 软件中,对凸轮机构参数设计进行编程,通过vb 编程画出凸轮机构的位移曲线、速度曲线、加速度曲线及凸轮轮廓曲线,并将vb 源程序打包成可执行程序。二、背景:凸轮机构是工程中用于实现机械化和自动化的一种重要驱动和控制机构,在轻工、纺织、食品、医药、印刷、标准零件制造、交通运输等领域运行的工作机械中获得广泛应用。为了提高产品的质量和生产率,对机械设备的性能指标提出更高的要求,就凸轮机构而言,必须进一步提高其设计水平,在解析法的基础上开展计算机辅助设计的研究和推广应用。凸轮机构结构简单、紧凑,但能在实现控制功能的同时传递较大的功率。因此,凸轮机构在生产中具有无可替代的优越性,尤其在高速度、高精度传动与分度机构及引导机构中,更有突出的优点。三、我国情况:近十多年来,我国无论是在凸轮机构的理论和应用研究,还是在凸轮机构的产品开发和制造方面,都已取得了很大的进步,就理论研究方面而言,已达到了世界先进水平。在凸轮机构制造方面,与发达国家相比,还有一定的差距。究其原因,一方面,我国的机械制造业的总体水平不高,缺乏精密的关键设备, 自主研制和改造的设备其精度、刚度和可靠性都比较差,在材质、热处理和工艺等方面还存在不少问题;另一方面,从研究单位到企业在制造方面所投入的财力和人力远远不足,也未引起有关部门的重视。如果这方面再不下大力气,我国的凸轮机构的研究水平还将长期落后于世界先进水平。四、凸轮机构运动参数:图2-1 所示为一对心直动推杆盘形凸轮机构。图中,以凸轮的回转轴心o 为圆心,以凸轮的最小半径0 r 为半径所作的圆称为基圆, 0 r 称为基圆半径。图示凸轮的轮廓由ab、bc、cd 及da 四段曲线组成,而且bc、da 两段为圆弧。凸轮与推杆在点a 接触时,推杆处于最低位置。当凸轮以等角速度 逆时针转动时,推杆在凸轮廓线ab 段的推动下,将由最低位置a 被推到最高位置b ,推杆运动的这一过程称为推程,而相应的凸轮转角0 称为推程运动角。凸轮继续转动,推杆与凸轮廓线的bc 段接触,由于bc 段为以凸轮轴心o 为圆心的圆弧,所以推杆将处于最高位置而静止不动,此一过程称为远休,与之相应的凸轮转角01 称为远休止角。而后,当推杆与凸轮廓线的cd 段接触时,它又由最高位置回到最低位置,推杆运动的这一过程称为回程,相应的凸轮转角0 称为回程运动角。最后,当推杆与凸轮廓线da 段接触时,由于da 段为以凸轮轴心o 为圆心的圆弧,所以推杆将在最低位置静止不动,此一过程称为近休,相应的凸轮转角02 称为近休止角。凸轮再继续转动时,推杆又重复上述过程。推杆在推程或回程中移动的距离h 称为推杆的行程。所谓推杆的运动规律,是指推杆在运动时,其位移s 、速度v 和加速度a 随时间t 变化的规律。五、解析法:用作图法设计凸轮廓线,概念清晰,简便易行;但误差大,效率低。对于精度要求较高且结果复杂的凸轮廓线,通常采用解析法设计。尤其是近年来随着计算机与数控加工技术的发展,解析法在凸轮廓线的设计中已得到了广泛的应用。用解析法设计凸轮廓线的关键问题是将凸轮廓线表示为数学方程,这一过程称为建立数学模型。用解析法设计一直动滚子从动件盘形凸轮机构。已知凸轮以等角速度 逆时针方向转动,凸轮基圆半径r0,滚子半径r,导向和凸轮轴心间的相对位置及偏距e,从动件的运动规律s s( )。(1) 理论廓线方程过凸轮的回转中心o 建立直角坐标系xoy,如图2-9 所示,设推程开始时从动件滚子中心处于b0 点,b0 即为凸轮理论廓线的起始点。当凸轮逆时针转过角时,应用反转法,假设凸轮不动,则从动件与导路一起沿 方向反转 角,处于b 位置。设对应此过程滚子中心按已知的运动规律产生的位移为s=s。由作图法可知此时滚子中心点b 即为凸轮理论廓线上的点。b 点在坐标系中的表达式为:六、vb简介:visual basic(简称vb)是面向对象可视化的程序设计语言,具有良好的交互式界面。它使用起来操作方便、简单易懂,即使用户从来没有接触过编程,但只要会使用windows操作系统,就可以很快学会怎样使用visual basic 去开发一个简单但功能完整的windows应用程序13-17。传统的程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际效果,只有在运行程序时才能观察到。如果对界面的效果不满意,就必须回到程序中重新设计,这往往需要反复多次,从而大大降低了编程效率。vb 采用了可视化的程序设计方法,利用系统提供的大量可视化控件,可以直接绘制用户图形界面,并可直观、动态地调整界面,不必再用大量程序代码来描述界面元素的外观和位置,从而克服了传统编辑模式,提高了编程效率。用visual basic 开发程序,就好比盖房子,系统提供的可视化控件好比盖房子用的砖和瓦等原料,通过合理的搭配组合,可以方便地构造出所需的应用程序。vb 综合运用了basic 语言和可视化设计工具,巧妙地将windows 应用程序编程的复杂性封装起来,既没有牺牲windows 应用程序的特点,又提供了编程的简易性。visual basic 的程序开发过程基本可分为八个步骤: 在vb 中创建一个新的工程; 建立应用程序窗体(即用户界面); 在窗体中绘制所需的控制对象; 设置窗体和控件的属性; 为需要响应用户操作的对象编写事件过程(即编程); 运行及调试应用程序; 保存工程; 编译工程,生生成可执行的应用程序。七、界面设计:说到程序当然要考虑两个方面的因素,第一就是代码,第二就是界面,我们力求界面友好,程序清晰客观。下面是界面部分:(1)首先双击运行程序出现如下界面:(2)针对查看3-4题目及位移线图:(3)根据题中数据进行参数设置:(4)第一步:按比例画位移线图、基圆和偏距圆,并标明各运动角:(5)第二步:延长从动件,与偏距圆相切,以此为始点在偏距圆上做出各运动角:(6)第三步:将推程运动角和回程运动角分成若干等份,画等分线与偏距圆交点的切线,与基圆相交:(7)第四步:延长各切线,延长线段长度与位移线图对应等分线段长度相等:(8)第五步:顺次光滑连接各点,得凸轮理论轮廓曲线:(9)第六步:以理论轮廓线上各点为圆心,以滚子半径为半径作圆,所得包络线为凸轮实际轮廓曲线:(10)第七步:可以进行动画演示:八、代码设计:form1的代码:option explicitprivate sub command1_click() form2.showend subprivate sub command2_click() form1.hideend subform2的代码:option explicitprivate sub command1_click() form2.hideend subfrm等分的代码:private sub command1_click() i等分dt0 = val(frm等分.text1.text) i等分dt2 = val(frm等分.text2.text) unload meend subfrm对心设计的代码:option explicitprivate sub cmdfifth_click() dim i as integer text1.text = 5.以理论轮廓线上各点为圆心,以滚子半径为半径作圆,所得包络线为凸轮实际轮廓曲线。 mainfrm.picture1.drawwidth = 1 for i = 0 to 360 step 10 mainfrm.picture1.circle (pointxy(i, 1), pointxy(i, 2), r1, &hffffc0 next mainfrm.picture1.drawwidth = 3 mainfrm.picture1.pset (factpxy(0, 1), factpxy(0, 2) for i = 1 to 360 step 1 if i = 0 then mainfrm.picture1.line -(factpxy(i, 1), factpxy(i, 2), &h80ff& nextend subprivate sub cmdsixth_click() unload meend subprivate sub command_click() mainfrm.init1 text1.text = 1.按比例画位移线图和基圆,并标明各运动角。 first0_step first_step end subprivate sub command2_click() dim i as integer text1.text = 2.将推程运动角和回程运动角分成若干等份。 if i等分dt0 0 then for i = 1 to i等分dt0 unload mainfrm.lin等分dt0(i) unload mainfrm.lin基圆dt0(i) unload mainfrm.lin凸轮dt0(i) next end if if i等分dt2 0 then for i = 1 to i等分dt2 unload mainfrm.lin等分dt2(i) unload mainfrm.lin基圆dt2(i) unload mainfrm.lin凸轮dt2(i) next end if frm等分.show vbmodal if i等分dt0 * i等分dt2 = 0 then exit sub second_stepend subprivate sub command3_click() text1.text = 3.延长基圆上各等分线,延长线段长度与位移线图对应等分线段长度相等。 third_stepend subprivate sub command4_click() if r1 = 0 then text1.text = 4.顺次光滑连接各点,得凸轮轮廓。 mainfrm.picture1.drawwidth = 3 else text1.text = 4.顺次光滑连接各点,得凸轮理论轮廓曲线。 mainfrm.picture1.drawwidth = 1 end if forth_stepend subpublic sub first0_step() dim i as integer mainfrm.picture1.cls 画回转中心 x0 = 230: y0 = 300 mainfrm.picture1.circle (x0, y0), 10, &hffff& 画坐标轴 mainfrm.linx.y1 = pointxy(0, 2): mainfrm.linx.y2 = pointxy(0, 2) mainfrm.liny.y1 = pointxy(0, 2): mainfrm.liny.y2 = pointxy(0, 2) + 200 o(1) = linx.x1: o(2) = linx.y1 mainfrm.label0.top = o(2) - 10 mainfrm.lab_t.top = o(2) + 30 画基圆 mainfrm.picture1.drawwidth = 1 mainfrm.picture1.circle (x0, y0), r0, &hff& 位移线图 mainfrm.picture1.drawwidth = 3 for i = 1 to 360 if i = 1 then mainfrm.picture1.pset (o(1), o(2), &hff& mainfrm.picture1.line -(xy(i, 1), xy(i, 2), &hff& next mainfrm.line1.visible = true: mainfrm.line2.visible = true mainfrm.label1.visible = true mainfrm.lineh1.visible = true mainfrm.lab_h.visible = true mainfrm.lineh2.visible = true mainfrm.line3.visible = true mainfrm.line4.visible = true mainfrm.label3.visible = true mainfrm.line5.visible = true mainfrm.label4.visible = true 画偏距圆 mainfrm.picture1.drawwidth = 1 mainfrm.picture1.circle (x0, y0), e, &hff&end subpublic sub first_step() mainfrm.picture1.line (x0, y0)-(pointxy(0, 1), pointxy(0, 2), &hffff00 mainfrm.picture1.line (x0, y0)-(pointxy(0, 1), pointxy(0, 2), &hff00ff mainfrm.picture1.line (x0, y0)-(pointxy(0 + 1, 1), pointxy(0 + 1, 2), &hff00ff mainfrm.picture1.line (x0, y0)-(pointxy(0 + 1 + 2, 1), pointxy(0 + 1 + 2, 2), &hff00ffend subpublic sub second_step() dim j as integer dim i as integer for i = 1 to i等分dt0 load mainfrm.lin等分dt0(i) load mainfrm.lin基圆dt0(i) load mainfrm.lin凸轮dt0(i) next for i = 1 to i等分dt2 load mainfrm.lin等分dt2(i) load mainfrm.lin基圆dt2(i) load mainfrm.lin凸轮dt2(i) next j = 0 / i等分dt0 for i = 1 to i等分dt0 mainfrm.lin等分dt0(i).x1 = xy(i * j, 1) mainfrm.lin等分dt0(i).x2 = xy(i * j, 1) mainfrm.lin等分dt0(i).y1 = xy(i * j, 2) mainfrm.lin等分dt0(i).y2 = mainfrm.linx.y1 mainfrm.lin等分dt0(i).visible = true mainfrm.lin基圆dt0(i).x1 = 基圆xy(i * j, 1) mainfrm.lin基圆dt0(i).x2 = 偏距圆xy(i * j, 1) mainfrm.lin基圆dt0(i).y1 = 基圆xy(i * j, 2) mainfrm.lin基圆dt0(i).y2 = 偏距圆xy(i * j, 2) mainfrm.lin基圆dt0(i).visible = true mainfrm.lin凸轮dt0(i).x1 = pointxy(i * j, 1) mainfrm.lin凸轮dt0(i).x2 = 基圆xy(i * j, 1) mainfrm.lin凸轮dt0(i).y1 = pointxy(i * j, 2) mainfrm.lin凸轮dt0(i).y2 = 基圆xy(i * j, 2) lin凸轮dt0(i).visible = true next i j = 2 / i等分dt2 for i = 1 to i等分dt2 mainfrm.lin等分dt2(i).x1 = xy(0 + 1 + (i - 1) * j, 1) mainfrm.lin等分dt2(i).x2 = xy(0 + 1 + (i - 1) * j, 1) mainfrm.lin等分dt2(i).y1 = xy(0 + 1 + (i - 1) * j, 2) mainfrm.lin等分dt2(i).y2 = mainfrm.linx.y1 mainfrm.lin等分dt2(i).visible = true mainfrm.lin基圆dt2(i).x1 = 基圆xy(0 + 1 + (i - 1) * j, 1) mainfrm.lin基圆dt2(i).x2 = 偏距圆xy(0 + 1 + (i - 1) * j, 1) mainfrm.lin基圆dt2(i).y1 = 基圆xy(0 + 1 + (i - 1) * j, 2) mainfrm.lin基圆dt2(i).y2 = 偏距圆xy(0 + 1 + (i - 1) * j, 2) mainfrm.lin基圆dt2(i).visible = true mainfrm.lin凸轮dt2(i).x1 = pointxy(0 + 1 + (i - 1) * j, 1) mainfrm.lin凸轮dt2(i).x2 = 基圆xy(0 + 1 + (i - 1) * j, 1) mainfrm.lin凸轮dt2(i).y1 = pointxy(0 + 1 + (i - 1) * j, 2) mainfrm.lin凸轮dt2(i).y2 = 基圆xy(0 + 1 + (i - 1) * j, 2) lin凸轮dt2(i).visible = true next i end subpublic sub third_step() mainfrm.timer2.enabled = trueend subpublic sub forth_step() mainfrm.timer2.enabled = false me.enabled = false mainfrm.cmd设置.enabled = false mainfrm.cmdreset.enabled = false mainfrm.cmd继续.enabled = false mainfrm.cmd设计.enabled = false mainfrm.timer3.enabled = trueend subfrm偏置设计的代码:option explicitprivate sub cmdsixth_click() dim i as integer text1.text = 6.以理论轮廓线上各点为圆心,以滚子半径为半径作圆,所得包络线为凸轮实际轮廓曲线。 mainfrm.picture1.drawwidth = 1 for i = 0 to 360 step 10 mainfrm.picture1.circle (pointxy(i, 1), pointxy(i, 2), r1, &hffffc0 next mainfrm.picture1.drawwidth = 3 mainfrm.picture1.pset (factpxy(0, 1), factpxy(0, 2) for i = 1 to 360 step 1 mainfrm.picture1.line -(factpxy(i, 1), factpxy(i, 2), &h80ff& nextend subprivate sub command_click() text1.text = 1.按比例画位移线图、基圆和偏距圆,并标明各运动角。 first0_step end subprivate sub command1_click() text1.text = 2.延长从动件,与偏距圆相切,以此为始点在偏距圆上作出各运动角。 first_stepend subprivate sub command2_click() dim i as integer text1.text = 3.将推程运动角和回程运动角分成若干等份,画等分线与偏距圆交点的切线,与基圆相交。 if i等分dt0 0 then for i = 1 to i等分dt0 unload mainfrm.lin等分dt0(i) unload mainfrm.lin基圆dt0(i) unload mainfrm.lin凸轮dt0(i) next end if if i等分dt2 0 then for i = 1 to i等分dt2 unload mainfrm.lin等分dt2(i) unload mainfrm.lin基圆dt2(i) unload mainfrm.lin凸轮dt2(i) next end if frm等分.show vbmodal if i等分dt0 * i等分dt2 = 0 then exit sub second_stepend subprivate sub command3_click() text1.text = 4.延长各切线,延长线段长度与位移线图对应等分线段长度相等。 third_stepend subprivate sub command4_click() if r1 = 0 then text1.text = 5.顺次光滑连接各点,得凸轮轮廓。 mainfrm.picture1.drawwidth = 3 else text1.text = 5.顺次光滑连接各点,得凸轮理论轮廓曲线。 mainfrm.picture1.drawwidth = 1 end if forth_stepend subpublic sub first0_step() dim i as integer mainfrm.picture1.cls 画回转中心 mainfrm.picture1.drawwidth = 1 x0 = 230: y0 = 300 mainfrm.picture1.circle (x0, y0), 10, &hffff& 画坐标轴 mainfrm.linx.y1 = pointxy(0, 2): mainfrm.linx.y2 = pointxy(0, 2) mainfrm.liny.y1 = pointxy(0, 2): mainfrm.liny.y2 = pointxy(0, 2) + 200 o(1) = linx.x1: o(2) = linx.y1 mainfrm.label0.top = o(2) - 10 mainfrm.lab_t.top = o(2) + 30 画基圆 mainfrm.picture1.drawwidth = 1 mainfrm.picture1.circle (x0, y0), r0, &hff& 位移线图 mainfrm.picture1.drawwidth = 3 for i = 1 to 360 if i = 1 then mainfrm.picture1.pset (o(1), o(2), &hff& mainfrm.picture1.line -(xy(i, 1), xy(i, 2), &hff& next mainfrm.line1.visible = true: mainfrm.line2.visible = true mainfrm.label1.visible = true mainfrm.lineh1.visible = true mainfrm.lab_h.visible = true mainfrm.lineh2.visible = true mainfrm.line3.visible = true mainfrm.line4.visible = true mainfrm.label3.visible = true mainfrm.line5.visible = true mainfrm.label4.visible = true 画偏距圆 mainfrm.picture1.drawwidth = 1 mainfrm.picture1.circle (x0, y0), e, &hff&end subpublic sub first_step() mainfrm.picture1.drawwidth = 2 mainfrm.picture1.line (pointxy(0, 1), pointxy(0, 2)-(偏距圆xy(0, 1), 偏距圆xy(0, 2), &hffff00 mainfrm.picture1.drawwidth = 1 mainfrm.picture1.line (x0, y0)-(偏距圆xy(0, 1), 偏距圆xy(0, 2), &hffff00 mainfrm.picture1.line (x0, y0)-(偏距圆xy(0, 1), 偏距圆xy(0, 2), &hffff00 mainfrm.picture1.line (x0, y0)-(偏距圆xy(0 + 1, 1), 偏距圆xy(0 + 1, 2), &hffff00 mainfrm.picture1.line (x0, y0)-(偏距圆xy(0 + 1 + 2, 1), 偏距圆xy(0 + 1 + 2, 2), &hffff00 end subpublic sub second_step() dim j as integer dim i as integer for i = 1 to i等分dt0 load mainfrm.lin等分dt0(i) load mainfrm.lin基圆dt0(i) load mainfrm.lin凸轮dt0(i) next for i = 1 to i等分dt2 load mainfrm.lin等分dt2(i) load mainfrm.lin基圆dt2(i) load mainfrm.lin凸轮dt2(i) next j = 0 / i等分dt0 for i = 1 to i等分dt0 mainfrm.lin等分dt0(i).x1 = xy(i * j, 1) mainfrm.lin等分dt0(i).x2 = xy(i * j, 1) mainfrm.lin等分dt0(i).y1 = xy(i * j, 2) mainfrm.lin等分dt0(i).y2 = mainfrm.linx.y1 mainfrm.lin等分dt0(i).visible = true mainfrm.picture1.line (x0, y0)-(偏距圆xy(i * j, 1), 偏距圆xy(i * j, 2), &hffffff mainfrm.lin基圆dt0(i).x1 = 基圆xy(i * j, 1) mainfrm.lin基圆dt0(i).x2 = 偏距圆xy(i * j, 1) mainfrm.lin基圆dt0(i).y1 = 基圆xy(i * j, 2) mainfrm.lin基圆dt0(i).y2 = 偏距圆xy(i * j, 2) mainfrm.lin基圆dt0(i).visible = true mainfrm.lin凸轮dt0(i).x1 = pointxy(i * j, 1) mainfrm.lin凸轮dt0(i).x2 = 基圆xy(i * j, 1) mainfrm.lin凸轮dt0(i).y1 = pointxy(i * j, 2) mainfrm.lin凸轮dt0(i).y2 = 基圆xy(i * j, 2) lin凸轮dt0(i).visible = true next i j = 2 / i等分dt2 for i = 1 to i等分dt2 mainfrm.lin等分dt2(i).x1 = xy(0 + 1 + (i - 1) * j, 1) mainfrm.lin等分dt2(i).x2 = xy(0 + 1 + (i - 1) * j, 1) mainfrm.lin等分dt2(i).y1 = xy(0 + 1 + (i - 1) * j, 2) mainfrm.lin等分dt2(i).y2 = mainfrm.linx.y1 mainfrm.lin等分dt2(i).visible = true mainfrm.picture1.line (x0, y0)-(偏距圆xy(0 + 1 + (i - 1) * j, 1), _ 偏距圆xy(0 + 1 + (i - 1) * j, 2), &hffffff mainfrm.lin基圆dt2(i).x1 = 基圆xy(0 + 1 + (i - 1) * j, 1) mainfrm.lin基圆dt2(i).x2 = 偏距圆xy(0 + 1 + (i - 1) * j, 1) mainfrm.lin基圆dt2(i).y1 = 基圆xy(0 + 1 + (i - 1) * j, 2) mainfrm.lin基圆dt2(i).y2 = 偏距圆xy(0 + 1 + (i - 1) * j, 2) mainfrm.lin基圆dt2(i).visible = true mainfrm.lin凸轮dt2(i).x1 = pointxy(0 + 1 + (i - 1) * j, 1) mainfrm.lin凸轮dt2(i).x2 = 基圆xy(0 + 1 + (i - 1) * j, 1) mainfrm.lin凸轮dt2(i).y1 = pointxy(0 + 1 + (i - 1) * j, 2) mainfrm.lin凸轮dt2(i).y2 = 基圆xy(0 + 1 + (i - 1) * j, 2) lin凸轮dt2(i).visible = true next i mainfrm.picture1.line (偏距圆xy(0 + 1 + 2, 1), 偏距圆xy(0 + 1 + 2, 2) _ -(基圆xy(0 + 1 + 2, 1), 基圆xy(0 + 1 + 2, 2), &hffffffend subpublic sub third_step() mainfrm.timer2.enabled = trueend subpublic sub forth_step() mainfrm.timer2.enabled = false me.enabled = false mainfrm.cmd设置.enabled = false mainfrm.cmdreset.enabled = false mainfrm.cmd继续.enabled = false mainfrm.cmd设计.enabled = false mainfrm.timer3.enabled = trueend subfrm设置的代码:option explicitprivate sub cmdclose_click() unload meend subprivate sub cmd确定_click() r0 = txt_r0 h = txt_h 0 = txt_0 1 = txt_1 2 = txt_2 3 = txt_3 r1 = txt_r1 e = txt_e if 0 + 1 + 2 + 3 360 then msgbox 给定的四个运动角之和应为360度 txt_3 = 360 - 0 - 1 - 2 txt_3.setfocus end if call mainfrm.init1 end subprivate sub form_load() txt_r0 = r0 txt_h = h txt_0 = 0 txt_1 = 1 txt_2 = 2 txt_3 = 3 txt_r1 = r1 txt_e = eend subfrm凸轮设计的代码:option explicitdim ii as integerdim jj as integerdim as singlepublic sub cmdreset_click() call init1end subprivate sub cmd继续_click() dim i as integer if = 0 then line1.visible = false line2.visible = false line3.visible = false line4.visible = false line5.visible = false lineh1.visible = false lineh2.visible = false label1.visible = false label2.visible = false label3.visible = false label4.visible = false lab_h.visible = false if i等分dt0 0 then for i = 1 to i等分dt0 lin凸轮dt0(i).visible = false lin基圆dt0(i).visible = false lin等分dt0(i).visible = false next end if if i等分dt2 0 then for i = 1 to i等分dt2 lin凸轮dt2(i).visible = false lin基圆dt2(i).visible = false lin等分dt2(i).visible = false next end if end if cmd继续.caption = 暂停 if timer1.enabled then cmd继续.caption = 继续 timer1.enabled = not timer1.enabledend subprivate sub cmd设计_click() dim i as integer cls call init1 if i等分dt0 0 then for i = 1 to i等分dt0 lin凸轮dt0(i).visible = false lin基圆dt0(i).visible = false lin等分dt0(i).visible = false next end if if i等分dt2 0 then for i = 1 to i等分dt2 lin凸轮dt2(i).visible = false lin基圆dt2(i).visible = false lin等分dt2(i).visible = false next end if if e = 0 then if r1 = 0 then frm对心设计.cmdfifth.enabled = false frm对心设计.show else if r1 = 0 then frm偏置设计.cm

温馨提示

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

评论

0/150

提交评论