大三机械设计课程设计报告vb
- 格式:doc
- 大小:53.50 KB
- 文档页数:7
机械设计课程设计任务报告机械设计课程设计任务报告一、背景介绍机械设计是机械工程学科中的重要学科之一,涵盖了机械工程领域的多个方面,是实际工程中必不可少的技能。
为了提高学生的机械设计能力,让学生能够熟练运用机械设计理论和技能解决实际工程问题,设计出符合需求的机械产品,我们设置了机械设计课程。
在这门课程中,我们为学生设计了一个任务:设计一种能够自动切削和绕线的机器手臂。
二、任务要求1. 机器手臂需要自动切削和绕线。
2. 机器手臂需要能够通过电路和编程实现自动化控制。
3. 机器手臂需要具有较高的切削精度和绕线精度。
4. 设计方案需要具有可行性,可实现生产制造。
三、任务分析1. 自动切削和绕线的实现自动切削和绕线需要利用机械传动、电子控制和软件编程等知识。
在机械方面,需要选用适合的驱动电机和传动机构,确保机器手臂可以准确地进行切削和绕线。
在电子方面,需要设计电路板和编程,实现对机器手臂的控制。
在软件方面,需要编写控制程序,实现机械手臂的智能控制。
2. 精度的设计和实现为了达到较高的切削精度和绕线精度,需要对机器手臂进行精细设计和制造。
具体方法包括:选用高质量的材料和设备;利用CAD软件进行机械手臂的设计和仿真;进行模拟和实验验证,确定机械手臂的性能指标;通过调整参数和修正设计,不断提升机械手臂的精度。
3. 可行性和生产制造机械设计不仅要具有技术可行性,还需要考虑实际生产制造的问题。
在设计机器手臂时,需要考虑到制造过程中的材料成本、生产工艺、部件可替换性等实际问题,使得设计方案具有可实现性,可以顺利地进行生产制造。
四、任务执行在课程中,我们为学生提供了一些必要的资料和工具,包括:1. 机械手臂的技术文献和资料;2. 电路板和控制程序设计软件;3. 切削和绕线精度测试设备。
学生们在课程中将进行以下工作:1. 设计机械手臂的机构和传动系统;2. 设计电路板和编写控制程序;3. 进行机械手臂的CAD设计和仿真;4. 进行机械手臂的实验验证和精度测试;5. 调整机械手臂的参数和修正设计;6. 撰写机械手臂的实验报告和设计文稿。
大三机械设计课程设计大三机械设计课程设计是一个综合性的实践项目,旨在让学生掌握机械设计的基本原理和方法,培养其解决实际问题的能力。
以下是一个大三机械设计课程设计:题目:设计一个简单的机械手一、设计任务设计一个简单的机械手,用于抓取和搬运物体。
要求机械手能够实现以下功能:1.抓取物体:机械手能够抓取不同形状和大小的物体。
2.搬运物体:机械手能够将物体从一个位置移动到另一个位置。
3.释放物体:机械手能够将物体释放到指定位置。
二、设计要求1.机械手结构简单、紧凑,易于制造和装配。
2.机械手具有足够的刚度和稳定性,能够承受一定的工作负载。
3.机械手操作简便、灵活,能够适应不同形状和大小的物体。
4.机械手具有安全保护装置,避免在操作过程中对人员造成伤害。
三、设计步骤1.确定设计参数:根据设计任务和要求,确定机械手的基本参数,如手指数量、长度、角度等。
2.选择传动方式:根据设计参数和要求,选择合适的传动方式,如齿轮传动、连杆传动等。
3.设计机械手结构:根据传动方式,设计机械手的整体结构,包括手指、传动机构、支撑结构等。
4.进行运动分析和动力学分析:对机械手的运动进行详细的分析,包括手指的开合运动、抓取物体的过程等。
同时进行动力学分析,确定机械手的负载能力和稳定性。
5.进行结构设计:根据运动分析和动力学分析的结果,对机械手的结构进行详细的设计,包括零件的尺寸、材料选择、热处理工艺等。
6.绘制图纸:根据结构设计的结果,绘制机械手的装配图、零件图等图纸。
7.编写设计说明书:编写详细的设计说明书,包括设计任务书、设计方案说明、设计计算书等内容。
8.提交成果:将设计图纸和设计说明书提交给指导老师进行评审和答辩。
四、注意事项1.在设计过程中要充分考虑机械手的制造工艺和装配工艺,确保设计的可行性和实用性。
2.在进行运动分析和动力学分析时要考虑各种可能的工况和条件,确保设计的可靠性和稳定性。
3.在进行结构设计时要注重细节和精度,确保设计的精确性和美观性。
机械设计课程设计报告书一、课程目标知识目标:1. 学生能掌握机械设计的基本原理和概念,理解机械结构的设计流程。
2. 学生能了解并运用机械设计中的力学原理,进行简单机械系统的受力分析。
3. 学生能掌握并运用AutoCAD等绘图软件,绘制出符合要求的机械零件图和装配图。
技能目标:1. 学生能够运用创新思维,进行机械结构的设计,提高解决问题的能力。
2. 学生能够运用所学知识,对机械设计中的实际问题进行计算和分析。
3. 学生能够通过课程学习,具备一定的团队协作能力和项目实践能力。
情感态度价值观目标:1. 学生通过学习机械设计课程,培养对机械工程的兴趣和热情,提高职业素养。
2. 学生在学习过程中,培养严谨的科学态度,提高自我学习和探究的能力。
3. 学生能够关注机械设计在生活和生产中的应用,认识到机械设计对社会发展的重要意义。
本课程结合初三学生的认知特点和兴趣,注重理论与实践相结合,通过项目式教学,使学生能够将所学知识应用于实际问题的解决中,培养他们的创新意识和实践能力。
在教学过程中,关注学生的个体差异,激发学生的学习兴趣,提高他们的自主学习能力,使他们在掌握知识的同时,形成正确的价值观和职业观。
二、教学内容本章节教学内容主要包括以下几部分:1. 机械设计基本原理:介绍机械设计的基本概念、原则和方法,使学生理解机械设计的目标和过程。
教学内容:- 机械设计的基本概念- 机械设计的基本原则- 机械设计的方法2. 机械设计中的力学原理:讲解力学基本知识在机械设计中的应用,使学生能够进行简单的受力分析。
教学内容:- 杆件受力分析- 轴承和连接件的受力分析- 简单机械系统的受力分析3. 机械设计绘图:教授AutoCAD等绘图软件的基本操作,使学生能够绘制出符合要求的机械零件图和装配图。
教学内容:- AutoCAD软件的基本操作- 机械零件图的绘制方法- 装配图的绘制方法4. 机械设计实例分析:通过分析实际机械设计案例,使学生能够将所学知识应用于实际问题解决。
沈阳航空航天大学课程设计学号:班级:姓名:指导教师:2012年3 月5 日沈阳航空航天大学课程设计任务书学院:机电工程学院专业:机械设计班级:04060101学号:2010040601008 题目:图片浏览器一、课程设计时间2012年3月5~9日(第1周),共计1周,20学时。
二、课程设计内容能够对指定文件夹中的图片按照顺序一一浏览。
能够浏览的图片格式至少包括.bmp和.jpg两种。
三、课程设计要求程序质量:✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
✧用户界面中的菜单(或命令按钮)至少应包括“定位文件夹”、“上一个图片”、“下一个图片”、“退出”4项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、成绩六、教师评语目录需求分析 (4)设计分析 (4)关键技术 (6)总结 (11)完整的源程序 (12)参考文献 (14)需求分析“图片浏览器”这个课程设计模拟各种浏览图片的设备,能够对图片的格式进行限制,还能够实现逐一浏览功能,因此,要先通过路径的引入来使图片导入到列表框中。
要求:①窗体中建一个图片框,在此导入图片。
②能够实现“上一张”,“下一张”的浏览功能。
③够随时显示图片的张数功能,并且能直接查找图片张数。
能够随时退出。
④浏览到最后一张能够重新浏览,实现循环功能。
设计分析(1)基本原理:实际应用中,驱动器列表框,目录列表框和文件列表框需要同步操作,可以通过Path属性的改变引发Change事件来实现。
同时需要图片的载入来完成。
(2)总体设计:(3)详细设计:Load载入图片图片Path属性连接开始图片的载入格式设置顺序结构Change事件限制图片格式图片浏览查找图片关键技术(3)驱动器列表框,目录列表框和文件列表框需要同步的操作Rivate Sub Dir1_Change() '定位文件夹Dim b As StringFile1Patten = "*.bmp;*.jpg" '对图片格式进行限制File1.Path = Dir1.Path '使目录改变时文件列表框改变If i < File1.ListCount Thenb = Dir1.Path + "\" + File1.List(0)Image1.Picture = LoadPicture(b) '载入图片Text1.Text = 1End IfEnd SubPrivate Sub Drive1_Change()Dir1.Path = Drive1.Drive '使驱动器列表框改变时,目录列表框改变End SubPrivate Sub File1_Click()b = Dir1.Path + "\" + File1.FileNameImage1.Picture = LoadPicture(b) '载入图片EndSub驱动器列表框,目录列表框和文件列表框如下图:2 实现图片的逐一浏览程序段如下:Dim i As Integer, j As IntegerPrivate Sub Command1_Click() '实现上一张Dim a%, b As Stringi = i - 1a = File1.ListCount - 1If i < 0 Then '图片张数到第一张时,到最后一张i = aEnd Ifb = Dir1.Path + "\" + File1.List(i)Image1.Picture = LoadPicture(b)'载入图片Text1.Text = i + 1End SubPrivate Sub Command2_Click() '实现下一张Dim a%, b As Stringi = i + 1a = File1.ListCount - 1If i > a Theni = 0End Ifb = Dir1.Path + "\" + File1.List(i)Image1.Picture = LoadPicture(b)Text1.Text = i + 1End Sub按键钮图片如图:3 直接查找图片程序段如下:Private Sub Text1_Change()c = Val(Text1)If Text1.Text = "" Thenb = Dir1.Path + "\" + File1.List(0)Image1.Picture = LoadPicture(b) 载入图片j = MsgBox("请输入大于零的正整数", vbOKCancel + vbQuestion, "重新输入") 不能输入负数。
沈阳航空航天大学课程设计任务书学院:机电工程专业:机械设计制造及其自动化班级:04060101 学号:2010040601020 题目:高考分数统计系统一、课程设计时间2012年3月5~9日(第1周),共计1周,20学时。
二、课程设计内容用VB编写软件完成以下任务:1 录入考生信息(考生信息包括考号、姓名、成绩等);2 根据总分统计各分数段考生情况并显示(由高到低20分为一段);3 显示超过重点线的考生信息(重点线自己设计);4 将考生信息保存在文件myfile.txt文件中。
5自己再增加一项功能。
三、课程设计要求程序质量:✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
✧用户界面中的菜单至少应包括“考生信息录入”、“统计各分数段人数”、“显示过重点线考生信息”、“保存”、“退出”5项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、说明书成绩六、教师评语目录需求分析 (4)设计分析 (4)技术要点 (6)主要界面截图 (6)总结 (7)完整的源程序 (9)参考文献 (17)需求分析高考分数统计系统,主要指对信息的“录入”、“查询”、“分段”和“统计”。
即:对文件的输入和分段要求:①能够随时录入学生的信息(姓名、总成绩)。
②能够随时显示学生已经录入的信息。
③能够随时对学生已经录入的成绩进行分段。
④能够随时显示过重点线的已录入的学生信息。
设计分析(1)概述:该程序主要使用了顺序文件的相关技术包括: (1)打开文件(2)写操作(3)关闭文件(4)读操作并且使用了For循环和Do While循环.主要实现考生信息录入,查询,统计,分段,保存,退出等功能.(2)总体设计:(3)详细设计:技术要点本程序最重要的组成部分就是文件读取部分,也就是随时能查看添加功能部分。
Private Sub Command1_Click(Index As Integer)Dim dblWP As Double, dblHP As Double, i As IntegerdblWP = Abs(Picture1(0).ScaleWidth)dblHP = Abs(Picture1(0).ScaleHeight)For i = 0 To 5Picture1(i).ClsPicture1(i).ScaleMode = 1Picture1(i).DrawStyle = 0Picture1(i).DrawWidth = 1.5Picture1(i).Scale (-120, dblHP / 2)-(dblWP - 120, -dblHP / 2) Picture1(i).Line (0, 0)-(dblWP - 160, 0)Picture1(i).Line (dblWP - 160, 0)-Step(-120, 120)Picture1(i).Line (dblWP - 160, 0)-Step(-120, -120)Picture1(i).CurrentX = dblWP - 700Picture1(i).CurrentY = 250Picture1(i).Print "f_AB"Picture1(i).CurrentX = -120Picture1(i).CurrentY = -10Picture1(i).Print "0"Picture1(i).Line (0, dblHP / 2 - 60)-(0, -(dblHP / 2 - 60)) Picture1(i).Line (0, dblHP / 2 - 60)-Step(-120, -120)Picture1(i).Line (0, dblHP / 2 - 60)-Step(120, -120)Picture1(i).CurrentX = 160Picture1(i).CurrentY = dblHP / 2 - 60If i <> 0 Then Picture1(i).FontName = "ms sans serif"Select Case iCase 0Picture1(i).Print "f_CD"Case 1Picture1(i).Print "w_CD"Case 2Picture1(i).Print "e_CD"Case 3Picture1(i).Print "s_E"Case 4Picture1(i).Print "v_E"Case 5Picture1(i).Print "a_E"End SelectNext iDim dblMax_f_CD As Double, dblMax_w_CD As Double, dblMax_e_CD As DoubleDim dblMax_s_E As Double, dblMax_v_E As Double, dblMax_a_E As DoubleDim dblF_CD, dblW_CD, dblE_CD As DoubleDim dblS_E, dblV_E, dblA_E As DoubleDim dblF_AB, dblF_DE As DoubleDim dblAB As Double, dblCD As Double, dblDE As Double, dblAC As Double, dblH As Double, dblSE As Double, dbldf_CD As DoubleDim PI As DoublePI = 3.1415926dblAB = Val(Form1.Text1.Text)dblCD = Val(Form1.Text2.Text)dblDE = Val(Form1.Text3.Text)dblAC = Val(Form1.Text4.Text)dblH = Val(Form1.Text5.Text)dbln1 = Val(Form1.Text6.Text)For i = 0 To 360dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB)))If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)))dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE))dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)If Abs(dblF_CD) > dblMax_f_CD Then dblMax_f_CD = Abs(dblF_CD)If Abs(dblW_CD) > dblMax_w_CD Then dblMax_w_CD = Abs(dblW_CD)If Abs(dblE_CD) > dblMax_f_CD Then dblMax_e_CD = Abs(dblE_CD)If Abs(dblS_E) > dblMax_s_E Then dblMax_s_E = Abs(dblS_E)If Abs(dblV_E) > dblMax_v_E Then dblMax_v_E = Abs(dblV_E)If Abs(dblA_E) > dblMax_a_E Then dblMax_a_E = Abs(dblA_E)Next iDim dblSx As Double, dblSy As DoubledblSx = (dblWP - 240) / 360For i = 0 To 360dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB)))If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)))dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE))dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)dblSy = (dblHP / 2 - 240) / dblMax_f_CDPicture1(0).PSet (i * dblSx, dblF_CD * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_w_CDPicture1(1).PSet (i * dblSx, dblW_CD * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_e_CDPicture1(2).PSet (i * dblSx, dblE_CD * dblSy * 0.25)dblSy = (dblHP / 2 - 240) / dblMax_s_EPicture1(3).PSet (i * dblSx, dblS_E * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_v_EPicture1(4).PSet (i * dblSx, dblV_E * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_a_EPicture1(5).PSet (i * dblSx, dblA_E * dblSy)Next iEnd SubPrivate Sub Command5_Click()Dim i As DoubleDim dblAB As Double, dblCD As Double, dblDE As Double, dblAC As Double, dblH As Double, dblF_AB As Double, dbldf_CD As DoubleDim dblF_CD As Double, dblW_CD As Double, dblE_CD As DoubleDim dblS_E As Double, dblV_E As Double, dblA_E As DoubleDim dblS2 As DoubleDim dblF_DE As Double, dblw_DE As Double, dble_DE As DoubleDim PI As DoublePI = 3.1415926dblAB = Val(Form1.Text1.Text)dblCD = Val(Form1.Text2.Text)dblDE = Val(Form1.Text3.Text)dblAC = Val(Form1.Text4.Text)dblH = Val(Form1.Text5.Text)dbln1 = Val(Form1.Text6.Text)List1.ClearList1.AddItem ("f_AB" & Chr(9) & "f_CD" & Chr(9) & "w_CD" & Chr(9) & "e_CD" & Chr(9) & "s_E" & Chr(9) & "v_E" & Chr(9) & "a_E")List1.AddItem ("………………………………………………………………………………………………………………")For i = 0 To 360 Step 30dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB)))If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)))dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE))dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)dbldf_CD = dblF_CD * 180 / PIForm1.Text7.Text = Str(dblF_AB)Form1.Text8.Text = Str(dbldf_CD)Form1.Text9.Text = Str(dblW_CD)Form1.Text10.Text = Str(dblE_CD)Form1.Text11.Text = Str(dblS_E)Form1.Text12.Text = Str(dblV_E)Form1.Text13.Text = Str(dblA_E)List1.AddItem (Str(i) & Chr(9) & Format(Str(dbldf_CD), "0.00") & Chr(9) & Format(Str(dblW_CD), "0.00") & Chr(9) & Format(Str(dblE_CD), "0.00") & Chr(9) & Format(Str(dblS_E), "0.00") & Chr(9) & Format(Str(dblV_E), "0.00") & Chr(9) & Format(Str(dblA_E), "0.00"))Next iList1.AddItem ("………………………………………………………………………………………………………………")End Sub。
2024年高校大学生机械课程设计总结机械课程设计是高校大学生学习机械专业知识的重要环节,通过课程设计,学生能够将所学的理论知识与实际应用相结合,提高解决实际问题的能力。
在这学期的机械课程设计中,我参与了一个关于机械结构设计的项目,通过团队合作完成了整个课程设计的过程。
在这次设计中,我学到了许多知识和技能,提高了自己的实际操作能力,同时也体会到了团队合作的重要性。
首先,我学到了许多机械结构设计的基础知识。
在课程设计开始之前,我们首先要对机械结构的基本原理有一个较为全面的了解。
通过学习教材和查阅相关资料,我对机械结构设计的基本原理有了更深入的了解。
比如,在设计一个机械结构时,我们需要考虑到结构的强度、刚度、可靠性等因素,同时也要满足机械运动的要求。
通过对这些知识的学习,我对机械结构设计的思路有了一个更加清晰的认识。
其次,在课程设计的过程中,我提高了实际操作的能力。
在这个项目中,我们需要使用一些机械设计软件来进行结构的建模和分析。
通过课程设计,我学会了使用一款较为常用的机械设计软件,例如SolidWorks。
通过练习和实际操作,我逐渐掌握了这款软件的使用方法。
在设计过程中,我用SolidWorks进行了结构建模、强度分析等操作,提高了自己的实际应用能力。
最后,通过这次机械课程设计,我深刻体会到了团队合作的重要性。
在实际工程中,很少有一个人能够完成整个项目,团队合作是非常重要的。
在我们的设计团队中,每个人都负责着不同的部分,但我们需要密切合作、相互协调,以确保整个项目的顺利进行。
通过与队友的合作,我学会了与人沟通、协调分工、解决问题等技能。
在项目的每个阶段,我们都要开会讨论、提出自己的意见和建议,共同制定设计方案,最终实现我们的设计目标。
通过这次团队合作,我不仅学到了更多的知识,还培养了自己的团队合作精神。
综上所述,这次机械课程设计对我来说是一次非常有意义的学习经历。
通过设计一个机械结构,我学到了许多机械结构设计的基础知识,提高了自己的实际操作能力,深刻体会到了团队合作的重要性。
Private Sub Command1_Click(Index As Integer)Dim dblWP As Double, dblHP As Double, i As Integer dblWP = Abs(Picture1(0).ScaleWidth)dblHP = Abs(Picture1(0).ScaleHeight)For i = 0 To 5Picture1(i).ClsPicture1(i).ScaleMode = 1Picture1(i).DrawStyle = 0Picture1(i).DrawWidth = 1.5Picture1(i).Scale (-120, dblHP / 2)-(dblWP - 120, -dblHP / 2) Picture1(i).Line (0, 0)-(dblWP - 160, 0)Picture1(i).Line (dblWP - 160, 0)-Step(-120, 120)Picture1(i).Line (dblWP - 160, 0)-Step(-120, -120)Picture1(i).CurrentX = dblWP - 700Picture1(i).CurrentY = 250Picture1(i).Print "f_AB"Picture1(i).CurrentX = -120Picture1(i).CurrentY = -10Picture1(i).Print "0"Picture1(i).Line (0, dblHP / 2 - 60)-(0, -(dblHP / 2 - 60)) Picture1(i).Line (0, dblHP / 2 - 60)-Step(-120, -120) Picture1(i).Line (0, dblHP / 2 - 60)-Step(120, -120)Picture1(i).CurrentX = 160Picture1(i).CurrentY = dblHP / 2 - 60If i <> 0 Then Picture1(i).FontName = "ms sans serif" Select Case iCase 0Picture1(i).Print "f_CD"Case 1Picture1(i).Print "w_CD"Case 2Picture1(i).Print "e_CD"Case 3Picture1(i).Print "s_E"Case 4Picture1(i).Print "v_E"Case 5Picture1(i).Print "a_E"End SelectNext iDim dblMax_f_CD As Double, dblMax_w_CD As Double, dblMax_e_CD As DoubleDim dblMax_s_E As Double, dblMax_v_E As Double, dblMax_a_E As DoubleDim dblF_CD, dblW_CD, dblE_CD As DoubleDim dblS_E, dblV_E, dblA_E As DoubleDim dblF_AB, dblF_DE As DoubleDim dblAB As Double, dblCD As Double, dblDE As Double, dblAC As Double, dblH As Double, dblSE As Double, dbldf_CD As DoubleDim PI As DoublePI = 3.1415926dblAB = Val(Form1.Text1.Text)dblCD = Val(Form1.Text2.Text)dblDE = Val(Form1.Text3.Text)dblAC = Val(Form1.Text4.Text)dblH = Val(Form1.Text5.Text)dbln1 = Val(Form1.Text6.Text)For i = 0 To 360dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB)))If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)))dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)) dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)If Abs(dblF_CD) > dblMax_f_CD Then dblMax_f_CD = Abs(dblF_CD)If Abs(dblW_CD) > dblMax_w_CD Then dblMax_w_CD = Abs(dblW_CD)If Abs(dblE_CD) > dblMax_f_CD Then dblMax_e_CD = Abs(dblE_CD)If Abs(dblS_E) > dblMax_s_E Then dblMax_s_E = Abs(dblS_E)If Abs(dblV_E) > dblMax_v_E Then dblMax_v_E = Abs(dblV_E)If Abs(dblA_E) > dblMax_a_E Then dblMax_a_E = Abs(dblA_E)Next iDim dblSx As Double, dblSy As DoubledblSx = (dblWP - 240) / 360For i = 0 To 360dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB)))If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)))dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)) dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)dblSy = (dblHP / 2 - 240) / dblMax_f_CDPicture1(0).PSet (i * dblSx, dblF_CD * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_w_CDPicture1(1).PSet (i * dblSx, dblW_CD * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_e_CDPicture1(2).PSet (i * dblSx, dblE_CD * dblSy * 0.25)dblSy = (dblHP / 2 - 240) / dblMax_s_EPicture1(3).PSet (i * dblSx, dblS_E * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_v_EPicture1(4).PSet (i * dblSx, dblV_E * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_a_EPicture1(5).PSet (i * dblSx, dblA_E * dblSy)Next iEnd SubPrivate Sub Command5_Click()Dim i As DoubleDim dblAB As Double, dblCD As Double, dblDE As Double, dblAC As Double, dblH As Double, dblF_AB As Double, dbldf_CD As DoubleDim dblF_CD As Double, dblW_CD As Double, dblE_CD As DoubleDim dblS_E As Double, dblV_E As Double, dblA_E As DoubleDim dblS2 As DoubleDim dblF_DE As Double, dblw_DE As Double, dble_DE As DoubleDim PI As DoublePI = 3.1415926dblAB = Val(Form1.Text1.Text)dblCD = Val(Form1.Text2.Text)dblDE = Val(Form1.Text3.Text)dblAC = Val(Form1.Text4.Text)dblH = Val(Form1.Text5.Text)dbln1 = Val(Form1.Text6.Text)List1.ClearList1.AddItem ("f_AB" & Chr(9) & "f_CD" & Chr(9) & "w_CD" & Chr(9) & "e_CD" & Chr(9) & "s_E" & Chr(9) & "v_E" & Chr(9) & "a_E")List1.AddItem ("………………………………………………………………………………………………………………")For i = 0 To 360 Step 30dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB)))If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)))dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE))dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)dbldf_CD = dblF_CD * 180 / PIForm1.Text7.Text = Str(dblF_AB)Form1.Text8.Text = Str(dbldf_CD)Form1.Text9.Text = Str(dblW_CD)Form1.Text10.Text = Str(dblE_CD)Form1.Text11.Text = Str(dblS_E)Form1.Text12.Text = Str(dblV_E)Form1.Text13.Text = Str(dblA_E)List1.AddItem (Str(i) & Chr(9) & Format(Str(dbldf_CD), "0.00") & Chr(9) & Format(Str(dblW_CD), "0.00") & Chr(9) & Format(Str(dblE_CD), "0.00") & Chr(9) & Format(Str(dblS_E), "0.00") & Chr(9) & Format(Str(dblV_E), "0.00") & Chr(9) & Format(Str(dblA_E), "0.00"))Next iList1.AddItem ("………………………………………………………………………………………………………………")End Sub精品文档考试教学资料施工组织设计方案。
机械课程设计实践报告范文一、课程目标知识目标:1. 让学生掌握机械设计的基本原理,理解机械结构的功能和构成;2. 培养学生对机械制图的识图和绘图能力,能正确使用机械制图工具;3. 让学生了解常见机械零件的名称、用途和特点,掌握其选用原则。
技能目标:1. 培养学生运用机械设计原理解决实际问题的能力;2. 提高学生动手实践能力,能独立完成简单的机械设计制作;3. 培养学生团队协作能力,能在小组合作中发挥各自优势,共同完成设计任务。
情感态度价值观目标:1. 培养学生对机械设计的兴趣,激发学生的创新意识和探索精神;2. 培养学生严谨、务实的学习态度,养成良好的工程素养;3. 增强学生的环保意识,让学生在设计过程中考虑资源利用和环保要求。
本课程针对初中年级学生,结合学科特点和教学要求,注重理论与实践相结合,以培养学生动手实践和创新能力为核心。
通过本课程的学习,使学生能够掌握机械设计的基本知识和技能,培养解决实际问题的能力,同时提高学生的情感态度价值观,为学生的全面发展奠定基础。
二、教学内容本章节教学内容主要包括以下三个方面:1. 机械设计基本原理:讲解机械结构的功能、类型及设计原则,结合课本第1章内容,让学生了解机械设计的基本概念和设计方法。
2. 机械制图:教授机械制图的基本知识,包括制图规范、绘图工具的使用、视图表示方法等,依据课本第2章内容,培养学生识图和绘图能力。
3. 常见机械零件及选用:介绍各类常见机械零件的名称、用途、特点及选用原则,结合课本第3章内容,使学生掌握机械零件的选用和应用。
详细教学大纲如下:第1周:机械设计基本原理学习,了解机械结构类型和设计原则;第2周:机械制图基本知识学习,掌握制图规范和绘图工具使用;第3周:视图表示方法学习,提高学生的识图和绘图能力;第4周:常见机械零件的介绍及选用原则,学会在实际设计中选用合适的零件;第5周:综合实践,运用所学知识完成一个简单的机械设计制作。
教学内容注重科学性和系统性,结合课本章节安排,确保学生能够循序渐进地掌握机械设计的相关知识和技能。
大三机械设计课程设计vbPrivate Sub Command1_Click(Index As Integer)Dim dblWP As Double, dblHP As Double, i As IntegerdblWP = Abs(Picture1(0).ScaleWidth)dblHP = Abs(Picture1(0).ScaleHeight)For i = 0 To 5Picture1(i).ClsPicture1(i).ScaleMode = 1Picture1(i).DrawStyle = 0Picture1(i).DrawWidth = 1.5Picture1(i).Scale (-120, dblHP / 2)-(dblWP - 120, -dblHP / 2)Picture1(i).Line (0, 0)-(dblWP - 160, 0)Picture1(i).Line (dblWP - 160, 0)-Step(-120, 120) Picture1(i).Line (dblWP - 160, 0)-Step(-120, -120)Picture1(i).CurrentX = dblWP - 700Picture1(i).CurrentY = 250Picture1(i).CurrentX = -120Picture1(i).CurrentY = -10Picture1(i).Print "0"Picture1(i).Line (0, dblHP / 2 - 60)-(0, -(dblHP / 2 - 60))Picture1(i).Line (0, dblHP / 2 - 60)-Step(-120, -120)Picture1(i).Line (0, dblHP / 2 - 60)-Step(120, -120)Picture1(i).CurrentX = 160Picture1(i).CurrentY = dblHP / 2 - 60If i <> 0 Then Picture1(i).FontName = "ms sans serif"Select Case iCase 0Picture1(i).Print "f_CD"Case 1Picture1(i).Print "w_CD"Case 2Picture1(i).Print "e_CD"Case 3Case 4Picture1(i).Print "v_E"Case 5Picture1(i).Print "a_E"End SelectNext iDim dblMax_f_CD As Double, dblMax_w_CD As Double, dblMax_e_CD As DoubleDim dblMax_s_E As Double, dblMax_v_E As Double, dblMax_a_E As DoubleDim dblF_CD, dblW_CD, dblE_CD As Double Dim dblS_E, dblV_E, dblA_E As DoubleDim dblF_AB, dblF_DE As DoubleDim dblAB As Double, dblCD As Double, dblDE As Double, dblAC As Double, dblH As Double,dblSE As Double, dbldf_CD As DoubleDim PI As DoublePI = 3.1415926dblAB = Val(Form1.Text1.Text)dblCD = Val(Form1.Text2.Text)dblDE = Val(Form1.Text3.Text)dblAC = Val(Form1.Text4.Text)dblH = Val(Form1.Text5.Text)dbln1 = Val(Form1.Text6.Text)For i = 0 To 360dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB))) If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB *Sin(dblF_AB)))dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE))) dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)) dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)If Abs(dblF_CD) > dblMax_f_CD Then dblMax_f_CD = Abs(dblF_CD)If Abs(dblW_CD) > dblMax_w_CD Then dblMax_w_CD = Abs(dblW_CD)If Abs(dblE_CD) > dblMax_f_CD Then dblMax_e_CD = Abs(dblE_CD)If Abs(dblS_E) > dblMax_s_E Then dblMax_s_E = Abs(dblS_E)If Abs(dblV_E) > dblMax_v_E Then dblMax_v_E = Abs(dblV_E)If Abs(dblA_E) > dblMax_a_E Then dblMax_a_E = Abs(dblA_E)Next iDim dblSx As Double, dblSy As DoubledblSx = (dblWP - 240) / 360For i = 0 To 360dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB))) If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD)+ 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE))) dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)) dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)dblSy = (dblHP / 2 - 240) / dblMax_f_CDPicture1(0).PSet (i * dblSx, dblF_CD * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_w_CDPicture1(1).PSet (i * dblSx, dblW_CD * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_e_CDPicture1(2).PSet (i * dblSx, dblE_CD * dblSy * 0.25)dblSy = (dblHP / 2 - 240) / dblMax_s_EPicture1(3).PSet (i * dblSx, dblS_E * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_v_EPicture1(4).PSet (i * dblSx, dblV_E * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_a_EPicture1(5).PSet (i * dblSx, dblA_E * dblSy)Next iEnd SubPrivate Sub Command5_Click()Dim i As DoubleDim dblAB As Double, dblCD As Double, dblDE As Double, dblAC As Double, dblH As Double, dblF_AB As Double, dbldf_CD As DoubleDim dblF_CD As Double, dblW_CD As Double, dblE_CD As DoubleDim dblS_E As Double, dblV_E As Double, dblA_E As DoubleDim dblS2 As DoubleDim dblF_DE As Double, dblw_DE As Double,dble_DE As DoubleDim PI As DoublePI = 3.1415926dblAB = Val(Form1.Text1.Text)dblCD = Val(Form1.Text2.Text)dblDE = Val(Form1.Text3.Text)dblAC = Val(Form1.Text4.Text)dblH = Val(Form1.Text5.Text)dbln1 = Val(Form1.Text6.Text)List1.ClearList1.AddItem ("f_AB" & Chr(9) & "f_CD" & Chr(9) & "w_CD" & Chr(9) & "e_CD" & Chr(9) & "s_E" & Chr(9) & "v_E" & Chr(9) & "a_E")List1.AddItem ("………………………………………………………………………………………………………………")For i = 0 To 360 Step 30dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB)))If dblF_CD < 0 Then dblF_CD = dblF_CD + PI dblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)))dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE))dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) *dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)dbldf_CD = dblF_CD * 180 / PIForm1.Text7.Text = Str(dblF_AB)Form1.Text8.Text = Str(dbldf_CD)Form1.Text9.Text = Str(dblW_CD)Form1.Text10.Text = Str(dblE_CD)Form1.Text11.Text = Str(dblS_E)Form1.Text12.Text = Str(dblV_E)Form1.Text13.Text = Str(dblA_E)List1.AddItem (Str(i) & Chr(9) & Format(Str(dbldf_CD), "0.00") & Chr(9) & Format(Str(dblW_CD), "0.00") & Chr(9) & Format(Str(dblE_CD), "0.00") & Chr(9) & Format(Str(dblS_E), "0.00") & Chr(9) & Format(Str(dblV_E), "0.00") & Chr(9) & Format(Str(dblA_E), "0.00"))Next iList1.AddItem("………………………………………………………………………………………………………………")End Sub。
Private Sub Command1_Click(Index As Integer)Dim dblWP As Double, dblHP As Double, i As Integer dblWP = Abs(Picture1(0).ScaleWidth)dblHP = Abs(Picture1(0).ScaleHeight)For i = 0 To 5Picture1(i).ClsPicture1(i).ScaleMode = 1Picture1(i).DrawStyle = 0Picture1(i).DrawWidth = 1.5Picture1(i).Scale (-120, dblHP / 2)-(dblWP - 120, -dblHP / 2) Picture1(i).Line (0, 0)-(dblWP - 160, 0)Picture1(i).Line (dblWP - 160, 0)-Step(-120, 120)Picture1(i).Line (dblWP - 160, 0)-Step(-120, -120)Picture1(i).CurrentX = dblWP - 700Picture1(i).CurrentY = 250Picture1(i).Print "f_AB"Picture1(i).CurrentX = -120Picture1(i).CurrentY = -10Picture1(i).Print "0"Picture1(i).Line (0, dblHP / 2 - 60)-(0, -(dblHP / 2 - 60)) Picture1(i).Line (0, dblHP / 2 - 60)-Step(-120, -120) Picture1(i).Line (0, dblHP / 2 - 60)-Step(120, -120)Picture1(i).CurrentX = 160Picture1(i).CurrentY = dblHP / 2 - 60If i <> 0 Then Picture1(i).FontName = "ms sans serif" Select Case iCase 0Picture1(i).Print "f_CD"Case 1Picture1(i).Print "w_CD"Case 2Picture1(i).Print "e_CD"Case 3Picture1(i).Print "s_E"Case 4Picture1(i).Print "v_E"Case 5Picture1(i).Print "a_E"End SelectNext iDim dblMax_f_CD As Double, dblMax_w_CD As Double, dblMax_e_CD As Double Dim dblMax_s_E As Double, dblMax_v_E As Double, dblMax_a_E As DoubleDim dblF_CD, dblW_CD, dblE_CD As DoubleDim dblS_E, dblV_E, dblA_E As DoubleDim dblF_AB, dblF_DE As DoubleDim dblAB As Double, dblCD As Double, dblDE As Double, dblAC As Double, dblH As Double, dblSE As Double, dbldf_CD As DoubleDim PI As DoublePI = 3.1415926dblAB = Val(Form1.Text1.Text)dblCD = Val(Form1.Text2.Text)dblDE = Val(Form1.Text3.Text)dblAC = Val(Form1.Text4.Text)dblH = Val(Form1.Text5.Text)dbln1 = Val(Form1.Text6.Text)For i = 0 To 360dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB)))If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))) dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)))dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE))dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)If Abs(dblF_CD) > dblMax_f_CD Then dblMax_f_CD = Abs(dblF_CD)If Abs(dblW_CD) > dblMax_w_CD Then dblMax_w_CD = Abs(dblW_CD)If Abs(dblE_CD) > dblMax_f_CD Then dblMax_e_CD = Abs(dblE_CD)If Abs(dblS_E) > dblMax_s_E Then dblMax_s_E = Abs(dblS_E)If Abs(dblV_E) > dblMax_v_E Then dblMax_v_E = Abs(dblV_E)If Abs(dblA_E) > dblMax_a_E Then dblMax_a_E = Abs(dblA_E)Next iDim dblSx As Double, dblSy As DoubledblSx = (dblWP - 240) / 360For i = 0 To 360dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB)))If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))) dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)))dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE))dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB))dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)dblSy = (dblHP / 2 - 240) / dblMax_f_CDPicture1(0).PSet (i * dblSx, dblF_CD * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_w_CDPicture1(1).PSet (i * dblSx, dblW_CD * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_e_CDPicture1(2).PSet (i * dblSx, dblE_CD * dblSy * 0.25)dblSy = (dblHP / 2 - 240) / dblMax_s_EPicture1(3).PSet (i * dblSx, dblS_E * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_v_EPicture1(4).PSet (i * dblSx, dblV_E * dblSy)dblSy = (dblHP / 2 - 240) / dblMax_a_EPicture1(5).PSet (i * dblSx, dblA_E * dblSy)Next iEnd SubPrivate Sub Command5_Click()Dim i As DoubleDim dblAB As Double, dblCD As Double, dblDE As Double, dblAC As Double, dblH As Double, dblF_AB As Double, dbldf_CD As DoubleDim dblF_CD As Double, dblW_CD As Double, dblE_CD As DoubleDim dblS_E As Double, dblV_E As Double, dblA_E As DoubleDim dblS2 As DoubleDim dblF_DE As Double, dblw_DE As Double, dble_DE As DoubleDim PI As DoublePI = 3.1415926dblAB = Val(Form1.Text1.Text)dblCD = Val(Form1.Text2.Text)dblDE = Val(Form1.Text3.Text)dblAC = Val(Form1.Text4.Text)dblH = Val(Form1.Text5.Text)dbln1 = Val(Form1.Text6.Text)List1.ClearList1.AddItem ("f_AB" & Chr(9) & "f_CD" & Chr(9) & "w_CD" & Chr(9) & "e_CD" & Chr(9) & "s_E" & Chr(9) & "v_E" & Chr(9) & "a_E")List1.AddItem ("………………………………………………………………………………………………………………")For i = 0 To 360 Step 30dblF_AB = i * PI / 180dblF_CD = Atn((dblAC + dblAB * Sin(dblF_AB)) / (dblAB * Cos(dblF_AB)))If dblF_CD < 0 Then dblF_CD = dblF_CD + PIdblW_CD = dblAB * (2 * PI * dbln1 / 60) * Cos(dblF_AB - dblF_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblE_CD = (-dblAB * (2 * PI * dbln1 / 60) * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) + 2 * dblAB * (2 * PI * dbln1 / 60) * Sin(dblF_AB - dblF_CD) * dblW_CD) / Sqr(Abs(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)))dblF_DE = Atn(((dblH - dblCD * Sin(dblF_CD)) / dblDE) / Sqr(Abs(1 - (dblH - dblCD * Sin(dblF_CD)) * (dblH - dblCD * Sin(dblF_CD)) / (dblDE * dblDE))))dblw_DE = (-(dblCD * dblW_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE)))dble_DE = ((dblDE * dblw_DE * dblw_DE * Sin(dblF_DE)) + dblCD * dblW_CD * dblW_CD * Sin(dblF_CD) - dblCD * dblE_CD * Cos(dblF_CD)) / (dblDE * Cos(dblF_DE))dblS2 = Sqr(dblAB * dblAB + dblAC * dblAC + 2 * dblAC * dblAB * Sin(dblF_AB)) dblS_E = dblCD * Cos(dblF_CD) + dblDE * Cos(dblF_DE)dblV_E = (-dblCD / 1000) * dblW_CD * Sin(dblF_CD) - (dblDE / 1000) * (-(dblCD / 1000) * dblW_CD * Cos(dblF_CD) / ((dblDE / 1000) * Cos(dblF_DE))) * (((dblH / 1000) - (dblCD / 1000) * Sin(dblF_CD)) / (dblDE / 1000))dblA_E = (-dblCD / 1000) * dblE_CD * Sin(dblF_CD) - (dblCD / 1000) * dblW_CD * dblW_CD * Cos(dblF_CD) - (dblDE / 1000) * dble_DE * Sin(dblF_DE) - (dblDE / 1000) * dblw_DE * dblw_DE * Cos(dblF_DE)dbldf_CD = dblF_CD * 180 / PIForm1.Text7.Text = Str(dblF_AB)Form1.Text8.Text = Str(dbldf_CD)Form1.Text9.Text = Str(dblW_CD)Form1.Text10.Text = Str(dblE_CD)Form1.Text11.Text = Str(dblS_E)Form1.Text12.Text = Str(dblV_E)Form1.Text13.Text = Str(dblA_E)List1.AddItem (Str(i) & Chr(9) & Format(Str(dbldf_CD), "0.00") & Chr(9) &Format(Str(dblW_CD), "0.00") & Chr(9) & Format(Str(dblE_CD), "0.00") & Chr(9) & Format(Str(dblS_E), "0.00") & Chr(9) & Format(Str(dblV_E), "0.00") & Chr(9) & Format(Str(dblA_E), "0.00"))Next iList1.AddItem ("………………………………………………………………………………………………………………")End Sub。