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

付费下载

下载本文档

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

文档简介

1、课程设计报告Basic6.0课程设计题目:计算机辅助设计基于Visual设计凸轮轮廓曲线学生姓名:席翔专业:机械工程及其自动化班级:机械1101班指导教师:刘衍平2013年07月01日计算机辅助设计VB设计凸轮轮廓曲线(本人课程设计现整理包括界面和代码,为其他做相关设计的同学提供参考)一、前言:凸轮机构是工程中用于实现机械化和自动化的一种重要驱动和控制机构,凸轮机构结构简单、紧凑,但能在实现控制功能的同时传递较大的功率。因此,凸轮机构在生产中具有无可替代的优越性,尤其在高速度、高精度传动与分度机构及引导机构中,更有突出的优点。本文通过凸轮机构运动参数理论计算,建立凸轮机构数学模型,利用Visu

2、alBasic实现面向对象化的编程。首先,查找有关凸轮机构运动参数理论计算的书籍和资料,了解凸轮机构设计的方法,建立凸轮机构参数数学模型。然后,在VisualBasic6.0软件中,对凸轮机构参数设计进行编程,通过VB编程画出凸轮机构的位移曲线、速度曲线、加速度曲线及凸轮轮廓曲线,并将VB源程序打包成可执行程序。二、背景:凸轮机构是工程中用于实现机械化和自动化的一种重要驱动和控制机构,在轻工、纺织、食品、医药、印刷、标准零件制造、交通运输等领域运行的工作机械中获得广泛应用。为了提高产品的质量和生产率,对机械设备的性能指标提出更高的要求,就凸轮机构而言,必须进一步提高其设计水平,在解析法的基础上

3、开展计算机辅助设计的研究和推广应用。凸轮机构结构简单、紧凑,但能在实现控制功能的同时传递较大的功率。因此,凸轮机构在生产中具有无可替代的优越性,尤其在高速度、高精度传动与分度机构及引导机构中,更有突出的优点。三、我国情况:近十多年来,我国无论是在凸轮机构的理论和应用研究,还是在凸轮机构的产品开发和制造方面,都已取得了很大的进步,就理论研究方面而言,已达到了世界先进水平。在凸轮机构制造方面,与发达国家相比,还有一定的差距。究其原因,一方面,我国的机械制造业的总体水平不高,缺乏精密的关键设备,自主研制和改造的设备其精度、刚度和可靠性都比较差,在材质、热处理和工艺等方面还存在不少问题;另一方面,从研

4、究单位到企业在制造方面所投入的财力和人力远远不足,也未引起有关部门的重视。如果这方面再不下大力气,我国的凸轮机构的研究水平还将长期落后于世界先进水平。四、凸轮机构运动参数:图2-1所示为一对心直动推杆盘形凸轮机构。图中,以凸轮的回转轴心O为圆心,以凸轮的最小半径0r为半径所作的圆称为基圆,0r称为基圆半径。图示凸轮的轮廓由AB、BC、CD及DA四段曲线组成,而且BC、DA两段为圆弧。凸轮与推杆在点A接触时,推杆处于最低位置。当凸轮以等角速度逆时针转动时,推杆在凸轮廓线AB段的推动下,将由最低位置A被推到最高位置B,推杆运动的这一过程称为推程,而相应的凸轮转角0称为推程运动角。凸轮继续转动,推杆

5、与凸轮廓线的BC段接触,由于BC段为以凸轮轴心O为圆心的圆弧,所以推杆将处于最高位置而静止不动,此一过程称为远休,与之相应的凸轮转角01称为远休止角。而后,当推杆与凸轮廓线的CD段接触时,它又由最高位置回到最低位置,推杆运动的这一过程称为回程,相应的凸轮转角0称为回程运动角。最后,当推杆与凸轮廓线DA段接触时,由于DA段为以凸轮轴心O为圆心的圆弧,所以推杆将在最低位置静止不动,此一过程称为近休,相应的凸轮转角02称为近休止角。凸轮再继续转动时,推杆又重复上述过程。推杆在推程或回程中移动的距离h称为推杆的行程。s、速度v和加速度a随时间t变化所谓推杆的运动规律,是指推杆在运动时,其位移的规律。五

