版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计课程名称 NC 课程设计 题目名称平面凸轮的数控加工程序的编制学生学院 机电 专业班级_ 05 机电提高一班 学学生号3105000082_指导教师_200 8年6月29日目录2任务书3内容提要6引 言6一、 凸轮的分类7二、凸轮设计的现状7凸轮的设计原理7一)确定各段推杆运动曲线7推杆的运动规律8 运动规律的类型93.运动规律的特征参数10 运动规律选择原则11 其他限制条件121、多项式运动规律12 运动规律的类型14二) 曲线的数学处理16三) 如何得到 NC 加工代码17设计的思路及步骤171.等间距法及在本程序中的程序实现20(1)、等间距的实现20判断基本参数的输入21坐标
2、生成21画基圆和升程224.画曲线(等).22NC 代码显示22刀具路径的显示23使用说明及测试23输入基本参数23输入曲线参数24显示基本参数和图形25NC 加工参数输入25设计小结27参 考 文 献28附录28任务书一、数控机床课程设计的目的数控机床课程设计是机电专业教学活动的一个重要的实践性环节,是对学生所学数控机床课程和其它有关课程知识和技能的一次综合性练在使之巩固、充实、系统化,并得到进一步扩展。课程设计是培养学生理论联系实际、解决生产实际问题的机会。通过对数控铣床典型的结构设计、典型零件编程或数控装置的计算机仿真,使学生对数控机床的结构原理、编程方法处理实际问题的一般步骤和具体技巧
3、、数控装置设计及使用得到训练,提高运用所学专业知识分析问题和解决问题的能力。二、数控机床课程设计的内容与要求每个学生应在规定时间内,独立完成所选题目,对于做机械结构设计的学生,要求用计算机绘图方式绘制有关的总装图(A0 或 A1 图纸一张)和不少于三张的零件图。设计说明书 5000 字以上。要求装配图充分表明整机或的工作原理及结构,装配关系明确,画面整洁,布局合理,线条粗细均匀,圆弧连接光滑,尺寸标注规范,文字注释必须使用工整字体书写,符合。对选择仿真的学生,用 VB 编程语言,编写计算机在 WINDOWS 实现数控装置的计算机仿真。要求清楚地分析问题、提出算法、确定人机界面、列出流程图,最后
4、用程序验证,完成交程序说明书。测试,并且提对选择典型零件编程题目的学生,要求用编写计算机的方法解决数控过程的一个问题。可以任选用本人熟悉的一种编程语言,要求清楚地分析问题、提出算法、列出流程图,最后用程序验证,并且提交程序说明书。三、课程设计的步骤课程设计的步骤大致包括:研究,收料,查阅文献;论证及确定设计方案,进行机械结构设计和设计,编写程序和编制设计说明书,最后参加课程设计的答辩。日期:从 6 至 159 周四、设计说明书的编写课程设计过程中参考和阅读各种文献资料是重要的。因此设计说明书中要求有一定篇幅的文献综述。设计说明书是图纸设计的理论根据,是结。因此是审核设计是否合理的技术文件之一。
5、设计和方法的重要工作,又是设计计算的整理和总设计说明书要求计算正确,论述清楚、文字简洁通顺、语言流畅、无错别字、书写工整,要求独立完成。对计算内容只须写出计算公式,再代入各文字符号相应的数值 (运算和简化过程不必写出),写出计算结果,并表明,写出简短的结论。说明书中应包括与文字和计算有关的必要简图,作到图文并茂。插图及各种曲线图表、框图等均不得用徒手画,必须按说明书中所或工程要求绘制,各种符号、名称和计量均须符合。 设计的重要公式、数 据或论点,应注明来源,或在右上角标出参考文献的说明书应用黑色或蓝黑色钢笔书写,或用计算机打印,格式要求按下列次序: 1、数控机床课程设计题目;2、目录 (标题、
6、页次);3、内容提要(200 字,必须用中英文各一份);4、引言;5、正文;6、参考文献;7、附录;正文内容大致如下:A 机械结构设计题目示例1、数控系统总体方案的分析、原理阐述和框图;2、机械部分设计计算、结构设计过程说明;3、结构和零件参数的选择和计算;4、使用、运行、保养、装配的必要的技术说明等;5、设计小结 (对数控机床课程设计的体会,设计方案优缺点及改进意见等)。B设计题目示例1、所选题目的国内外发展概况及所完成的主要内容;2、系统设计(包括开发工具的选择、人机界面的确定、功能模块的划分等)。3、主要功能模块详细说明:算法说明、程序流程图、简要程序。4、所设计的使用说明及。5、设计小
7、结 (对数控机床课程设计的体会,设计方案优缺点及改进意见等)。五、设计成绩的评定课程设计必须经过答辩、设计图纸和运行等过程,按优、良、中、及格和不及格五级评分。没有答辩的学生不予记分。根据学生完成的结构设计结果、的工作表现评定成绩。功能和说明书、答辩情况及设计过程中六、数控机床课程设计题目(本人选题)3平面凸轮的数控加工程序的编制设有凸轮如图 3 所示。凸轮转角 t 与从动件位移 s 的关系即凸轮轮廓的平面图如图 4 所示。要求分析凸轮的曲线规律,设计一个能够用于平面凸轮的参数化绘图和生成数控加工的代码。即:有一个凸轮设计的友好的界面;能够按照用户要求生成凸轮的曲线轮廓,对于非圆几何形状可采用
8、直线或圆弧能够生成数控代码;凸轮设计中设及的有关参数可自行设定,或参考图 4 中的参数。近的方式生成曲线;ysIIIIIIhItrrtrtxIIot0120240360IIIt凸轮转角(o) s从动件位移(mm) r 基b圆半径(mm) rt顶圆半径(mm) h从动件升程(mm) r半径变量(mm)图 4 凸轮转角 t 与从动件位移 s 的关系图 3 凸轮轮廓七、参考文献1机床设计手册第三分册2 廖效果.数字控制机床.:华中理工大学.1992.93 廖效果.数控技术.:科学技术.2000.74.数字控制机床.:机械工业5.机床电气控制.重庆:重庆大学6.Basic 语言结构化程序设计.:中国科
9、学技术.19907凸轮曲线的快速画法.机械工程师 1998,(6):p22-23rb课程设计说明书的编写课程设计过程中参考和阅读各种文献资料是重要的。因此设计说明书中要求有一定篇幅的文献综述。设计说明书是图纸设计的理论根据,是设计和方法的重要工作,又是设计计算的整理和总结。因此是审核设计是否合理的技术文件之一。设计说明书要求计算正确,论述清楚、文字简洁通顺、语言流畅、无错别字、书写工整,要求独立完成。对计算内容只须写出计算公式,再代入各文字符号相应的数值 (运算和简化过程不必写出),写出计算结果,并表明,写出简短的结论。说明书中应包括与文字和计算有关的必要简图,作到图文并茂。插图及各种曲线图表
10、、框图等均不得用徒手画,必须按或工程要求绘制,各种符号、名称和计量均须符合。说明书中所的重要公式、数据或论点,应注明来源,或在右上角标出参考文献的。 设计说明书格式要求按下列次序:1、数控机床课程设计题目;2、目录 (标题、页次);3、内容提要(200 字,必须用中英文各一份);4、引言;5、正文(包括算法原理,程序流程图、框图,功能介绍,使用说明及测试实例、结果介绍);6、全文总结7、致谢8、参考文献;9、主要程序附录(加程序注释);内容提要通过对典型零件编程,使学生对数控机床编程方法处理实际问题的一般步骤和具体技巧、数控装置设计及使用得到训练,提高运用所学专业知识分析问题和解决问题的能力。
11、本课程设计在 VB 上实现了:有一个凸轮设计的友好的界面;能够按照用户要求生成凸轮的曲线轮廓,对于非圆几何形状可采用直线或圆弧近的方式生成曲线;能够生成数控代码;引言在各种机械,特别是自和自动控制装置中,广泛采用着各种形式的凸轮机构。一、 凸轮的分类 凸轮按形状分类可以分为:盘状凸轮:这种凸轮是一个具有变化向径的盘形构件绕固定轴线回转。圆柱凸轮。这种凸轮是一个在圆柱面上开有曲线凹槽,或是在圆柱端面上作出曲线轮廓的构件。 按推杆的形状分尖顶推杆。滚子推杆平底推杆3.根据推杆的运动形式的不同分直动推杆(作往复直线运动)往复摆动(作往复摆动)4.根据凸轮与推杆保持接触的方法不同分力封闭凸轮机构。它利
12、用推杆的重力、弹簧力来使推杆与凸轮保持接触。几何封闭的凸轮机构。它利用凸轮或推杆的特殊几何结构使凸轮与推杆保持接触。二、凸轮设计的现状凸轮机构是能使从动件按给定规律运动的高副机构,被广泛应用于各类机械中。然而,由于凸轮机构设计复杂,计算工作量大,凸轮轮廓的精度对输出响应影响大,凸轮加工较等原因,应用范围及应用水平受到限制。传统的盘形凸轮设计主要有图解法和法,加工方法有手工线加工和数控铣削加工,大批量生产亦可采用仿形铣。图解法直观简单,但是手工作图选取的等分数有限、精度差。以此为基础工画线加工的精度和加工表面精度都比较低。目前大多数凸轮的设计仍采用手工方法,以尖顶对心直动从动件的凸轮轮廓设计为例
13、(本所解决)。从动件的运动规律如图二,要求生成对应的凸轮轮廓,常用的方法是描点和拟合。对图中水平线从动件没有升降运动的,可以在凸轮坐标系中直接根据圆心,半径,转角画出圆弧;对斜线段,可用适当的几个绕圆心均匀分布,半径线性增加的节电连成曲线;对曲线段,可以求出尽可能多的结点连接成轮廓。手工从事这部分工作既麻烦又难保证精度,因此,对于从动件运动规律复杂,精度要求高的凸轮,手工操作难以胜任。上述部分工作虽然可以借助专门的凸轮设计,但大多数一般用户并不拥有这些。于是可以在法的基础上用 VB 对从动件运动规律编程,实现凸轮的参数化设计,自动生成 NC 代码,供数控机床加工凸轮零件。二.凸轮的设计原理本的
14、设计就是根据工作要求选定合适的凸轮结构的形式、推杆的运动规律和有关的基本尺寸,然后根据选定的推杆运动规律设计出凸轮应有的轮廓曲线。其关键是根据工作要求选定推杆的运动规律,并运用数学对运动曲线进行处理,以生成 NC 代码,供数控机床使用。一)确定各段推杆运动曲线推杆的运动规律凸轮机构设计的主要步骤是确定从动件的运动规律(见下图)。从动件的运动规律主要由以下参数确定:从动件行程 h、推程运动角 u、远休止角 s、回程运动角 d进休止角 0对于盘型凸轮,凸轮转动一周完成一个循环,即有:和u+s+d+0=360一般,各个角度由机构的使用要求决定,但通常可以进行调整,使其获得更优的性能。原则上,推程运动
15、角 u 越大越好,可以减小推程的压力角 。回程运动角 d 可以略小些,因为回程一般不是工作行程,压力角可以大些。从动件运动规律示意图 运动规律的类型运动规律可以用从动件的位移 S、速度 V、加速度 a 以及跃度 j (j=da/dt)来表示,如上图。常见运动规律的公式如下表(h 为行程,x=/u,0 x1):根据实际我选用了比较常用和容易实现的五种曲线(两大类) 多项式运动规律设取边界条件为在起点处 三角函数运动规律 余弦加速度运动规律(简谐运动规律)从动件的加速度余弦规律变化,其运动方程为: 正弦加速度运动规律(摆线运动规律)从 动 件 的 加 速 度 按 正 弦 规 律 变 化 , 其 运
16、 动 方 程 为 :其中:等速运动:极大的冲击;等加速、等:冲击较大;余弦加速度运动:冲击力较小;正弦加速度运动:没冲击。由于凸轮的曲线函数还有很多,如五项式、高次方、谐波等,在此设计的范围,而对于凸轮的具体运用场合如对心直推,偏置直动推杆盘状凸轮机构,摆动推杆,平底推杆等情况也不予考虑,同时也忽略了对设计完成的凸轮的冲击力情况的二) 曲线的数学处理。知道数控系只有用直线或圆弧去近法,2)等弦长直线般都只有直线和圆弧插补功能,对于非圆曲线轮廓,近它。以下是几种常用的近法,3)等误差直线近方法:1)等间距直线近法,4)圆弧近法。鉴于等间距直线近法比较简单、易懂,而其余三种方法非常复杂,故我采用了
17、等间距直线近法来作出曲线的形状。等间距直线近法简介如下:等间距直线近法是使每一个程序段中的某一个坐标的增量相等。下图表示加工一个凸轮时,x 坐标按等间距分段时结点的分布情况。将x1x7 的值代入方程 y=f(x),可求得y1y14 的值,从而得到结点A1A14 的坐标值。把 A1A2、 A2A3A14A1 用直线连起来,即到曲线图形。间距大小一般根据零件加工精度要求凭经验选取。求出结点坐标后再验算小于允许值。近误差是否等间距法计算简单,但由于取定的间距应保证曲线曲率最大处的小于允许值,所以程序可能过多。近误差考虑到数控机床的精度一般为 0.01,在本中,我采用的间距起先为0.1mm,即 x 轴
18、每隔 0.1mm 取一个点,(如图代码,str 是指所画圆弧的开始点,end1 是终点,step0.1 指每 0.1 个但最终间距由精度决定.画一个点,利用循环语句画出所要求曲线)三) 如何得到 NC 加工代码。要生成 NC 代码,可以用 AutoCAD 内嵌的Autolisp 进行转化成 DXF 文件,然后把此文件导入 MsterCAM 中生成 NC 代码。但这样太麻烦了!由于题目的凸轮加工也比较简单,所以我决定用 VB 直接编写 NC 代码,以便本更加人性化。当然了,编写出来的代码,不能像 MasterCAM 生成的那样完善。不过,无论你用哪种方法得到 NC 代码,其主体部分肯定相同的。所
19、以,对于自行编写出的 NC 代码,所附源代码)稍加修改也一样可以达到目的。(见主要程序说明或三设计的思路及步骤由于 Visual Basic 语言编程较为简单,界面友好,所以选用 Visual Basic 进行编程。本要实现的功能是接受用户输入,作出平面凸轮图形,输出 NC代码,并且界面友好方便,具体的步骤是: 设计用户界面在 Visual Basic 6.0 中,界面的设计较为容易。由于本功能较为单一和集中,为了方便数据输入,凸轮图形的显示和代码进行对比,本人决定把住窗体分为三部分,左边为基本数据的输入,中间为凸轮推杆曲线图和凸轮平面图的显示,右边则是数控加工基本参数的输入以及代码的显示,导
20、出。(见下图)生成凸轮图形在中,提供了凸轮设计中所用到的最基本的五条曲线方程给用户选择,曲线方程的重复无限次。其中的关键的如何把输入的方程首尾相接,形成凸轮。而我是从凸轮的展开图入手的。因为要输入的曲线都有一个共同特征,x=0 时,f(x)=0。可开辟一个各节点角度的数组 ang(3600000)和总升程的数组 yy(3600000),问题就解决了,即如下代码:ang(low) = str + i yy(low) = Y +(str 是指前一条曲线的终止点,i 是本段曲线的角度增量)本段开始点后段始点然后把展开图的直角坐标系转换为平面图的极坐标系即形。为了下一步 NC 代码,所以定义了两个全局
21、静态数组到凸轮真实的图Ptx(3600000)和 pty(3600000)分别说明或所附源程序) NC 加工代码生成有了上面留下来的点的数值,各节点的横坐标与纵坐标.(见主要程序就可以很方便编写 NC 代码了。思路是,在NC 代码的头尾编写与数控实际加工有关的参数,如坐标的选择,刀具半径,主轴转速等等。因为是采用等间距直线插补,所以代码的中间部分就直接取出上面的点的坐标就可以了,在 VB 中以循环的方法就可以很容易实现。如代码:四主流程图开始生成曲线图和平面图输入该运动规律基本参数选择从动件运动规律输入基本参数选择完毕?五。主要模块程序说明1.等间距法及在本程序中的程序实现 (1)、等间距的实
22、现由于凸轮的节点方程是采用极坐标形式的,故要实现节点横坐标的等间距,就必须通过角度的增加间接来实现.其流程图如下ptx(low) = (radius + () * Sin(Huan * PI / 180)当ang(low) enadn1g(low) = str; i = 0.1;j = 0.1Y = yyy(i, n)+ Y) * Sin(Huan + k) * PI / 180)ptx(low + 1) = (radius+ (Abs(Abs(ptx(low+1)-ptx(low)- xstep) 10 -5 And i 0?是否f = 1g=1g=1?f=1?是j=0.5*jg = 0否i
23、 = i - jj=0.5*j是g=0否i=i+ji+ strend1low = low + 1 ang(low) = end1是否ptx(low) = (radius + h) * Sin(end1 * PI / 180)其中 yyy(i,n)是第 n 种曲线的相对升程方程函数.源程序如下:显示 NC 代码输入数控参数1.判断基本参数的输入限制凸轮曲线段数为大于二的数2.坐标生成画坐标图框随输入变化3.画基圆和升程4.画曲线(等)X 每隔一个步长0.1mm 画一条直线5.NC 代码显示分绝对和相对坐标编程(相对部分见附代码)循环次数,即刀要走的圈数把点取出进行直线插补6.刀具路径的显示本程序
24、有自动生成刀具路径的功能生成绿色曲线图和手动刀具滚动动画图刀具节点的计算程序如下六使用说明及测试1.输入基本参数曲线段数不能小于 1升程不能为负2.输入曲线参数曲线末点要比始点大3.显示基本参数和图形4.NC 加工参数输入按显示代码按键以查看代码:顺时铣削时刀具路径逆时铣削时七设计小结这次课程设计做得比较辛苦,因为时间较紧,而且自己的VB 基础不怎么好。从开始想清楚算法,把凸轮的算法想出来,到用 VB 编程序画出曲线,费了挺大精力。幸好有同学 VB 基础比较好,跟大家一起,从一无所知到渐渐明白,过程是艰苦的,但是可以学到一点知识,也觉得挺值得。做好这个课程设计,也将为自己将来的毕业设计打下一定
25、的基础,也令自己认识到自己的编程能力有待提高。今后会更加努力学习,争取把编程的能力提高一个档次。参 考1申永胜 主编。机械原理文 献。主编.数控技术.,1999科学技术2.3.廖效果,2003淘.工业大学.参数化转换凸轮轮廓及自动生成 NC代码. 机床与曾,2001,2001.No6编. Visual Basic 程序设计4.,. 高等教育,5.6.主编.机械原理. 高等教育创作室编著. visual basci6.0 新起点实用,2003.机械工业,1999附录:源代码Option ExplicitPublic ptx(3600) As Double Public pty(3600) As
26、Double Public low As Double曲线由于点数组最终输出的点数组下标当前为第几段曲线输入的值Public countnum AsegerPublic Const PI = 3.14159 Public area As Double Public sch As Double Public tch As Double Public Huan As Double角度范围的值总升程输入曲线的推程 坐标变换数据PublicAs DoublePublic a1 As String, a2 As String, a3 As String Public b1 As DoublePublic
27、 savetime As DoublePublis Double窗体Option Explicit Dim j%Public bch As String, zbx As String, M Aseger, sd As StringPrivate Sub qued_click()Dim c1 Aseger, c2 Aseger, c Aseger验证基圆半径,升程,曲线段数的输入是否为数字 If Val(InRadius) = 0 ThenMsgBox (不能为空或负值,请重新输入), 16 InRadius = InRadius.SetFocusElseIf Val(InRise1) = 0
28、ThenMsgBox (不能为空或负值,请重新输入), 16 InRise1 = InRise1.SetFocusElseIf Val(InNum) Val(NumStr) Thenstr = Val(NumStr): end1 = Val(NumEnd): h = Val(NumH) radius = Val(FrmView.InRadius)low = 10 * Val(NumStr)For i = 0 To (end1 - str) Step 0.1为 ptx()、pty()的下标赋值X = iY = h * i / (end1 - str)FrmView.PicView2.PSet (
29、X, Y), RGB(1000, 0, 0)坐标变换,把 Picview2 中的图形转换到 Picview1 中ptx(low) = (radius + ( pty(low) = (radius + (+ Y) * Sin(Huan + i) * PI / 180)+ Y) * Cos(Huan + i) * PI / 180)FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000, 0, 0) low = low + 1Frmkx.Hide FrmView.CmbSlect.Enabled = FalseNext iFrmView.CmbSle
30、ct.Enabled = True显示当前为第几条曲线的输入If FrmView.CountAll.Caption = FrmView.CountNow.Caption Then FrmView.CmbSlect.Enabled = FalseElsecountnum = countnum + 1 FrmView.CountNow.Caption = countnumEnd If Frmkx.Hide 设定范围area = Val(NumEnd) tch = tch + h坐标变换数据 FrmView.PicView2.ScaleTop = sch - tchFrmView.PicView2.
31、ScaleLeft = -20 - Val(NumEnd) Huan = Val(NumEnd)=+ ha1 = NumStr: a2 = NumEnd: a3 = NumH把所选函数及输入的参数显示在主窗口的参数显示栏FrmView.Picture1.Pra1; ; a2; 等速运动b1 = b1 + Val(NumH); h=; a3; ; _If Val(FrmView.InRise1) ThenMsgBox (超出总升程,请重新输入!), 16low = 0area = 0b1 = 0FrmView.PicView1.Cls FrmView.PicView2.Cls数据初始化预览窗口清
32、屏FrmView.PicView2.ScaleLeft = -20 初始化坐标系 FrmView.PicView2.ScaleTop = 18 FrmView.Picture1.ClsFrmView.Show FrmView.InRadius.Enabled = True FrmView.InRise1.Enabled = True FrmView.InNum.Enabled = True FrmView.qued.Enabled = True FrmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0 FrmView.CmbSlect.E
33、nabled = False FrmView.PicView1.Visible = False FrmView.PicView2.Visible = False End IfElseMsgBox (范围出错!), 16 Frmkx.NumEnd.Text = Frmkx.NumEnd.SetFocus End IfElseMsgBox (输入为空或有字符,请重新输入!) End IfEnd SubPrivate Sub Frmkx.Hide End Subd2_Click()等加速运动 Option Explicit Private Subd1_Click()Dim str As Double
34、, end1 As Double, h As Double Dim i As Double, radius As DoubleDim X As Double, Y As DoubleIf IsNumeric(NumStr) And IsNumeric(NumEnd) And IsNumeric(NumH) Then If Val(NumEnd) Val(NumStr) Thenstr = Val(NumStr): end1 = Val(NumEnd): h = Val(NumH) radius = Val(FrmView.InRadius)low = 10 * Val(NumStr)For i
35、 = 0 To (end1 - str) Step 0.1 X = iY = h * (i 2) / (end1 - str) 2) FrmView.PicView2.PSet (X, Y), RGB(1000, 0, 0)ptx(low) = (radius + ( pty(low) = (radius + (+ Y) * Sin(Huan + i) * PI / 180)+ Y) * Cos(Huan + i) * PI / 180)FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000, 0, 0) low = low + 1FrmAInc
36、.Hide FrmView.CmbSlect.Enabled = FalseNext iFrmView.CmbSlect.Enabled = True显示当前为第几条曲线If FrmView.CountAll.Caption = FrmView.CountNow.Caption ThenFrmView.CmbSlect.Enabled = False Elsecountnum = countnum + 1 FrmView.CountNow.Caption = countnum End IfFrmAInc.Hide 设定范围area = Val(NumEnd) tch = tch + h坐标变换
37、数据 FrmView.PicView2.ScaleTop = sch - tchFrmView.PicView2.ScaleLeft = -20 - Val(NumEnd) Huan = Val(NumEnd)=+ ha1 = NumStr: a2 = NumEnd: a3 = NumH FrmView.Picture1.Pra1; ; a2; 等加速度运动b1 = b1 + Val(NumH); h=; a3; ; _If Val(FrmView.InRise1) ThenMsgBox (超出总升程,请重新输入!), 16low = 0area = 0b1 = 0FrmView.PicVie
38、w1.Cls FrmView.PicView2.Cls数据初始化预览窗口清屏FrmView.PicView2.ScaleLeft = -20 初始化坐标系 FrmView.PicView2.ScaleTop = 18 FrmView.Picture1.ClsFrmView.Show FrmView.InRadius.Enabled = True FrmView.InRise1.Enabled = True FrmView.InNum.Enabled = True FrmView.qued.Enabled = True FrmView.CountAll.Caption = 0FrmView.Co
39、untNow.Caption = 0 FrmView.CmbSlect.Enabled = False FrmView.PicView1.Visible = False FrmView.PicView2.Visible = False End IfElseMsgBox (范围出错!), 16 FrmAInc.NumEnd.Text = FrmAInc.NumEnd.SetFocus End IfElseMsgBox (请重新输入!) End IfEnd SubPrivate Sub FrmAInc.Hide End Subd2_Click()等Option Explicit Private S
40、ubd1_Click()Dim str As Double, end1 As Double, h As Double Dim i As Double, radius As DoubleDim X As Double, Y As DoubleIf IsNumeric(NumStr) And IsNumeric(NumEnd) And IsNumeric(NumH) Then If Val(NumEnd) Val(NumStr) Thenstr = Val(NumStr): end1 = Val(NumEnd): h = Val(NumH) radius = Val(FrmView.InRadiu
41、s)low = 10 * Val(NumStr)For i = 0 To (end1 - str) Step 0.1 X = iY = h - h * (end1 - str) - i) 2 / (end1 - str) 2FrmView.PicView2.PSet (X, Y), RGB(1000, 0, 0)ptx(low) = (radius + ( pty(low) = (radius + (+ Y) * Sin(Huan + i) * PI / 180)+ Y) * Cos(Huan + i) * PI / 180)FrmView.PicView1.PSet (ptx(low), p
42、ty(low), RGB(1000, 0, 0) low = low + 1FrmADec.HideFrmView.CmbSlect.Enabled = FalseNext iFrmView.CmbSlect.Enabled = True显示当前为第几条曲线If FrmView.CountAll.Caption = FrmView.CountNow.Caption ThenFrmADec.Hide设定范围 area = Val(NumEnd)tch = tch + h坐标变换数据 FrmView.PicView2.ScaleTop = sch - tchFrmView.PicView2.Sca
43、leLeft = -20 - Val(NumEnd) FrmView.CmbSlect.Enabled = FalseElsecountnum = countnum + 1 FrmView.CountNow.Caption = countnum End IfHuan = Val(NumEnd)=+ ha1 = NumStr: a2 = NumEnd: a3 = NumH FrmView.Picture1.Pra1; ; a2; ; h=; a3; ; _等运动b1 = b1 + Val(NumH)If Val(FrmView.InRise1) ThenMsgBox (超出总升程,请重新输入!)
44、, 16low = 0area = 0b1 = 0FrmView.PicView1.Cls FrmView.PicView2.Cls数据初始化预览窗口清屏FrmView.PicView2.ScaleLeft = -20 初始化坐标系 FrmView.PicView2.ScaleTop = 18FrmView.Picture1.ClsFrmView.Show FrmView.InRadius.Enabled = TrueFrmView.InRise1.Enabled = True FrmView.InNum.Enabled = True FrmView.qued.Enabled = True F
45、rmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0 FrmView.CmbSlect.Enabled = False FrmView.PicView1.Visible = False FrmView.PicView2.Visible = FalseEnd IfElseMsgBox (范围出错!), 16 FrmADec.NumEnd.Text = FrmADec.NumEnd.SetFocus End IfElseMsgBox (输入为空或有字符,请重新输入!) End IfEnd Sub Private Subd2_Click()F
46、rmADec.Hide End Sub正弦等加速运动 Option Explicit Private Subd1_Click()Dim str As Double, end1 As Double, h As DoubleDim i As Double, radius As Double, savetime As Double Dim X As Double, Y As DoubleIf IsNumeric(NumStr) And IsNumeric(NumEnd) And IsNumeric(NumH) Then If Val(NumEnd) Val(NumStr) Thenstr = Val
47、(NumStr): end1 = Val(NumEnd): h = Val(NumH) radius = Val(FrmView.InRadius)low = 10 * Val(NumStr)For i = 0 To (end1 - str) Step 0.1 X = iY = h * (i / (end1 - str) - Sin(2 * PI * i / (end1 - str) / (2 * PI) FrmView.PicView2.PSet (X, Y), RGB(1000, 0, 0)ptx(low) = (radius + ( pty(low) = (radius + (+ Y)
48、* Sin(Huan + i) * PI / 180)+ Y) * Cos(Huan + i) * PI / 180)FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000, 0, 0) low = low + 1FrmSinx.Hide FrmView.CmbSlect.Enabled = FalseNext iFrmView.CmbSlect.Enabled = True显示当前为第几条曲线If FrmView.CountAll.Caption = FrmView.CountNow.Caption Then FrmView.CmbSlect.
49、Enabled = FalseElsecountnum = countnum + 1 FrmView.CountNow.Caption = countnum End IfFrmSinx.Hide 设定范围area = Val(NumEnd) tch = tch + h坐标变换数据 FrmView.PicView2.ScaleTop = sch - tchFrmView.PicView2.ScaleLeft = -20 - Val(NumEnd) Huan = Val(NumEnd)=+ ha1 = NumStr: a2 = NumEnd: a3 = NumH FrmView.Picture1.
50、Pra1; ; a2; 正弦加速度运动 b1 = b1 + Val(NumH); h=; a3; ; _If Val(FrmView.InRise1) ThenMsgBox (超出总升程,请重新输入!), 16low = 0area = 0b1 = 0FrmView.PicView1.Cls FrmView.PicView2.Cls数据初始化预览窗口清屏FrmView.PicView2.ScaleLeft = -20 初始化坐标系 FrmView.PicView2.ScaleTop = 18 FrmView.Picture1.ClsFrmView.Show FrmView.InRadius.E
51、nabled = True FrmView.InRise1.Enabled = True FrmView.InNum.Enabled = True FrmView.qued.Enabled = TrueFrmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0 FrmView.CmbSlect.Enabled = False FrmView.PicView1.Visible = False FrmView.PicView2.Visible = False End IfElseMsgBox (范围出错!), 16 FrmSinx.NumEnd.Text = FrmSinx.NumEnd.SetFocus End IfElseMsgBox (输入为空或有字符,请重新输入!) End IfEnd SubPrivate Sub FrmSinx.Hide End Subd2_Click()余弦等加速运动 Option Explicit Private Subd1_Click()Dim str As Double, end1 As Double, h As Double Dim i As Double, radius As DoubleDim X
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高科技企业应收账款质押担保合同样本3篇
- 二零二五版高校学术期刊合作承包出版合同3篇
- 2025版卫生院与乡村医生合作协议书3篇
- 二零二五版旅游导购人员派遣合同2篇
- 2025年度跨境电商进口商品质量担保合同4篇
- 二零二五年车抵押贷款提前还款合同模板3篇
- 2025版无人配送机器人运营免责条款合同范本4篇
- 二零二五版企业班车租赁及节能减排服务合同3篇
- 二零二五年度透水混凝土工程市场营销合作协议2篇
- 第一人民医院二零二五年度进修人员医疗质量管理与服务协议3篇
- 第1课 隋朝统一与灭亡 课件(26张)2024-2025学年部编版七年级历史下册
- 2025-2030年中国糖醇市场运行状况及投资前景趋势分析报告
- 冬日暖阳健康守护
- 水处理药剂采购项目技术方案(技术方案)
- 2024级高一上期期中测试数学试题含答案
- 山东省2024-2025学年高三上学期新高考联合质量测评10月联考英语试题
- 不间断电源UPS知识培训
- 三年级除法竖式300道题及答案
- 品学课堂新范式
- GB/T 1196-2023重熔用铝锭
- 幼儿园教师培训:计数(数数)的核心经验
评论
0/150
提交评论