牛头刨床六杆机构运动分析程序设计论文.doc

牛头刨床六杆机构运动分析程序设计论文

收藏

压缩包内文档预览:(预览前20页/共80页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:552175    类型:共享资源    大小:649.64KB    格式:ZIP    上传时间:2015-12-05 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
毕业设计论文
资源描述:
牛头刨床六杆机构运动分析程序设计论文,毕业设计论文
内容简介:
河南理工大学本科毕业设计(论文) 1 摘 要 在工程技术领域, 经常会遇到一些需要反复操作,重复性很高的工作 ,如果能有一个供反复操作且操作简单的专用工具,图形用户界面就是最好的选择 。如在本设计中对于牛头刨床平面六杆机构来说,为了保证结构参数与运动参数不同的牛头刨床的运动特性,即刨刀在切削过程中接近于等速运动从而保证加工质量和延长刀具寿命,以及刀具的急回性能从而提高生产率,这样的问题如果能够通过设计一个模型平台,之后只需改变参量就可以解决预期的问题,这将大大的提高设计效率。本设计中正是通过 建立牛头刨床六杆机构的数学模型,然后 用 MATLAB 程 序 设计出一个 友好的 人机交互的图形界面, 并将数学模型参数 化, 使用户只需改变牛头刨床的参数就可以方便的实现运动分析和运动仿真 , 用户可以形象直观地观察到牛头刨床的运动轨迹、速度变化及加速度变化规律 。 关键词 : 牛头刨床 六杆机构 MATLAB 运动仿真 程序开发 nts河南理工大学本科毕业设计(论文) 2 Abstract In the engineering area, often repeatedly encountered some operational needs, repetitive highly, and if the operation can be repeated for a simple operation and dedicated tool graphical user interface is the best choice. As in the planer graphic design for six pole bodies, and campaigns to ensure the structural parameters of different parameters planer movement characteristics, planning tool in the process of cutting close to equal campaign to ensure processing quality and extended life cutlery and cutlery rush back to the performance enhancing productivity, If such issues can be adopted to design a model platform parameter can be changed only after the expected settlement, which will greatly enhance the efficiency of the design. It is through the establishment of this design planer six pole bodies mathematical model, and then use MATLAB to devise procedures of a friendly aircraft in the world graphics interface, and mathematical models of the parameters, so that users only need to change the parameters planer can facilitate the realization of movement analysis and sports simulation, Users can visual image observed in planer movement trajectories, speed changes and acceleration changes. Keywords: Planer 6 pole bodies MATLAB Campaign simulation Procedure development. nts河南理工大学本科毕业设计(论文) 3 目录 1 绪论 .4 2 牛头刨床六杆机构运动分析程序设计 2.1 MATLAB 介绍 .5 2.2 MATLAB 的 特 点 .6 2.3 用 MATLAB 处理工程问题优缺点 .7 3 牛头刨床运动分析的模型 3.1 基本概念与原理 .9 3.2 牛头刨床六杆机构的 数学模型 .9 4 图形用户界面 GUI 4.1 界面设计的原则 .13 4.2 功能要求 . 16 4.3 界面结构设计 .17 4.4 程序框图的设计 .19 5 运动仿真程序界面设计与编程实现 5.1 句柄图形体系 .21 5.1.1 图形对象、对象句柄和句柄图形树结构 . 22 5.1.2 对象属性 .23 5.1.3 对象句柄的获取方法 .23 5.1.4 对象句柄的获取和设置 .25 5.2 主界面参数含义 . 27 5.3 界面制作步骤 . 27 6 总结 . 49 7 致谢 . 50 8 参考书目 . 51 9 附录 程序源代码 . 52 nts河南理工大学本科毕业设计(论文) 4 1 绪论 1.1 本课题的意义 机构运动分析是不考虑引起机构运动的外力的影响,而仅从几何角度出发,根据已知的原动件的运动规律(通常假设为匀速运动),确定机构其它构件上各点的位移、速度、加速度,或构件的角位移、角速度、角加速度等运动参数。无论是分析研究现有机械的工作性能,还是优化综合新机械,机构运动分析都是十分重要的。 通过对机构的位移和轨迹分析,可以考察某构件能否实现预定的位置、构件上某点能 否实现预定的轨迹要求,可以确定从动件的行程或所需的 运动空间,据此 判断运动中是否发生碰撞干涉或确定机构的外形轮廓尺寸。 通过速度和加速度分析可以了解机构从动件的速度、加速度的变化规律能否达到工作要求。 而在本设计课题中通过对机构的加速度和速度分析,就可以在设计牛头刨床的导杆机构时保证刨刀在切削过程中接近于等速运动,从而保证加工质量和延长刀具寿命;此外还保证了刀具的急回性能,从而提高了生产率。 1.2 六杆机构的研究现状: 以机电一体化为核心的现代机械系统不断创新,推动着现代机构学不断发展。平面连杆机构运动综合在工程应用中有重要的意义, 一直为机构学领域的经典课题之一。较早时人们主要用几何图解法,但是其求解精度和适用范围都受到了极大的限制。随着计算机技术的发展,在轨迹综合中引入了计算机,并开始出现代数法和优化法,把机构学问题转化为数学问题。 1.3 本课题的目的 本课题的目的是通过编制 MATLAB 程序,从而设计出一个用户界面,用户 可以通过对界面上面参数的操作而实现对牛头刨床运动分析和运动仿真,以此观察牛头刨床的运动特性是否合乎要求。 nts河南理工大学本科毕业设计(论文) 5 2 MATLAB 软件 介绍 2.1 MATLAB 软件 介绍 如今,计算机技术已经被 应用于各行各业 ,科研和工程计算领域也不例外。对于经常需要大量数据进行分析处理或者对复杂问题进行计算求解的科研工作者来说,计算机技术的引入大大的降低了工作强度,是原本复杂的工作变得简单,从而极大的提高了工作效率。 随着科学研究的不断深入,以及工程应用不断朝着专业化、精确化 方向 发展,科研工作者以及工程技术人员对计算机技术的要求也越来越高。面对越来越繁重的科学以及工程计算任务,虽然用传统的 c 或 Fortran 语言也能完成任务,但是程序设计者所承担的编程工作是极为繁重的,而且要求程序设计者对算法有比较深入的理解,这就使工作 人员不得不将大量的时间和精力放在与研究课题关系不大的计算编程上来。为了减轻科技工作者的压力,使工作人员将时间和精力更多的放在建立模型等关键性的工作中,许多公司相继开发了一系列的数学应用软件,如MATHEMATICA、 Maple、 MATHCAD 以及 MATLAB 等,其中 MATLAB 以其强大的功能和极高的编程效率吸引了众多的用户。 MATLAB 是 MATRIX LABORATORY(“矩阵实验室”)的缩写,是由美国MATHWORKS 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作 简单的语言。是国际公认的优秀数学应用软件之一。 20 世纪 80 年代初期, Cleve Moler 与 John Little 等利用 C 语言开发了新一代的MATLAB 语言,此时的 MATLAB 语言已同时具备了数值计算功能和简单的图形处理功能。 1984 年, Cleve Moler 与 John Little 等正式成立了 MATHWORKS 公司,把 MATLAB 语言推向市场,并开始了对 MATLAB 工具箱等的开发设计。 1993 年,MATHWORKS 公司推出了基于个人计算机的 MATLAB 4.0 版本,到了 1997 年又推出了 MATLAB 5.X 版本( Release 11),并在 2000 年又推出了最新的 MATLAB 6nts河南理工大学本科毕业设计(论文) 6 版本( Release 12) ,如今, MATLAB7.0 已经问世。 现在, MATLAB 已经发展成为适合多学科的大型软件,在世界各高校,MATLAB 已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动态系统仿真等高级课程的基本教学工具。特别是最近几年, MATLAB在我国大学生数学建模竞赛中的应用,为参赛者在有限的时间内准确、有效的解决问题提供了有力的保证。 2.2 MATLAB 软件 的特点 MATLAB 是一种高度集 成化的科学计算环境,是集数值计算和图形处理等功能于一体的工程计算应用软件。 MATLAB 不仅可以处理代数问题和数值分析问题,而且还具有强大的图形处理和仿真模拟等功能。 MATLAB 能够很好的帮助工程师及科学家解决实际问题,它经过 20 多年来的不断完善和改进,已经成为公认的优秀的数学应用软件之一。 概括地讲,整个 MATLAB 系统由两部分组成,即 MATLAB 内核及辅助工具箱,两者的调用构成了 MATLAB 的强大功能。 MATLAB 语言以数组为基本数据单位,包括控制流语句、函数、数据结构、输入输出及面向对象等特点的高级语言 ,它具有以下主要特点: 1) MATLAB 的程序设计语言编程效率较高, 运算符和库函数极其丰富,语言简洁,编程效率高, MATLAB 除了提供和 C 语言一样的运算符号外,还提供广泛的矩阵和向量运算符。利用其运算符号和库函数可使其程序相当简短,两三行语句就可实现几十行甚至几百行 C 或 FORTRAN 的程序功能, 从而极大的简化了线性运算,而线性运算是整个数值计算的基础,所以以矩阵作为基本语言要素可以提高数值计算的编程效率。 MATLAB 本身拥有丰富的库函数,并具有结构化的流程控制语句和运算符,用户可以在使用的过程中方便自如的使 用 。 2)既具有结构化的控制语句(如 for 循环、 while 循环、 break 语句、 if 语句和switch 语句),又有面向对象的编程特性。 nts河南理工大学本科毕业设计(论文) 7 3)图形功能强大。它既包括对二维和三维数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的、低层次的绘图命令。 4)功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能。而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、控制工 具箱、小波工具箱、图象处理工具箱、通信工具箱等。 5)易于扩充。除内部函数外,所有 MATLAB 的核心文件和工具箱文件都是可读可改的源文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用。 当然,任何事物 都 不是十全十美的。与 C、 Fortran 等传统的程序设计语言相比,MATLAB 的程序设计语言的一个显著缺点即使循环代码执行效率较低,这是与其执行方式直接相关的。 MATLAB 编写的程序在应用的过程中为解释执行,既不需要编译生成也不生成可执行文件,而是解释一句,执行一句,其速度是可想而知的了。当然这个 问题也不是不可以解决的,由于 MATLAB 以矩阵作为基本的程序设计语言要素,对于在 c、 Fortran 的那个编程语言中需要使用循环来解决的问题,MATLAB 程序设计语言中巧妙的利用矩阵的特点,就可以避免使用循环代码。所以,通过对 MATLAB 的深入学习,提高编程技巧,完全可以做到扬长避短,并充分发挥 MATLAB 语言的强大功能。 目前, MATLAB 已经成为国际上公认的优秀数学应用软件之一。 2.3 用 MATLAB 处理工程问题 优缺点 MATLAB 是 MATHWOTKS 公司于 1982 年推出的一套高性能的数值计算和可视化软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便、界面友好的用户环境。它还包括了 TOOLBOX(工具箱 )的各类问题的求解工具,可用来求解特定学科的问题。其特点是 : nts河南理工大学本科毕业设计(论文) 8 (1)可扩展性: MATLAB 最重要的特点是易于扩展,它允许用户自行建立指定功能的 M 文件。对于一个从事特定领域的工程师来说,不仅可利用 MATLAB 所提供的函数及基本工具箱函数,还可方便地构造出专用的函数,从而大大扩展了其应用范围。当前支持 MATLAB 的商用 Toolbox(工具箱 )有数百种之多。而由个人开发的 Toolbox 则不可计数 。 (2)易学易用性: MATLAB 不需要用户有高深的数学知识和程序设计能力,不需要用户深刻了解算法及编程技巧 。 (3)高效性: MATLAB 语句功能十分强大,一条语句可完成十分复杂的任务。如 FFT 语句可完成对指定数据的快速傅立叶变换,这相当于上百条 C 语言语句的功能。它大大加快了工程技术人员从事软件开发的效率。据 MATHWOKS 公司声称, MATLAB 软件中所包含的 MATLAB 源代码相当于 70 万行 C 代码 。 由于 MATLAB 具有如此之多的特点,在欧美高等院校, MATLAB 已成 为应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;在研究单位、工业部门, MATLAB 也被广泛用于研究和解决各种工程问题。当前在全世界有超过 40 万工程师和科学家使用它来分析和解决问题。 然而 MATLAB 自身所存在的某些缺点限制了它的应用范围。 (1) MATLAB 是一种解释性语言,因此它的实时效率是相当差的 。 (2) MATLAB 程序不能脱离其环境运行, 因为 MATLAB 不是计算机语言 ,虽然如今它已经可以进行编译,但是还不太方便 。 nts河南理工大学本科毕业设计(论文) 9 3 牛头刨 床运动分析的模型 3.1 基本概念与原理 机构运动分析的任务是在已知机构尺寸及原动件运动规律的情况下,确定机构中其他构件上某些点的轨迹、位移、速度、加速度和构件的角位移、角速度及角加速度。上述这些内容,不论是设计新的机器,还是为了了解现有机械的运动性能,都是十分必要的,而且它还是研究机械动力性能的必要基础和前提。 对于牛头刨床来说,其刨刀在工作行程中应该接近等速,而回程速度却应高于前者速度,从而提高效率。为了确定牛头刨床的设计是否满足要求,就必须对其进行运动分析。 机构运动分析的方法 很多,主 要有图解法和解析法。当需要简捷直观地了解机构的某个或某几个位置的运动特性时,采用图解法比较方便,而且精度也能满足实际问题的要求。而当需要精确地知道或要了解机构在整个运动循环过程中的运动特性时,采用解析法并借助于计算机,不仅可以获得很高的计算精度及一系列位置的分析结果,并能绘出机构相应的运动线图,同时还可以把机构分析和机 构综合问题联系起来,以便于机构的优化设计。本设计正是基于这些用 MATLAB 编程实现牛头刨床的运动分析以及图解法无法实现的运动仿真。 3.2 牛头刨床的 数学模型 如下图所示为牛头刨床的机构简图 。设已知结构参数为: L1,L3,L5,G,H,原动件的转角 1 和转速 n1。 解:如图,先建立一个直角坐标系,并标出各杆矢及其方位角。其中有四个未知变量 3, 5, P 及 S。为求解需建立两个封闭矢量方程,为此需利用两个封闭图形ABDA 及 DEFD。 1) 求 3、 3 及 3 由封闭形 ABDA 可得 nts河南理工大学本科毕业设计(论文) 10 1L H P (1) 分别用 i 和 j 点积上式两端, 有 1 1 3c o s c o sLP1 1 3s i n s i nH L P联解上面两个式子可得: 3 1 1 1 1a r c t a n ( s i n ) / c o s H L L 1 1 3c o s / c o sPL 图 3 1 牛头刨床结构模型 式( 1)对时间 t 求导数,注意 P 为 变量,有 1 1 1 3 3 3ttL e P e P e (2) nts河南理工大学本科毕业设计(论文) 11 可用3e点积上式两端以消去3 ,并利用矢量方程解析法,有 2 3 1 1 1 3s i n ( )BBP V L 用3te点积( 2)两端可消去 P ,并注意到 31 1 3n t te e e e ,则 3 3 1 1 1 3c o s ( ) /LP 再将式( 2)对时间 t 求导,则有 221 1 1 3 3 3 3 3 3 32n t n t tL e P e P e P e P e 可分别用3e和3te点积上式两端,以消去 .3和 .P ,注意 31 1 3n t te e e e ,则 1 1 1 3 3c o s ( )L P P 21 1 3 1 3 3s i n ( ) 2LP 得 P = 222 3 3 1 1 1 3c o s ( )tBBa P L 23 3 1 1 3 1 3 s i n ( ) 2 /a L P P 2) 求 s、FV、Fa由封闭图形 DEFAD 可得 35L L G S (3) 分别用 i 和 j 点积上面的式子两端,有 3 3 5 5c o s c o sL L S3 3 5 5s i n s i nL L G有上面第二个式子可得 5 3 3 5a r c s i n ( s i n ) / G L L由上面第一个式子可得 nts河南理工大学本科毕业设计(论文) 12 3 3 4 4c o s c o sS L L对上面的( 3)式对时间 t 取导可得 3 3 3 5 5 5ttL e L e S i .(4) 分别用 j、5e点积上式,可得 5 5 3 3 3 5 5c o s / ( c o s )LL 3 3 3 5 5s i n ( ) / c o sFS V L (4)式对时间 t 求导可得 233 3 3 3 3 5 5 5 5 5 5t n t nL e L e L e L e S i 分别用就 j 和5e点积上面的式子可得 25 5 3 3 3 5 5 5 3 3 3 5 5( s i n s i n c o s ) / ( c o s )L L L L 223 3 3 5 3 3 3 5 5 5 5 s i n ( ) c o s ( ) / c o sES a L L L nts河南理工大学本科毕业设计(论文) 13 4 图形用户界面 GUI 用户界面或接口是指:人与机器之间或程序之间交互作用的工具和方法。如、键盘、鼠标、跟踪球、话筒都可以成为与计算机交换信息的接口。 图形用户界面( GUI: Graphic User Interface) 则是指有窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等 。 4.1 界面设计 的原则 GUI 的设计包括编写源代 码之前的所有工作。设计者必须重视设计工作 ,不能急于编写源代码。否则,编程员思路不清晰,开发过程中回走很多弯路,因而开发的效率低下,并且设计出的 GUI 也不一定让人满意。那么如何进行成功的设计,就应该从以下两个方面予以考虑: ( 1) GUI 设计的指导 原则 ( 2) GUI 设计应遵循的步骤。 指导原则: 可以用就个字来概括优秀的设计标准:简洁性、一致性、熟悉性。 简洁性意味着界面简单明了,直接清晰。拥护可以很快的提取出对自己有用的信息。 熟悉性意味着系统设计时尽量保持与该类流行界面的相似,比如 VC 的对话 框风格、视图的风格、 MATLAB 的 Figure 风格。这样用户操作起来就容易上手,误操作率比较低。 以上三点也许过于抽象,具体过程中不宜操作。其实,只要在设计整个过程中贯穿以人为本的设计理念,设计出的界面自然会达到以上要求。设计者 应该经常考虑以下两个问题: ( 1) 用户在没有熟悉界面之前,完成一个操作需要多长时间? nts河南理工大学本科毕业设计(论文) 14 ( 2) 用户在熟悉界面后,完成一个普通操作需要多长时间? 简洁性、一致性、熟悉性围绕着上述两个问题展开。它们有时也存在着矛盾的地方,比如会为了一致性而牺牲简洁性。这种取舍的标准应着眼于用户,要看 是否便于用户操作。用户应该是设计者心中的上帝。 1) 简洁性 : 简洁是一种直观的美,它是设计者所要达到的主要目标,通过 GUIDE,我们很容易向界面添加许多功能。但是功能强大并不一定代表成功,有时增加一些功能反而显得画蛇添足。 GUI 本来是从 图像 的角度帮助用户理解客观 世界的,但是缤纷芜杂的表面想象却很容易掩盖事物的真相,影响拥护做 出正确的判断,这当然是不可取的。设计者一定要警惕这种盲目追求强大的心理。 a 注重形式 图像 往往给人一种直观的感受,告诉人们事物发展的 趋势,数字有助于将这种趋势量化,增强人们对发展趋 势的认识。但是并不意味 着 图像 必须借助于数字。 b 缩小交互区域 如果能在一个界面中完成的事情坚决不要放在两个界面中完成。这也上操作简洁性的一种间接体现。这样除了增加图形的可读性,还减轻了不同截面之间数据的传递负担。关于这一点 在本设计中就有涉及。比较以下两个设计: nts河南理工大学本科毕业设计(论文) 15 图 4 1 多界面窗口 图 4 2 单界面窗口结果 由 以上两个设计不难发现在第二种设计中只需要通过按钮就可以实现预期的功能,而无须 像 第一种设计中那样在不同的界面中进行切换。 c 用图形输入代替数值输入 nts河南理工大学本科毕业设计(论文) 16 对于用户来说,在图形用户界面下, 图形输入比数值输入更加方便。为了从各个角度来观察一个三维几何形体,我们需要不断地进行坐标系的转化。用数值输入的方法,困难程度难以想象,其复杂性会让用户望而却步,而图形输入的方式则能很好地解决上述问题。 2)一致性 : 一致性的含义很广泛,既包括操作指令的前后一致 ,也包括操作界面中 各种图形对象摆放位置的一致性。这个原则基于以下认识,即用户的操作经验应有助于用户完成后面的操作;设计者不应该给用户太多意外,否则会让用户一头雾水;前面执行这个命令是一种用法,于是产生了歧义。优秀的界面设计往往注重这个问题。 3)熟悉性。 设计遵循的步骤: 图 4 3 设计遵循的步骤 4.2 功能要求 本次论文的结果是设计出如上述 4 2 所示的图形用户界面,该界面应该具有以下功能: 1)在编辑框中输入牛头刨床的参数后,点击“运算”按钮,实现后台的运算,并把运算的结果存储在数据文件 mydata.mat 中。 nts河南理工大学本科毕业设计(论文) 17 2)在 1)完成后,用户点击“数据显示”按钮,弹出“数据显示”窗口,并显示牛头刨床运动分析的结果数据。 3)同上,在完成 1)后,用户点击“运动线图”按钮,弹出“运动线图”窗口,并在窗口中分别显示牛头 刨床刨头的“位移 曲柄转角”、“速度 曲柄转角”、“加速度 曲柄转角”的曲线图。 4)同上,在完成 1)后,用户点击“运动仿真”按钮,弹出“运动仿真”窗口,并在窗口中显示牛头刨床动态仿真的结果。 4.3 界面结构设计 根据上述 4.1 和 4.2, 在本设计的界面设计中确立以下思路: 由于本设计是对牛头刨床进行运动分析和运动仿真,所以在界面中应该首先创建五个框架区,分别显示结构参数,结构模型,初始数据,运动参数和命令按钮;然后在相应的框架区中分别创建 text 文本和 edit 编辑框以及命令按钮 ,以使用户可以通过对参数的改变来实现相应的控制;最后,除“运算”和“退出”按钮在后台操作外,其它的按钮“数据显示”、“运动分析”、“运动仿真”被按下都会弹出相应的操作界面 。以下是预期的界面: nts河南理工大学本科毕业设计(论文) 18 图 4 4 预期主界面 图 4 5 预期 数据结果显示 界面 窗口 nts河南理工大学本科毕业设计(论文) 19 图 4 6 预期的运动分析界面窗口 图 4 7 预期 运动仿真 界面 4.4 程序框图的设计 程序框图 如下 所示: nts河南理工大学本科毕业设计(论文) 20 图 4 8 程序框图 以上既是总界面的结构,也是软件的总结构,也同时是程序流程图 。 nts河南理工大学本科毕业设计(论文) 21 5 运动仿真程序界 面设计与编程实现 界面制作包括界面设计和程序实现。具体制作步骤如下: 1) 分析界面所要求实现的主要功能,明确设计任务; 2) 在稿纸上面绘出界面草图,并站在使用者的角度来审查草图; 3) 按构思的 草图,上机制作(静态)界面,并检查之; 4) 编写界面动态功能的程序,对功能进行逐项检查 。 以上过程, 仅仅是一般原则。在设计中,步骤之间也许要交叉执行或复合 执行;设计和实现过程往往不是一步到位的,可能需要反复修改,才能获得满意的界面。 在 MATLAB 软件中,所提供的界面的基本设计方法共有两种: 一种是用户自己编写并调用函数生成界面; 另一种是直接使用 MATLAB 提供的 GUI 设计工具。 第二种方法虽然简单,但是不利于我们更加熟悉 MATLAB 的编程语言以及锻炼我们的思维和设计能力,加上逻辑性紊乱,所以本设计中的四个界面全是采用第一种方法制作,也就是编写函数。 在这四个界面的实现中,大体又可分为两类: 一、主界面的实现。 二、功能界面的实现。 在本章内容展开之前,有必要介绍句柄图形的知识,因为这是 MATLAB 可视化的内核,与本章界面的制作关系密切。 5.1 句柄图形体系 句柄图形是一种面向对象的绘图系统。该系统提供创建计算机 图形所必需的各种软件。它所支持的指令, 可直接创建线、文字、网线、面以及图形用户界面。MATLAB 的各种高层图形指令如: plot, mesh 等都是以句柄图形软件为基础写成nts河南理工大学本科毕业设计(论文) 22 的,因此句柄图形被称为低层图形。这也是在这里要首先介绍句柄图形的原因所在。 5.1.1 图形对象、对象句柄和句柄图形树结构 ( 1)图形对象 MATLAB 把用于数据可视化和界面制作的基本绘图要素成为句柄图形对象。构成 MATLAB 句柄图形对象体系的 11 个图形对象如图 5 1 中方块所示每个图形对象都可以独立操作。 在 MATLAB 中生成的每个具体图 形, 由若干个不同对象构成。每个图形对象不必包含全部对象, 但是每个图形必须具备根屏幕和 图形窗。 图 5 1 句柄图形树结构 ( 2) 句柄 每个具体对象都有一个“与生俱来、终生不变”的身份,即句柄。句柄的存取图形对象惟一规范识别符。不同对象的句柄不可能重复和混淆 。 每个计算机,根对象只有一个,即屏幕。它的句柄值总是 0。而简称为图的图形窗的句柄总是正整数,它是用来标示图形窗序号。除以上两种对象外,其余对象句柄则是双精度浮点数。 nts河南理工大学本科毕业设计(论文) 23 ( 3) 句柄图形的结构 在句柄图形体系中,各图形对象并非平等,它们之间的关系可 用图 5 1 的树层次结构表示。 5.1.2 对象属性 ( 1)属性 所有对象都有一组定义和刻画其外貌和性状的属性( Properties)。属性有两部分组成:属性名和属性值,即属性二元对( Property_Name,Property_Value)。在创建和修改属性的指令中,属性名和属性值总是成对出现。 属性名是英文词组字符串。该英文词组字符串每个单词的第一个字母大写,而单词间没有空格,;例如 LineStyle, ColorMap等。这样书写的目的是便于阅读。至于在指令中援引属性名时, 为用户输入的方便, MATLAB 采取了两个措施:第一,不分字母大小写,都同样识别;第二, 只要不引起歧义,属性名不必全写。 不同的属性值将使对象有不同的表现。 ( 2)缺省属性 在创建图形对象时, MATLAB 并不需要用户对每个属性加以定义。因为倘若用户不对属性加以定义, MATLAB 总会自动给对象的每个属性赋予厂家定义的属性。当然用户如果希望创建具有个性的图形,那么就可以通过指令对某些属性进行定义。 5.1.3 对象句柄的获取方法 要设置图形对象属性值,首先要知道该对象的句柄。因此,掌握对象句柄 的获取方法十分重要。 1)基本方法 ( 1)从图形创建指令获得句柄 所有高层或低层指令都能通过以下格式产生句柄。 H_GC=GraphicCommand( ) 绘图同时给出句柄的调用指令 H_GC。 nts河南理工大学本科毕业设计(论文) 24 本设计中主程序创建 主界面窗口 并获取其句柄 的程序代码如下: h1=figure(position,20 20 800 600,. name, 牛头刨床运动分析 ,. numbertitle,off,.% 不显示标题数目 defaultuicontrolfontsize,6,. defaultuicontrolunits,normalized,. menubar,none,.% 隐去菜单条以便接下来自己制作菜单 resize,off); % 主窗口的大小不能改变 ( 2)追溯法获取图柄 若一个对象的句柄已知,那么可用以下格式追溯获得其“父”或“子”的句柄 。 H_pa=get(H_known,Parent) 获取 H_known 句柄对象之“父”的句柄 H_ch=get(H_known,Children) 获取 H_known 句柄对象之“子”的句柄 本设计中主程序创建主界面“初始数据”框架后,可利用上述格式获取其“父”句柄: h1_framec=uicontrol(. parent,h1,. style,frame,. position,0.05 0.05 0.3 0.3,. foregroundcolor,b); H_pa=get(h1_framec,Parent) H_pa= h1 获取 h1_framec 句柄对象之“父”的句柄 为 h1。 ( 3)当前对象句柄的获取 MATLAB 有以下三种专用获取图柄的指令:前两个是直接指令式的;后一个nts河南理工大学本科毕业设计(论文) 25 必须与鼠标配合使用。 gcf 返回当前图形窗口的句柄 gca 返回当前轴的句柄 gco 返回“被鼠标最近点击”的图形对象的句柄 本设计中在计算程序 caculate1 函数中, 从主程序当中读取句柄值 handles=guihandles(gcf); ( 4)根据图形对象特性获取句柄 利用对 象特性搜索对象句柄可以得到较高的搜索速度。具体指令如下: H=findobj(H_ori,PN,PV) 在 H_ori 指定对象上,寻找与属性( PN,PV)匹配的对象句柄。 ( 5) 根据对象“标签”获取句柄 用户可以通过“ Tag”属性,给对象一个“标签”。此后,就可以通过“标签”获取该对象的句柄。 设置“标签”的两个方法: 第一,创建时赋名 第二,用 set 赋名 据标签获取对象句柄:如果屏幕上有多个 图形窗,且有的窗口又有多个子图,那么获取带“标签”对象句柄的简捷指令是: hax=findobj(0, Tag , A4 )。 本设计中在计算程序 caculate1 函数中, 从主程序当中读取 牛头刨床参量 L1 的句柄值 L1=get(handles.hL1,string); L1=str2num(L1); %把字符转换为数值 5.1.4 对象句柄的获取 和设置 ( 1) 创建对象时设置属性 H_GC=GraphicCommand( ,PN,PV) 利用“属性对”设置的绘图指令 nts河南理工大学本科毕业设计(论文) 26 H_GC=GraphicCommand( ,PS) 利用“构架”进行属性设置的绘图指 令 说明 1) GraphicCommand 代表 所有合法的 MATLAB 高层或低层绘图命令 2) (PN,PV)是属性名、属性值构成的属性对。属性对的数目没有限制 3) PS 是域名为属性名的构架数组 ( 2) get 和 set get(H) 获取 H 句柄对象所有属性的当前值 get(H, PN) 获取 H 句柄对象由 PN 指定属性的当前值 set(H) 显示 H 句柄对象所有可设置属性名和全部供选属性值 set(H, PN) 显示 H 句柄对象由 PN 指定属性的全部供选属性值 set(H, PN, PV,。 ) 设置 H 句柄对象的 PN 属性名取 PV 属性值 set(H, PS) 利用构架数组设置 H 的属性值 说明 1) (PN,PV)是属性名、属性值构成的属性对。属性对的数目没有限制 2) PS 是域名为属性名的构架数组 ( 3) 对象属性设置示例 本设计中数据显示窗口中创建显示1数据的 listbox 时,把 listbox 的 string属性设置为 vars1的程序如下: h2_zhuanjiaoslist=uicontrol(. parent,h2,. style,listbox,. position,0.10 0.10 0.20 0.75,. fontsize,14); vars1 = phi1; nts河南理工大学本科毕业设计(论文) 27 set(h2_zhuanjiaoslist,string,vars1); 5.2 主界面参数含义 在主界 面中参数的含义如下表所示: 表 5 1 主界面参数含义 参数名称 参数含 义 L1 原动件 AB 的长度 L3 从动件 DE 的长度 L5 从动件 EF 的长度 H AD 的长度 G 刨头距离底座的竖直高度 3从动件 DE 的 转角 P 滑块 2 到底座的距离 5从动件 EF 的 转角 S 滑块 6 的位移 1n原动件 AB 的转速 1原动件 AB 的转角 转向 原动件 AB 的转向 5.3 界面制作步骤 5.3.1 创建主界面窗口 创建窗口的函数为 figure,它 有两种调用形式: ( 1) figure ,单独的 figure 创建一个新的窗口,并且返回它的句柄值。 ( 2) figure( H), 使 H 为 当前的窗口,强制 它在屏幕其他窗口的上面;假如 H窗口不存在,同时 H 为整数,这是将创建句柄为 H 的窗口,如下例。 nts河南理工大学本科毕业设计(论文) 28 本设计中主程序创建主界面窗口的程序代码如下: h1=figure(position,20 20 800 600,. name, 牛头刨床运动分析 ,. numbertitle,off,.% 不显示标题数目 defaultuicontrolfontsize,6,. defaultuicontrolunits,normalized,. menubar,none,.% 隐去菜单条以便接下来自己制作菜单 resize,off); % 主窗口的大小不能改变 5.3.2 创建主界面自制菜单 PC 平台上,缺省情况下产生的 MATLAB 图形窗总有一个顶层菜单条,它包含五个标准菜单项:文件( file)、编辑( edit)、工具( tools)、窗口( windows)和帮助( help)。每个菜单项在点击 的时候都回产生一个下拉菜单( Pull-down menu)。 这标准菜单受界面菜单 MenuBar属性管理。该属性有两个 取值 none|figure。当属性值取 none时,图形窗不出现标准菜单(及工具条);当属性取 figure时,图形窗显示标准菜单,如 图 5 2 所示 。 如 上面例子 隐去 缺省菜单条的目的正是为了制作自制菜单,自制用户菜单,通过 uimenu 指令创建。其典型的调用格式为: 图 5 2 缺省的菜单条 Hm= uimenu(PropertyName1,value1,PropertyName2,value2,.) nts河南理工大学本科毕业设计(论文) 29 说明 1) Hm 为该用户菜单的句柄。 H_parent 为其父对象的句柄。该父对象只能是图形窗对象, 或另一用户菜单对象。假如 H_parent 输入宗量缺省,那么菜单项将建立在当前图形窗的顶层菜单条上。 2) PropertyName和 PropertyValue构成属性二元对,它们定义用户菜单的属性。 本设计中主程序创建主界面窗口自制菜单的程序如下: h1_file_menu=uimenu(h1,label,文件 ); h1_save_menu=uimenu(h1_file_menu,label,保存 ); h1_exit_menu=uimenu(h1_file_menu,label,退出 ,callback,close all); h1_help_menu=uimenu(h1,label,帮助 ,callback,msgbox(-360度 = 1=360度,help,modal);); h1_about_menu=uimenu(h1,label,关于 ,callback,msgbox(作者:河南理工大学 邵翔宇 杨广磊 email: 2006 年五月 版权所有 ,about,m
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:牛头刨床六杆机构运动分析程序设计论文
链接地址:https://www.renrendoc.com/p-552175.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!