已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.八 附源程序模块Option ExplicitPublic ptx(3600) As Double 曲线存储点数组Public pty(3600) As Double 由于存储最终输出的点Public low As Double 数组下标Public countnum As Integer 存储当前为第几段曲线输入的值Public Const PI = 3.14159Public area As Double 存储角度范围的值Public sch As Double 总升程Public tch As Double 输入曲线的推程Public Huan As Double 坐标变换数据Public Gao As DoublePublic a1 As String, a2 As String, a3 As StringPublic b1 As DoublePublic savetime As DoublePublic i As DoubleFrmView 主窗口Option ExplicitDim j%Public bch As String, zbx As String, M As Integer, sd As StringPrivate Sub CmbSlect_Click() 选择曲线类型Select Case CmbSlect.ListIndexCase 0 等加速运动dengjiasu.NumStr.Text = 清空Text文本框dengjiasu.NumEnd.Text = dengjiasu.NumH.Text = dengjiasu.NumStr.Text = area 设定default范围dengjiasu.NumStr.Enabled = Falsedengjiasu.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then 最后一段曲线 dengjiasu.NumEnd.Text = 360 输入时,自动输入 dengjiasu.NumEnd.Enabled = False 默认值 dengjiasu.NumH.Text = -b1 End Ifdengjiasu.Show 1Case 1 等速运动dengsu.NumStr.Text = dengsu.NumEnd.Text = dengsu.NumH.Text = dengsu.NumStr.Text = areadengsu.NumStr.Enabled = Falsedengsu.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then dengsu.NumEnd.Text = 360 dengsu.NumEnd.Enabled = False dengsu.NumH.Text = -b1 End Ifdengsu.Show 1Case 2 正弦加速度运动sinx.NumStr.Text = sinx.NumEnd.Text = sinx.NumH.Text = sinx.NumStr.Text = areasinx.NumStr.Enabled = Falsesinx.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then sinx.NumEnd.Text = 360 sinx.NumEnd.Enabled = False sinx.NumH.Text = -b1 End Ifsinx.Show 1Case 3 余弦加速度运动Cosx.NumStr.Text = Cosx.NumEnd.Text = Cosx.NumH.Text = Cosx.NumStr.Text = areaCosx.NumStr.Enabled = FalseCosx.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then Cosx.NumEnd.Text = 360 Cosx.NumEnd.Enabled = False Cosx.NumH.Text = -b1 End IfCosx.Show 1Case 4 等减速运动dengjiansu.NumStr.Text = dengjiansu.NumEnd.Text = dengjiansu.NumH.Text = dengjiansu.NumStr.Text = areadengjiansu.NumStr.Enabled = Falsedengjiansu.NumEnd.Enabled = True If CountAll.Caption = CountNow.Caption Then dengjiansu.NumEnd.Text = 360 dengjiansu.NumEnd.Enabled = False dengjiansu.NumH.Text = -b1 End Ifdengjiansu.Show 1End SelectEnd SubPrivate Sub Command1_Click()On Error Resume NextStatic i%Dim FileSelect$i% = i% + 1j% = i%CommonDialog2.Action = 2CommonDialog2.InitDir = c:FileSelect$ = CommonDialog2.FileNamePicView1.Picture = PicView1.ImageSavePicture PicView1.Picture, FileSelect$End SubPrivate Sub Command2_Click()On Error Resume Next 推杆运动曲线图导出 Static i% Dim FileSelect$ i% = i% + 1 j% = i% CommonDialog3.Action = 2 CommonDialog3.InitDir = c: FileSelect$ = CommonDialog3.FileName PicView2.Picture = PicView2.Image SavePicture PicView2.Picture, FileSelect$End SubPrivate Sub Command3_Click() NCFile_ClickEnd SubPrivate Sub Form_Load()area = 0countnum = 1FrmView.ShowfrmAbout.ShowfrmAbout.Timer1.Interval = 250End SubPrivate Sub Frmch_Click()Frmliuch.ShowEnd SubPrivate Sub NCFile_Click()FrmNC.Show 1End SubPrivate Sub New_Click()FrmView.InRadius.Text = 清空Frmin1窗口中文本框的数值FrmView.InRise1.Text = FrmView.InNum.Text = low = 0 数据初始化area = 0b1 = 0FrmView.PicView1.Cls 预览窗口清屏FrmView.PicView2.ClsFrmView.PicView2.ScaleLeft = -20 初始化坐标系FrmView.PicView2.ScaleTop = 18FrmView.Picture1.ClsFrmView.ShowFrmView.InRadius.Enabled = TrueFrmView.InRise1.Enabled = TrueFrmView.InNum.Enabled = TrueFrmView.qued.Enabled = TrueFrmView.Label5.Visible = FalseFrmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0FrmView.Label18.Caption = 基本参数输入FrmView.CmbSlect.Enabled = FalsePicView1.Visible = FalsePicView2.Visible = FalsePicture1.Visible = FalseOption6.Value = TrueEnd SubPrivate Sub new1_Click()New_ClickEnd SubPrivate Sub Option1_Click()zbx = G90End SubPrivate Sub Option2_Click()zbx = G91End SubPrivate Sub Option3_Click()bch = End SubPrivate Sub Option4_Click()bch = G41End SubPrivate Sub Option5_Click()bch = G42End SubPrivate Sub pmian_Click() Command1_ClickEnd SubPrivate Sub qued_click()Dim c1 As Integer, c2 As Integer, c As Integer验证基圆半径,升程,曲线段数的输入是否为数字If Val(InRadius) = 0 ThenMsgBox (不能为空或负值,请重新输入), 16InRadius = InRadius.SetFocusElseIf Val(InRise1) = 0 ThenMsgBox (不能为空或负值,请重新输入), 16InRise1 = InRise1.SetFocusElseIf Val(InNum) Val(NumStr) Then str = 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 X = i * 540 / 360 Y = h * (1 - Cos(PI * i / (end1 - str) / 2 FrmView.PicView2.PSet (X, Y), RGB(1000, 0, 0) ptx(low) = (radius + (Gao + Y) * Sin(Huan + i) * PI / 180) pty(low) = (radius + (Gao + Y) * Cos(Huan + i) * PI / 180) FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000, 0, 0) low = low + 1 Cosx.Hide FrmView.CmbSlect.Enabled = False If FrmView.Option7.Value = True ThenFrmView.Timer1.Enabled = TrueFrmView.Option7.BackColor = &H80FF80FrmView.Option7.ForeColor = &HFF&ElseFrmView.Timer1.Enabled = FalseEnd If If FrmView.Option6.Value = True Then FrmView.Option7.Visible = True FrmView.Timer1.Enabled = False savetime = Timer 记下开始的时间 While Timer savetime + 0.0001 快 DoEvents Wend Else savetime = Timer 记下开始的时间 While Timer Val(FrmView.InRise1) Then MsgBox (超出总升程,请重新输入!), 16 low = 0 数据初始化area = 0b1 = 0FrmView.PicView1.Cls 预览窗口清屏FrmView.PicView2.ClsFrmView.PicView2.ScaleLeft = -20 初始化坐标系FrmView.PicView2.ScaleTop = 18FrmView.Picture1.ClsFrmView.ShowFrmView.InRadius.Enabled = TrueFrmView.InRise1.Enabled = TrueFrmView.InNum.Enabled = TrueFrmView.qued.Enabled = TrueFrmView.Label5.Visible = FalseFrmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0FrmView.Label18.Caption = 基本参数输入FrmView.CmbSlect.Enabled = FalseFrmView.PicView1.Visible = FalseFrmView.PicView2.Visible = FalseFrmView.Option6.Value = True End If Else MsgBox (范围出错!), 16 Cosx.NumEnd.Text = Cosx.NumEnd.SetFocus End IfElse MsgBox (输入为空或有非法字符,请重新输入!)End IfEnd SubPrivate Sub Command2_Click()Cosx.HideEnd SubSin窗体Option ExplicitPrivate Sub Command1_Click()Dim str As Double, end1 As Double, h As DoubleDim i As Double, radius As Double, savetime As DoubleDim X As Double, Y As DoubleIf IsNumeric(NumStr) And IsNumeric(NumEnd) And IsNumeric(NumH) Then If Val(NumEnd) Val(NumStr) Then str = 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 X = i * 540 / 360 Y = h * (i / (end1 - str) - Sin(2 * PI * i / (end1 - str) / (2 * PI) FrmView.PicView2.PSet (X, Y), RGB(1000, 0, 0) ptx(low) = (radius + (Gao + Y) * Sin(Huan + i) * PI / 180) pty(low) = (radius + (Gao + Y) * Cos(Huan + i) * PI / 180) FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000, 0, 0) low = low + 1 sinx.Hide FrmView.CmbSlect.Enabled = False If FrmView.Option7.Value = True ThenFrmView.Timer1.Enabled = TrueFrmView.Option7.BackColor = &H80FF80FrmView.Option7.ForeColor = &HFF&ElseFrmView.Timer1.Enabled = FalseEnd If If FrmView.Option6.Value = True Then FrmView.Option7.Visible = True FrmView.Timer1.Enabled = False savetime = Timer 记下开始的时间 While Timer savetime + 0.0001 快 DoEvents Wend Else savetime = Timer 记下开始的时间 While Timer Val(FrmView.InRise1) Then MsgBox (超出总升程,请重新输入!), 16 low = 0 数据初始化area = 0b1 = 0FrmView.PicView1.Cls 预览窗口清屏FrmView.PicView2.ClsFrmView.PicView2.ScaleLeft = -20 初始化坐标系FrmView.PicView2.ScaleTop = 18FrmView.Picture1.ClsFrmView.ShowFrmView.InRadius.Enabled = TrueFrmView.InRise1.Enabled = TrueFrmView.InNum.Enabled = TrueFrmView.qued.Enabled = TrueFrmView.Label5.Visible = FalseFrmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0FrmView.Label18.Caption = 基本参数输入FrmView.CmbSlect.Enabled = FalseFrmView.PicView1.Visible = FalseFrmView.PicView2.Visible = FalseFrmView.Option6.Value = True End If Else MsgBox (范围出错!), 16 sinx.NumEnd.Text = sinx.NumEnd.SetFocus End IfElse MsgBox (输入为空或有非法字符,请重新输入!)End IfEnd SubPrivate Sub Command2_Click()sinx.HideEnd SubDengjiansu窗体Option ExplicitPrivate Sub Command1_Click()Dim str As Double, end1 As Double, h As DoubleDim 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) Then str = 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 X = i * 540 / 360 Y = h - h * (end1 - str) - i) 2 / (end1 - str) 2 FrmView.PicView2.PSet (X, Y), RGB(1000, 0, 0) ptx(low) = (radius + (Gao + Y) * Sin(Huan + i) * PI / 180) pty(low) = (radius + (Gao + Y) * Cos(Huan + i) * PI / 180) FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000, 0, 0) low = low + 1 dengjiansu.Hide FrmView.CmbSlect.Enabled = False If FrmView.Option7.Value = True ThenFrmView.Timer1.Enabled = TrueFrmView.Option7.BackColor = &H80FF80FrmView.Option7.ForeColor = &HFF&ElseFrmView.Timer1.Enabled = FalseEnd If If FrmView.Option6.Value = True Then FrmView.Option7.Visible = True FrmView.Timer1.Enabled = False savetime = Timer 记下开始的时间 While Timer savetime + 0.0001 快 DoEvents Wend Else savetime = Timer 记下开始的时间 While Timer Val(FrmView.InRise1) Then MsgBox (超出总升程,请重新输入!), 16 low = 0 数据初始化area = 0b1 = 0FrmView.PicView1.Cls 预览窗口清屏FrmView.PicView2.ClsFrmView.PicView2.ScaleLeft = -20 初始化坐标系FrmView.PicView2.ScaleTop = 18FrmView.Picture1.ClsFrmView.ShowFrmView.InRadius.Enabled = TrueFrmView.InRise1.Enabled = TrueFrmView.InNum.Enabled = TrueFrmView.qued.Enabled = TrueFrmView.Label5.Visible = FalseFrmView.CountAll.Caption = 0FrmView.CountNow.Caption = 0FrmView.Label18.Caption = 基本参数输入FrmView.CmbSlect.Enabled = FalseFrmView.PicView1.Visible = FalseFrmView.PicView2.Visible = FalseFrmView.Option6.Value = True End If Else MsgBox (范围出错!), 16 dengjiansu.NumEnd.Text = dengjiansu.NumEnd.SetFocus End IfElse MsgBox (输入为空或有非法字符,请重新输入!)End IfEnd SubPrivate Sub Command2_Click()dengjiansu.HideEnd Sub Dengjiasu 窗体Option ExplicitPrivate Sub Command1_Click()Dim str As Double, end1 As Double, h As DoubleDim 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) Then str = 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 X = i * 540 / 360 Y = h * (i 2) / (end1 - str) 2) FrmView.PicView2.PSet (X, Y), RGB(1000, 0, 0) ptx(low) = (radius + (Gao + Y) * Sin(Huan + i) * PI / 180) pty(low) = (radius + (Gao + Y) * Cos(Huan + i) * PI / 180) FrmView.PicView1.PSet (ptx(low), pty(low), RGB(1000, 0, 0) low = low + 1 dengjiasu.Hide FrmView.CmbSlect
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年家庭电器维护服务协议
- 护理三基基础理论考试试题及答案
- 2025年CAAC无人机理论考试题库资料带答案
- 2025液化天然气储运安全考试练习试题有答案
- 2025年公需科目职业道德与创新能力建设试题及答案
- 2025危险品押运员模拟考试试题及答案
- 心肺复苏急救技能大赛考试题库50题(含答案)
- 语文基础模块 上册心有一团火温暖众人心教案
- 初中数学人教版八年级上册12.1 全等三角形教案设计
- 侵犯通信自由罪法律解析
- 大数据时代财会领域数据资产与管理策略研究
- 【复习大串讲】【中职专用】高二语文上学期期末综合测试题(一)(职业模块)(原卷版)
- 绘画的力量知到智慧树章节测试课后答案2024年秋青海师范大学
- 抢救药品相关知识
- 《期中考总结班会》课件
- 医院运营管理工作汇报
- 部编人教版道德与法治九年级下册全册教案
- 装配生产线规划方案
- 船舶火灾扑救初战展开程序
- 心中有“数”脚下有路-五年级(上)期中考试后家长会 课件
- GB/T 15934-2024电器附件电线组件和互连电线组件
评论
0/150
提交评论