6、、解析法:用作图法设计凸轮廓线,概念清晰,简便易行;但误差大,效率低。对于精度要求较高且结果复杂的凸轮廓线,通常采用解析法设计。尤其是近年来随着计算机与数用解析法设计凸轮廓控加工技术的发展,解析法在凸轮廓线的设计中已得到了广泛的应用。线的关键问题是将凸轮廓线表示为数学方程,这一过程称为建立数学模型。用解析法设计一直动滚子从动件盘形凸轮机构。已知凸轮以等角速度3动,凸轮基圆半径rO,滚子半径r,导向和凸轮轴心间的相对位置及偏距ss()。(1)理论廓线方程过凸轮的回转中心O建立直角坐标系逆时针方向转e,从动件的运动规律XOY,如图2-9所示,设推程开始时从动件滚子中心处于B0点,B0即为凸轮理论廓

7、线的起始点。当凸轮逆时针转过角时,应用反转法,假设凸轮不动,则从动件与导路一起沿方向反转3角,处于B位置。设对应此过程滚子中心按已知的运动规律产生的位移为s=s。由作图法可知此时滚子中心点B即为凸轮理论廓线上的点。B点在坐标系中的表达式为:X二(£+5()sin(S4qcosSy=(54-s°)cosrV+gcos图29i工动滚r从动件盘形凸轮机构式中,»二碍W°to皋關T径:e偏心麵。挣令e-U.则匕丈即为对心11动滚/从动件凸轮的理论廓线方程.半凸轮逆时针转动时,且导路偏宙于凸轮轴心右制时.I:式中偏跖c取正们,否则取负假(2)实际廊线方程由作图法对

8、知滚从动件盘形凸轮的理论隼线与实际解线为法向等距曲线,这两条曲线的法向距离等于滚(半径r设凸轮理论廓线上B点处的法线为nn,0为理论轮解线V.B*处的法线肋与x轴的夹你法线加与衣示滚f的圆相交于两个Bl点,则凸轮的实际廓线卜.的B1点的坐标町由式伽求出。J"士Eany=y士rin式中,“"号适用于理论廂线的内等距曲线;“+"号适用于外等距曲线。若同时计算出内、外等曲曲线,则nJ设计出盘形槽凸轮的实际廓线°由高等数学町知,Illi线上任意一点的法线斜率与该点的处的切线斜率互为负倒数。W此卜.式中法线肋与X轴的夹ff旧町通过理论轮J#线hB点处的切线斜率计算

9、tan?=-=%Cx=dv/-)cos"inA+(xfi+c/v/JfV二d/tl(y-£4comS-(50+5)SillAsiiL-dxjdJldx押F>加尸_则府QHhjdS|十(<lyjdS)貝巾式中rfrJ出匚妙/'£/£根抑;(小求!*ft/出,故推出sincostf的衣达式亠应用式臥购汁算凸轮的实际轮廉线时,要注盍令角的取值范味刀貝的中心轨迹方程烈据凸轮廓线力杵.应用数控加工凸轮的实际轮廓线。若使用的刀只T栓与滚丫栓郴同.则”貝的中心轨迹就足凸轮的轮康线開此4!拥理论康线方程即叮加I】出凸轮的实际轮屎“但刀具半探与滚F*f

10、i通常不一定愉孔d此在加匕凸轮前计尊丿JR的中心轨六、VB简介:VisualBasic(简称VB)是面向对象可视化的程序设计语言,具有良好的交互式界面。它使用起来操作方便、简单易懂,即使用户从来没有接触过编程,但只要会使用Windows操作系统,就可以很快学会怎样使用VisualBasic去开发一个简单但功能完整的Windows应用程序13-17。传统的程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际效果,只有在运行程序时才能观察到。如果对界面的效果不满意,就必须回到程序中重新设计,这往往需要反复多次,从而大大降低了编程效率。VB采用了可视化的程序设计方

11、法,利用系统提供的大量可视化控件,可以直接绘制用户图形界面,并可直观、动态地调整界面,不必再用大量程序代码来描述界面元素的外观和位置,从而克服了传统编辑模式,提高了编程效率。用VisualBasic开发程序,就好比盖房子,系统提供的可视化控件好比盖房子用的砖和瓦等原料,通过合理的搭配组合,可以方便地构造出所需的应用程序。VB综合运用了Basic语言和可视化设计工具,巧妙地将Windows应用程序编程的复杂性封装起来,既没有牺牲Windows应用程序的特点,又提供了编程的简易性。VisualBasic的程序开发过程基本可分为八个步骤: 在VB中创建一个新的工程; 建立应用程序窗体(即用户界面);

12、 在窗体中绘制所需的控制对象; 设置窗体和控件的属性; 为需要响应用户操作的对象编写事件过程(即编程); 运行及调试应用程序; 保存工程; 编译工程,生生成可执行的应用程序。七、界面设计:说到程序当然要考虑两个方面的因素,第一就是代码,第二就是界面,我们力求界面友好,程序清晰客观。下面是界面部分:VburiiMrfmD3HEflUSGrt曲”d常0匐tMill码工理|fc肚lQ*耐償运萍嗟旺山围香山IIW)输甩爭庄如抽1甜-i#i"i功*;:vwb牺虛1靶齐奮民t;flo送imiitu】d巧b二性富时咨M亍.ssg11111122h胖心-MMrh£l«IMLE:L

13、lK£TlbHr*!vuifLlCimiCKNMLRUttWIM/Mdldl5.机械原理课稈设讣=蓉工eYtttr«fi0r*L乩”l.uJF»2ilnfEnJ'皂InnH話HfrnXifiZmnMs谥时心b.曲壽田堕旳奇p*酣JS三堪用tkloldlbuj学就睫縫勒力匀机械工程序锐班绻fliwiiomL席拐学号LLLU5Q122t刘前平亠"-Jt.JF-i忸学出吓比”即1|*AaIw1pnaVam-LlciE-i,lfcnj«.i.giToL瓠VF'I哨feyLFCLEL亠弘Q-Nuvdll/Jfjl-1p0-E卫L-Z.U-

14、11inq35i.w-.rb胪dkiaj,lak<iiOlJ-OVDJ(1)首先双击运行程序出现如下界面:wrwra*学锐机械原理课程设计黄冥机辅期设i送到亍晋1"阳卜赛成纟療鬆计动踱知(动髀酗、魁譴功力机威工程孚院控制而扳ca也-J1>di八1.命k14(2)针对查看3-4题目及位移线图:(3)根据题中数据进行参数设置:L“|零3-強殳计&翻最WimlfflU111UILU1潼J勺E8SIP1«=回誌移隹阿iiR哎计帕習亢动廉于从动*1幽用乃轮.已知凸轮以等甬速度戴时针方问回持陽噩LlOnn.凸轮基囲半径r"60i,械子半轻试用胖析法曲出凸轮

15、轮黑曲如M,l«r3旷120*砒*a*I力i出叫R*华g飞机械原理课程设计UTVis1Basic集成讣偏亘直动滾子从动件盘舷凸zomn-oiJ.HJUbO12:Jl指导老什刘奇甲«£fit殖药(4)第一步:按比例画位移线图、基圆和偏距圆,并标明各运动角:(5)第二步:延长从动件,与偏距圆相切,以此为始点在偏距圆上做出各运动角:开发坏境设讣備雪1T动滚从动伴聽检35L按比鶴画检移羟臥墓和備葩障并麻團各运动飢和J口勒=血阳=VWMiM-1n4L:=Ui.|-li2学屈班级甦名学号(6)第三步:将推程运动角和回程运动角分成若干等份,画等分线与偏距圆交点的切线,与h准也从

16、功件,与鳴炭四相切,以此拘蜡点在偏距测上作出各握|SIw|asfliniboisa1谕稍示殍基圆相交:(7)第四步:延长各切线,延长线段长度与位移线图对应等分线段长度相等:勿:出护十H1,l',.'urnnrrmrite'iwFtiiHFifDtaiTT30姓名学号(8)第五步:顺次光滑连接各点,得凸轮理论轮廓曲线:03*机械原理课程设计*"垃算机稱助设计基于Vi泗Basic集成T开笈环疑跖1備置直动滚子从动件盘疤凸1轮轮康曲贱阳液功力与机慣工瑕学晓IB*tLlDK刊机械原理课程役计能煤动力与机tfilffi学曉3初*测沪oi-K觀1血扳AJS扰址滑吐接各点,

17、得凸轮理论軽脾睫我T叢茅燼篦溺S購譏轮轮卓曲钱刘衍平(9)第六步:以理论轮廓线上各点为圆心,以滚子半径为半径作圆,所得包络线为凸轮实际轮廓曲线:学号vtiAQ(10)第七步:可以进行动画演示:学&柠翳示僭皿展朝11I1U0Q12能擦功力与札檢1】程学晓机就IKH班11111501222013们03捋制面檢机械原理课程设计计霸机葡助设计基V诵皿1Basie集成开笈环境设计備買直动滾子从动各盘恁右轮轮鼎職八、代码设计:-IH1凸轮设计98.vSp-已倉悻0Forml(Fornl.£rm)&Forn*2(FormS.frm)a金m等分(亦等分fr口fr淌也谡i+(Erm对,

18、I口f绅偏置设计(亦偏j厲设昼(frm'SS,fi&打凸轮设计(亦凸¥_I寺車挾战会用模块(酱用橈块.魄主樟块OWodulel.ba:Forml的代码:OptionExplicitPrivateSubCommand1_Click()Form2.ShowEndSubPrivateSubCommand2_Click()Forml.HideEndSubForm2的代码:OptionExplicitPrivateSubCommand1_Click()Form2.HideEndSubFrm等分的代码:PrivateSubCommand1_Click()i等分DTO=Val(fr

19、m等分.Text1.Text)i等分DT2=Val(frm等分.Text2.Text)UnloadMeEndSubFrm对心设计的代码:OptionExplicitPrivateSubcmdFifth_Click()DimiAsInteger,所得包络线为Text1.Text="5.以理论轮廓线上各点为圆心,以滚子半径为半径作圆凸轮实际轮廓曲线。”mainfrm.Picture1.DrawWidth=1Fori=0To360Step10mainfrm.Picture1.Circle(PointXY(i,1),PointXY(i,2),r1,&HFFFFC0Nextmainfr

20、m.Picture1.DrawWidth=3mainfrm.Picture1.PSet(FactPXY(0,1),FactPXY(0,2)Fori=1To360Step1'Ifi=0Thenmainfrm.Picture1.Line-(FactPXY(i,1),FactPXY(i,2),&H80FF&NextEndSubPrivateSubcmdSixth_Click()UnloadMeEndSubPrivateSubCommand_Click()mainfrm.init1Text1.Text="1.按比例画位移线图和基圆,并标明各运动角。”First0_st

21、epFirst_StepEndSubPrivateSubCommand2_Click()DimiAsIntegerText1.Text="2.将推程运动角和回程运动角分成若干等份。"Ifi等分DT0<>0ThenFori=1Toi等分DT0Unloadmainfrm.lin等分DT0(i)Unloadmainfrm.lin基圆DT0(i)Unloadmainfrm.lin凸轮DT0(i)NextEndIfIfi等分DT2<>0ThenFori=1Toi等分DT2Unloadmainfrm.lin等分DT2(i)Unloadmainfrm.lin基圆D

22、T2(i)Unloadmainfrm.lin凸轮DT2(i)NextEndIffrm等分.ShowvbModalIfi等分DT0*i等分DT2=0ThenExitSubSecond_StepEndSubPrivateSubCommand3_Click()Text1.Text="3.延长基圆上各等分线,延长线段长度与位移线图对应等分线段长度相等。IIThird_StepEndSubPrivateSubCommand4_Click()Ifr1=0ThenText1.Text="4.顺次光滑连接各点,得凸轮轮廓。"mainfrm.Picture1.DrawWidth=3

23、ElseText1.Text="4.顺次光滑连接各点,得凸轮理论轮廓曲线。"mainfrm.Picture1.DrawWidth=1EndIfForth_stepEndSubPublicSubFirst0_step()DimiAsIntegermainfrm.Picture1.Cls'画回转中心x0=230:y0=300mainfrm.Picture1.Circle(x0,y0),10,&HFFFF&'画坐标轴mainfrm.linX.Y1=PointXY(0,2):mainfrm.linX.Y2=PointXY(0,2)mainfrm.li

24、nY.Y1=PointXY(0,2):mainfrm.linY.Y2=PointXY(0,2)+200'O(1)=linX.X1:O(2)=linX.Y1mainfrm.Label0.Top=O(2)-10mainfrm.lab_t.Top=O(2)+30'画基圆mainfrm.Picture1.DrawWidth=1mainfrm.Picture1.Circle(x0,y0),r0,&HFF&'位移线图mainfrm.Picture1.DrawWidth=3Fori=1To360Ifi=1Thenmainfrm.Picture1.PSet(O(1),O

25、(2),&HFF&'mainfrm.Picture1.Line-(XY(i,1),XY(i,2),&HFF&Nextmainfrm.Line1.Visible=True:mainfrm.Line2.Visible=Truemainfrm.Label1.Visible=Truemainfrm.Lineh1.Visible=Truemainfrm.lab_h.Visible=Truemainfrm.Lineh2.Visible=Truemainfrm.Line3.Visible=Truemainfrm.Line4.Visible=Truemainfrm.La

26、bel3.Visible=Truemainfrm.Line5.Visible=Truemainfrm.Label4.Visible=True'画偏距圆mainfrm.Picture1.DrawWidth=1mainfrm.Picture1.Circle(x0,y0),e,&HFF&EndSubPublicSubFirst_Step()mainfrm.Picture1.Line(x0,y0)-(PointXY(0,1),PointXY(0,2),&HFFFF00mainfrm.Picturel.Line(xO,yO)-(PointXY(S0,PointXY(S0,

27、2),&HFFOOFFmainfrm.Picture1.Line(x0,y0)-(PointXY(S0+S1,1),PointXY(S0+S1,2),&HFF00FFmainfrm.Picture1.Line(xO,yO)-(PointXY(S+OS1+S2,1),PointXY(SO+S1+S2,2),&HFF00FFEndSubPublicSubSecond_Step()DimjAsIntegerDimiAsIntegerFori=1Toi等分DT0Loadmainfrm.lin等分DT0(i)Loadmainfrm.lin基圆DT0(i)Loadmainfrm.l

28、in凸轮DT0(i)NextFori=1Toi等分DT2Loadmainfrm.lin等分DT2(i)Loadmainfrm.lin基圆DT2(i)Loadmainfrm.lin凸轮DT2(i)Nextj=S0/i等分DTOFori=1Toi等分DT0mainfrm.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.Y1mainfrm.lin等分DT0(i).Visible=Truemainfrm.

29、lin基圆DT0(i).X1=mainfrm.lin基圆DT0(i).X2=mainfrm.lin基圆DT0(i).Y1=mainfrm.lin基圆DT0(i).Y2=基圆XY(i*j,1)偏距圆XY(i*j,1)基圆XY(i*j,2)偏距圆XY(i*j,2)mainfrm.lin基圆DT0(i).Visible=Truemainfrm.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*

30、j,2)'lin凸轮DT0(i).Visible=TrueNextij=S2/i等分DT2Fori=1Toi等分DT2mainfrm.lin等分DT2(i).X1=XY(mainfrm.lin等分DT2(i).X2=XY(mainfrm.lin等分DT2(i).Y1=XY(S0+S1+(i-1)*j,1)S0+S1+(i-1)*j,1)S0+S1+(i-1)*j,2)mainfrm.lin等分DT2(i).Y2=mainfrm.linX.Y1mainfrm.lin等分DT2(i).Visible=Truemainfrm.lin基圆DT2(i).X1=mainfrm.lin基圆DT2(i

31、).X2=mainfrm.lin基圆DT2(i).Y1=mainfrm.lin基圆DT2(i).Y2=基圆XY(S0+S1+(i-1)*j,1)偏距圆XY(S0+S1+(i-1)*j,1)基圆XY(S0+S1+(i-1)*j,2)偏距圆XY(S0+S1+(i-1)*j,2)mainfrm.lin基圆DT2(i).Visible=Truemainfrm.lin凸轮DT2(i).X1=PointXY(S0+S1+(i-1)*j,1)mainfrm.lin凸轮DT2(i).X2=基圆XY(S0+S1+(i-1)*j,1)mainfrm.lin凸轮DT2(i).Y1=PointXY(S0+S1+(i-

32、1)*j,2)mainfrm.lin凸轮DT2(i).Y2=基圆XY(S0+S1+(i-1)*j,2)'lin凸轮DT2(i).Visible=TrueNextiEndSubPublicSubThird_Step()mainfrm.Timer2.Enabled=TrueEndSubPublicSubForth_step()mainfrm.Timer2.Enabled=FalseMe.Enabled=Falsemainfrm.cmd设置.Enabled=Falsemainfrm.cmdReset.Enabled=Falsemainfrm.cmd继续.Enabled=Falsemainfr

33、m.cmd设计.Enabled=Falsemainfrm.Timer3.Enabled=TrueEndSubFrm偏置设计的代码:OptionExplicitPrivateSubcmdSixth_Click()DimiAsIntegerText1.Text="6.以理论轮廓线上各点为圆心,以滚子半径为半径作圆,所得包络线为凸轮实际轮廓曲线。"mainfrm.Picture1.DrawWidth=1Fori=0To360Step10mainfrm.Picture1.Circle(PointXY(i,1),PointXY(i,2),r1,&HFFFFC0Nextmain

34、frm.Picture1.DrawWidth=3mainfrm.Picture1.PSet(FactPXY(0,1),FactPXY(0,2)Fori=1To360Step1mainfrm.Picture1.Line-(FactPXY(i,1),FactPXY(i,2),&H80FF&NextEndSubPrivateSubCommand_Click()Text1.Text="1.按比例画位移线图、基圆和偏距圆,并标明各运动角。"First0_stepEndSubPrivateSubCommand1_Click()Text1.Text="2.延长从

35、动件,与偏距圆相切,以此为始点在偏距圆上作出各运动角。"First_StepEndSubPrivateSubCommand2_Click()DimiAsIntegerText1.Text="3.将推程运动角和回程运动角分成若干等份,画等分线与偏距圆交点的切线,与基圆相交。"Ifi等分DT0<>0ThenFori=1Toi等分DT0Unloadmainfrm.lin等分DT0(i)Unloadmainfrm.lin基圆DT0(i)Unloadmainfrm.lin凸轮DT0(i)NextEndIfIfi等分DT2<>0ThenFori=1To

36、i等分DT2Unloadmainfrm.lin等分DT2(i)Unloadmainfrm.lin基圆DT2(i)Unloadmainfrm.lin凸轮DT2(i)NextEndIffrm等分.ShowvbModalIfi等分DT0*i等分DT2=0ThenExitSubSecond_StepEndSubPrivateSubCommand3_Click()Text1.Text="4.延长各切线,延长线段长度与位移线图对应等分线段长度相等。Third_StepEndSubPrivateSubCommand4_Click()Ifr1=0ThenText1.Text="5.顺次光滑

37、连接各点,得凸轮轮廓。"mainfrm.Picture1.DrawWidth=3ElseText1.Text="5.顺次光滑连接各点,得凸轮理论轮廓曲线。"mainfrm.Picture1.DrawWidth=1EndIfForth_stepEndSubPublicSubFirst0_step()DimiAsIntegermainfrm.Picture1.Cls'画回转中心mainfrm.Picture1.DrawWidth=1x0=230:y0=300mainfrm.Picture1.Circle(x0,y0),10,&HFFFF&

38、9;画坐标轴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.Y1mainfrm.Label0.Top=O(2)-10mainfrm.lab_t.Top=O(2)+30'画基圆mainfrm.Picture1.DrawWidth=1mainfrm.Picture1.Circle(x0,y0),r0,&HFF&'位移线图mai

39、nfrm.Picture1.DrawWidth=3Fori=1To360Ifi=1Thenmainfrm.Picture1.PSet(O(1),O(2),&HFF&'mainfrm.Picture1.Line-(XY(i,1),XY(i,2),&HFF&Nextmainfrm.Line1.Visible=True:mainfrm.Line2.Visible=Truemainfrm.Label1.Visible=Truemainfrm.Lineh1.Visible=Truemainfrm.lab_h.Visible=Truemainfrm.Lineh2.V

40、isible=Truemainfrm.Line3.Visible=Truemainfrm.Line4.Visible=Truemainfrm.Label3.Visible=Truemainfrm.Line5.Visible=Truemainfrm.Label4.Visible=True'画偏距圆mainfrm.Picture1.DrawWidth=1mainfrm.Picture1.Circle(x0,y0),e,&HFF&EndSubPublicSubFirst_Step()mainfrm.Picture1.DrawWidth=2mainfrm.Picture1.Li

41、ne(PointXY(0,1),PointXY(0,2)-(偏距圆XY(0,1),偏距圆XY(0,2),&HFFFF00mainfrm.Picture1.DrawWidth=1mainfrm.Picture1.Line(x0,y0)-(偏距圆XY(0,1),偏距圆XY(0,2),&HFFFF00mainfrm.Picture1.Line(xO,y0)-(偏距圆XY(S0,1),偏距圆XY(S0,2),&HFFFFOOmainfrm.Picture1.Line(x0,y0)-(偏距圆XY(S0+S1,1),偏距圆XY(S0+S1,2),&HFFFF00mainfr

42、m.Picture1.Line(x0,y0)-(偏距圆XY(S0+S1+S2,1),偏距圆XY(S0+S1+S2,2),&HFFFF00EndSubPublicSubSecond_Step()DimjAsIntegerDimiAsIntegerFori=1Toi等分DT0Loadmainfrm.lin等分DT0(i)Loadmainfrm.lin基圆DT0(i)Loadmainfrm.lin凸轮DT0(i)NextFori=1Toi等分DT2Loadmainfrm.lin等分DT2(i)Loadmainfrm.lin基圆DT2(i)Loadmainfrm.lin凸轮DT2(i)Next

43、j=S0/i等分DTOFori=1Toi等分DT0mainfrm.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.Y1mainfrm.lin等分DT0(i).Visible=Truemainfrm.Picture1.Line(x0,y0)-(偏距圆XY(i*j,1),偏距圆XY(i*j,2),&HFFFFFFmainfrm.lin基圆DT0(i).X1=基圆XY(i*j,1)mainfrm

44、.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=Truemainfrm.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

45、Nextij=S2/i等分DT2Fori=1Toi等分DT2mainfrm.lin等分DT2(i).X1XY(S0+S1+(i-1)*j,1)mainfrm.lin等分DT2(i).X2XY(S0+S1+(i-1)*j,1)mainfrm.lin等分DT2(i).Y1XY(S0+S1+(i-1)*j,2)mainfrm.lin等分DT2(i).Y2=mainfrm.linX.Y1mainfrm.lin等分DT2(i).Visible=Truemainfrm.Picture1.Line(x0,y0)-(偏距圆XY(S0+S1+(i-1)*j,1),_偏距圆XY(mainfrm.lin基圆DT2(

46、i).X1=mainfrm.lin基圆DT2(i).X2=mainfrm.lin基圆DT2(i).Y1=mainfrm.lin基圆DT2(i).Y2=S0+S1+(i-1)*j,2),&HFFFFFF基圆XY(S0+S1+(i-1)*j,1)偏距圆XY(S0+S1+(i-1)*j,1)基圆XY(S0+S1+(i-1)*j,2)偏距圆XY(S0+S1+(i-1)*j,2)mainfrm.lin基圆DT2(i).Visible=Truemainfrm.lin凸轮DT2(i).X1=PointXY(S0+S1+(i-1)*j,1)mainfrm.lin凸轮DT2(i).X2=基圆XY(S0+

47、S1+(i-1)*j,1)mainfrm.lin凸轮DT2(i).Y1=PointXY(S0+S1+(i-1)*j,2)mainfrm.lin凸轮DT2(i).Y2=基圆XY(S0+S1+(i-1)*j,2)'lin凸轮DT2(i).Visible=TrueNextimainfrm.Picture1.Line(偏距圆XY(S0+S1+S2,1),偏距圆XY(S0+S1+S2,2)-(基圆XY(S0+S1+S2,1),基圆XY(S0+S1+S2,2),&HFFFFFFEndSubPublicSubThird_Step()mainfrm.Timer2.Enabled=TrueEnd

48、SubPublicSubForth_step()mainfrm.Timer2.Enabled=FalseMe.Enabled=Falsemainfrm.cmd设置.Enabled=Falsemainfrm.cmdReset.Enabled=Falsemainfrm.cmd继续.Enabled=Falsemainfrm.cmd设计.Enabled=Falsemainfrm.Timer3.Enabled=TrueEndSubFrm设置的代码:OptionExplicitPrivateSubcmdClose_Click()UnloadMeEndSubPrivateSubcmd确定_Click()r0

49、=txt_r0h=txt_hS0=txt_S0S1=txt_S1S2=txt_S2S3=txt_S3r1=txt_r1e=txt_eIfS0+S1+S2+S3<>360Then360度"MsgBox"给定的四个运动角之和应为txt_S3=36-0S0-S1-S2txt_S3.SetFocusEndIfCallmainfrm.init1EndSubPrivateSubForm_Load()txt_r0=r0txt_h=htxt_S0=S0txt_S1=S1txt_S2=S2txt_S3=S3txt_r1=r1txt_e=eEndSubFrm凸轮设计的代码:Opti

50、onExplicitDimiiAsIntegerDimjjAsIntegerDimSAsSinglePublicSubcmdReset_Click()Callinit1EndSubPrivateSubcmd继续_Click()DimiAsIntegerIfS=0ThenLine1.Visible=FalseLine2.Visible=FalseLine3.Visible=FalseLine4.Visible=FalseLine5.Visible=FalseLineh1.Visible=FalseLineh2.Visible=FalseLabel1.Visible=FalseLabel2.Vis

51、ible=FalseLabel3.Visible=FalseLabel4.Visible=Falselab_h.Visible=FalseIfi等分DT0<>0ThenFori=1Toi等分DT0lin凸轮DT0(i).Visible=Falselin基圆DT0(i).Visible=Falselin等分DT0(i).Visible=FalseNextEndIfIfi等分DT2<>0ThenFori=1Toi等分DT2lin凸轮DT2(i).Visible=Falselin基圆DT2(i).Visible=Falselin等分DT2(i).Visible=FalseNe

52、xtEndIfEndIfcmd继续.Caption="暂停"IfTimer1.EnabledThencmd继续.Caption="继续"Timer1.Enabled=NotTimer1.EnabledEndSubPrivateSubcmd设计_Click()DimiAsInteger'ClsCallinit1Ifi等分DT0<>0ThenFori=1Toi等分DT0lin凸轮DT0(i).Visible=Falselin基圆DT0(i).Visible=Falselin等分DT0(i).Visible=FalseNextEndIf&#

53、39;Ifi等分DT2<>0Then'Fori=1Toi等分DT2'lin凸轮DT2(i).Visible=False'lin基圆DT2(i).Visible=False'lin等分DT2(i).Visible=False'Next'EndIfIfe=0ThenIfr1=0Thenfrm对心设计.cmdFifth.Enabled=Falsefrm对心设计.ShowElseIfr1=0Thenfrm偏置设计.cmdSixth.Enabled=Falsefrm偏置设计.ShowEndIfEndSubPrivateSubcmd设置_Clic

54、k()frm设置.ShowEndSubPrivateSubcmd退出_Click()EndEndSubPrivateSubCommand1_Click()Form1.ShowEndSubPrivateSubForm_Load()'Me.Height=8000'Me.Width=8000'Picture1.DrawWidth=1Callinit1EndSubPrivateSubForm_Unload(CancelAsInteger)EndEndSubPrivateSubTimer1_Timer()DimiAsIntegerPicture1.Cls'画基圆和回转中心Picture1.DrawWidth=1Picture1.Circle(x0,y0),r0,&HFF&Picture1.Circle(x0,y0),10,&HFFFF&'画凸轮Fori=0To360Step1'理论轮廓CurrentXY(1)=PointXY(i,1)-x0CurrentXY(2)=PointXY(i,2)-y0PointXY(i,1)=CurrentXY(1)*Cos-CurremtXY(2)*sinSO+x0PointXY(i,2)=Cur

温馨提示

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

评论

0/150

提交评论