【VC++开源代码栏目提醒】:网学会员--在 VC++开源代码编辑为广大网友搜集整理了:基于VC与OPENGL数控仿真系统 - 硕士论文绩等信息,祝愿广大网友取得需要的信息,参考学习。
南京邮电大学 硕士学位
论文基于
VC与OPENGL数控仿真系统 别:硕士 专业:测试计量技术及仪器 指导教师:梅杓春 20100301南京邮电大学硕士研究生学位
论文 摘要 摘 要 近年来,随着生活水平的提高,人们对满足审美要求的各种复杂工艺品的需求出现前所未有的增长。
传统的工艺品生产(设计与制造)是一种手工技艺,存在很多不足,例如劳动强度大、加工周期长、生产效率低、总体成本高、制作精度差、不能批量生产、受操作者的主观因素影响较大等,不能满足人们对工艺制造行业提出的新需求。
而计算机仿真技术的迅猛发展为这一难题带来了极大的便利,本文基于数控技术的理论,应用面向对象的Visual C++作为前台开发工具,基于OpenGL的几何图形平台,重点设计研发了可以应用于数控领域的扫描仿真软件系统。
在完成扫描仿真基本功能的基础上,结合本课题中扫描数据的特征分析,针对海量数据读取问题的解决办法进行了相关的研究,提出了海量数据快速读取和管理的几种方法,为系统提高了数据导入的效率,增加了该系统广泛运用的可行性。
本课题开发的软件仿真平台全部在Microsoft公司的Visual C++6.0平台上编译通过,并且已经投入了市场的生产过程中,并取得了令人满意的成效,同时也验证了本文中所采用的方法的可行性。
关键词:VC;OpenGL:数控仿真;海量数据 气南京邮电大学硕士研究生学位
论文 Abstract In recent years,with the improvement of living standards,people’S requirements of manykinds of the complex arts and a蕊that meet the aesthetic need have been growingunprecedentedly growth.Because of that raditional arts and crafts production(design andmanufacturing)is a manual skill,there are many shortcomings,such嬲labor-intensive,longprocessing cycle,low productivity,higll overall costs,low production accuracy,not massproduction,having a greater impact by the operator’s subjective factors,and SO 011.For theshortcomings above,it Can not satisfy people’S new requirements according to the processmanufacturing industry.The rapid development of computer simulation technology brings greatconvenience for this problem.This paper focus on designing and R&D the scanning simulationsystem that Can be applied to NC(numerieal contr01)area,baSed on the theory of NC technologyand the OpenGL genometry platform,taking the object-oriented method and Visual C++development tool嬲a front. Upon the completion of the basic functions of scanning simulation,baSed on the analysis ofthe characteristics of scanner data,the solutions to the problem of the maSsive data accessingwas researched in this paper.And it submitted several methods for quick reading andmanagement the massive data,in order to improve the efficiency of data import for this systemand increase its feasibility for widely used. This software simulation platform developed in this Paper are all compiled successfully onVisual C++6.0 platform by MicrosoR.And it generated a satisfied result,validating thefeasibility of the method used in this paper after putting into the production processing on themarket. Key Words:VC;OpenGL;NC simulation;Massive data II南京邮电大学硕士研究生学位
论文 第一章绪论 第一章绪论1.1选题背景及研究意义1.1.1选题背景 数控仿真是指数控在虚拟环境中的映射,它集数控理论、计算机辅助设计(CAD)、计算机辅助制造(CAM)和建模与仿真技术于一体。
人能够凭直觉感知计算机产生的三维仿真模型的虚拟环境,在设计新的方案时能够在真实制造之前在虚拟环境中进行零件的数控加工,检查数控程序的正确性、合理性,对加工方案的优劣做出评估与优化,从而最终能够缩短产品开发周期、降低生产成本、提高产品质量和生产效率。
。
数控加工仿真过程就是借助计算机,利用系统模型对实际加工系统进行实验研究的过程。
数控加工仿真的过程可通过图1-1所示的要素间的三个基本活动来描述。
图1-1要素l司的三个基本活动 建模活动是通过对实际系统的观测或检测,在忽略次要因素及不可检测变量的基础上,利用物理或数学的方法进行描述,从而获得实际系统的简化近似模型。
这里的模型同实际系统的功能与参数之间应具有相似性和对应性。
仿真模型是对系统的数学模型(简化模型)进行一定的算法处理,使其成为合适的形式(如将数值积分变为迭代运算模型)之后,成为能被计算机接受的“可计算模型”。
仿真实验是指将系统的仿真模型在计算机上运行的过程【l】【2】。
随着计算机技术的进步,仿真技术也得到迅速发展,其应用领域日益广泛,尤其在航空、航天、国防等领域的大规模复杂系统的研制开发过程中,计算机仿真一直是不可缺少的工具。
在从产品的设计到制造以至测试维护的整个生命周期中,计算机仿真技术贯穿始终。
另外在减少损失、节约经费、缩短开发周期、提高产品质量等方面,计算机仿真技术也发挥了巨大的作用。
从发展的历程来看,仿真技术应用的领域从传统的制造领域(生产计划制定、加工、装配、测试)正向产品设计开发和销售领域扩展。
‘南京邮电大学硕士研究生学位
论文 第一章绪论1.1.2研究意义 在数控仿真的理论基础上,本文将重点研究开发三维扫描的仿真实现,其目的最终将运用到数控加工的市场运作当中,实现对象主要针对复杂的手工艺品。
中国博大精深的文化造就了许许多多精美的手工艺品,而这些手工艺品都是经过手工雕刻而制成。
传统的工艺品生产(设计与制造)是一种手工技艺,存在很多不足,例如劳动强度大、加工周期长、生产效率低、总体成本高、不能批量生产、受操作者的主观因素影响较大等,不能满足人们对工艺制造行业提出的新需求。
伴随着人们生活水平和精神文化追求的提高,仅仅依靠手工雕刻生产,无论从精度或是效率上都已不能满足社会的需求。
国内外有很多CAD(Computer Aided Design,计算机辅助设计)【41软件无法设计出中国精美的工艺品,因此只能靠将手工艺者雕刻出来的成品,进行扫描,得到手工艺品的三维坐标,然后在CAM(ComputerAided Manufacturing,计算机辅助制造)【41软件中将三维坐标生成需要的
代码,进而再通过CNC(Computer NumericalControl,计算机数字控制机床)系统【3】进行加工,得到所需要的成品。
通过计算机仿真技术对这些复杂工艺品进行设计与生产,不仅可以使生产效率和产品的加工质量得到提高,而且可以扩大需求,发扬中国文化,有利于社会的进步和发展。
1.2国内外研究现状 CAD技术在60年代末随着计算机及外设的发展而产生,从最初的2D绘图系统,经历了3D线框、曲面模型和实体模型,直到现在的参数化特征模型。
在这期间,产品模型的真实感、工程分析和特征计算等也得到了迅速发展。
随着信息与通信技术、多媒体技术和人工智能专家系统的实用化,随着CAD/CAM技术的普及应用越来越广泛和深入,CAD/CAM技术正朝着开放、集成、并行、智能化和标准化的方向发展。
国外CAD/CAM技术经历了三十多年的发展,已经广泛应用于机械、电子、航空、汽车等众多行业,也出现了不少商品化CAD/CAM软件,这些国外的软件占据了CAD软件市场的70%以上的份额,每年的销售额数百亿美元。
较著名的有美国的PTC公司的Pro/Enginer,EDS公司的Unigraphies,CATIA,UG,I-DEAS,EUCLID等。
然而,CATIA,Pro/Enginer,UG等几个国际上最流行的CAD软件,都无法对海量数据直接进行处理,而测量得到的网格数据由于产品尺寸、拓扑等各种原因在绝大多数情况下都是经 2南京邮电大学硕士研究生学位
论文 …’。
第一章绪论过多次测量拼接后得到的海量数据。
因此,对于广大的CAD软件的使用者,需要能对海量数据进行相应的处理‘51。
。
国外三维扫描设备目前己有较多的产品广泛应用于机械加工,数字城市建模等领域,根据扫描仪使用方式和应用领域又分为手持式、台式、地面以及机载扫描仪等。
欧美精度最高的台式扫描仪扫描精度可以达到十几个微米,得到的点云密度甚至超过人眼的分辨率,工作时同时使用三色激光扫描得到真彩色点云数据。
美国CYRAX系统就是较为典型的3D扫描系统,其集成了数据采集,管理和建模。
为方便CAD数据的导入,德国已研制出Point Cloud管理海量数据。
然而对于对复杂工艺品加工的仿真系统来说,普通的CAD/CAM软件并不能满足需求,目前来说市场上比较流行的商业化数控雕刻CAD/CAM软件主要有法国的Type3、英国的Artcam、美国的MastereamArt,这些软件都支持复杂工艺品的设计、加工和仿真,其优秀的处理效果和对雕刻领域各种功能的广泛支持,使这些软件拥有广阔的市场。
其他国外的数控雕刻CAD/CAM软件还有Casmate、GravoStyle、VCave、EnRoute、Artcut等。
国产数控雕刻CAD/CAM软件屈指可数,主要有文泰雕刻、JDPaint、CAXA雕刻161〔71。
这些软件和国外同类产品相比较,无论在功能上还是通用、易用性上均存在一定的差距。
1.3
论文的主要工作和结构安排 本课题来源企业合作项目,结合工程实际需要,主要从数据读取方法和三维扫描仿真工程应用两方面展开工作。
在算法方面,针对点云数据处理中海量数据的特征,研究了如何快速读取数据,以解决数据导入效率的问题,这里的点云数据本身只包含空间点坐标,没有其它信息;在工程应用方面先使用三维扫描仪完成数据采集,再结合相关VisualC++6.0开发工具和基于OpenGL图形平台的计算机仿真技术,研发出了三维数控扫描仿真系统。
论文的主要结构框架如下: (1)第一章绪论 阐述了选题的背景和研究意义,介绍了国内外研究现状,最后给出了
论文的主要内容和完成的工作。
(2)第二章数控仿真系统的总体设计 根据系统的需求分析,介绍了该仿真系统的总体框架结构,为后面详细阐述奠定基础。
(3)第三章海量数据读取方法的关键技术研究 针对扫描数据量庞大的问题,对其解决方法进行了相关的研究,如内存映射文件技术、虚拟内存技术以及多线程技术,旨在提高数据导入的效率。
3南京邮电大学硕士研究生学位
论文 ‘ +第一章绪论 ’ (4)第四章OpenGL三维图形编程 介绍YOponCL自O基本工作流程和三维图形编程原理。
(5)第五章三维数控仿真系统的开发及实现 依据VisualC++的基本原理,数据解析绘制的基本原理和基于OpcnGL的显示理论,结合具体的实现
代码说明仿真过程。
(6)第六章总结与展望 对本
论文所作工作进行了总结,并就系统会出现的不足之处提出了可能的解决方案,对该项设计作了展望。
4南京邮电大学硕士研究生学位
论文 第二章数控仿真系统的总体设计 第二章数控仿真系统的总体设计2.1引言 对于像数控仿真系统这样复杂系统的研究,传统的面向过程的方法(如结构化方法、功能分解方法等)以很难满足其要求。
将面向对象技术引入数控仿真系统的研究与开发中,将提高数控加工过程仿真系统研究的质量,现代仿真技术的发展趋势之一就是面向对象。
本系统是以VisualC++6.0t81开发环境为支撑,运用可视性和面向对象的程序设计方法开发的一个具有Windows界面支持的三维扫描仿真系统,其外围硬件组成如图2.1所示: 图2-1扫描仿真系统的外围硬件组成 图2.1中,机床主要负责机械运动,此机床为3轴运动,即由x轴,Y轴和z轴组成,实际扫描时通过移动这些轴来满足扫描所需的条件;扫描头主要负责采集模拟量,即根据物体表面高度的不同反馈不同的电压,然后把采集得到的电压送到系统主板进行处理;系统主板通过接受上位机的命令,来执行相应的程序,这些程序包括控制机床移动,接收扫描头来的数据,转换数据及发送数据到上位机;上位机和系统之间通过串口连接,用于收发数据。
上位机(计算机)有专门的软件系统,用来发送不同的命令,使机床完成不同的操作,该软件系统便是本文中的扫描仿真系统。
2.2系统需求分析 需求分析是该扫描仿真系统设计的第一阶段,这一阶段的目标是:对数控机床中扫描头的相关参数,以及所要扫描的对象进行进行详细的调查、分析和归类,在了解系统的总体概况,确定各模块的功能的过程中,收集支持系统目标的数据及其处理的流程,为以后进一步设计打下基础。
通过对扫描对象的分析,需求分析主要解决三个问题: 团南京邮电大学硕士研究生学位
论文 第二苹数控仿冥系统的总体设计 (1)对象特征。
本课题中所要用到的对象均为一些复杂的工艺品,例如浮雕等,若要对其进行扫描仿真,首先为其建立在计算机平台上的模型,为了在扫描仿真时突出其结构特点,就需要在扫描时获取其三维数据信息,并针对其数据特征进行分析处理。
(2)内容要求。
除了仿真对象本身的数据,本系统中还包括用户所需要操作的数据,这些数据包括扫描头扫描物体时在各个方向上的速度设置,不同视图方向上的变换设置,背景颜色设置以及扫描的方法选择设置等。
(3)处理要求。
调查应用系统用户要求对数据进行什么样的处理,理清各种数据之间的关系。
用户要求提供友好的界面和工具,对扫描的各个参数可以进行直观的管理与设置,包括文件的添加、删除、保存等。
用户可以通过界面自定义不同的视图变换方向,扫描速度,以及背景颜色,仿真出自己想要的图形。
综合上述两个方面的问题,在需求分析后,在设计框架方面所做的工作有: (1)上、下位机之间的命令传送。
这里的上位机指的就是计算机,下位机指的是机床控制系统,它们二者之间的命令传送问题也就是界面上的参数设置如何发送到下位机,并控制机床按照用户的设置进行操作;反之亦然。
(2)系统主要类的划分。
系统用VC++在Windows2000平台上开发,系统的主要框架继承了MFC类结构体系,采用VC++的AppWizard自动生成系统的基本框架,根据数控仿真系统的情况,我们选用的是基于单文档单子窗口的框架结构,VC抖自动生成的类主要包括有应用程序类、框架窗口类、文档类和视图类。
在开发过程中主要对自动生成的框架窗口类和视图类进行修改和扩充,以及对工程中添加自定义的类,大致包括以下几种,用Visual C++6.0实现OpenGL编程的接口类(CGL),实现串口通信的串口控件类(CMSComm),实现手动设置的手动窗口类(CDlgManullnfo),基本参数设置的对话框类(CTestDlg),扫描参数设置的对话框类(CSettingDlg)等。
在以上的基本功能已被定义了的基础上,还需要考虑到一些性能上的需求,主要包括以下几个方面: (1)稳定性:本系统涉及到扫描数据量的问题,因此尽可能优化数据读取和存储方案,提高运行效率,减少诸如死机之类的问题产生。
(2)易使用性:在系统界面设计时,必须以友好的界面呈现给用户,考虑增加各项常用功能工具条,要求界面设计美观,通用性强,并为系统使用用户提供详尽的帮助文档。
6堕室坚皇查兰堡主竺壅生兰堡垒奎 笙三兰茎笙堕壅墨堕箜璺签丝盐 (3)准确性:在仿真出来的图形涉及到与原图形是否吻合的问题,因此需要尽可能的去优化绘制显示的算法,提高扫描精度。
,2.3系统开发工具的选择2.3.1面向对象编程 本系统拟采用C++【9】语言开发,它是一种面向对象的编程技术,C++语言功能强大,它通过提供类的方式来支持OOP,类是一种结合了数据及算法的数据类型。
对于各种复杂应用功能提供全面支持,故被广泛采用。
面向对象的程序设计(Object-Oriented Programming,OOP)四是当今流行的一种功能强大的编程技术。
所谓对象就是一个或一组数据及处理这些数据的方法和过程的集合。
面向对象程序设计的主要特点是抽象性、封装性、继承性和多态性。
抽象性允许忽略实施细节,而从更高的等级上考虑一个实体,对过程的抽象形成对象的方法,对数据的抽象形成对象的属性:封装性实际上是把数据和处理这些数据的方法和过程集中到一个相对封闭的集合 j中,只有通过对象自身的函数才能访问这些数据;继承性是在类、子类和对象之间自动共享函数和数据的一种机制,使程序可以在已有对象基础上发展出新的功能更强的新对象;多态性指对于同一个过程,可以在不同的地方、不同的对象等级中,使用不同的
代码实现,允许相关对象对同一消息做出不同但适宜的反应。
这些特性增强了
代码的可重用性并使其易于维护,更能适应变化的商业要求。
面向对象的编程采用了结构化的编程思想,并把它们与几个以新的方式达到编程任务的新概念相结合。
面向对象编程的特点在于突破了原来的过程式编程模式,提出了对象这样一个集合概念,而将被操作的数据和操作函数作为它的属性和行为。
在面向对象的程序中,对象的属性不能由外部直接存取,而是由对象的行为直接操纵。
当对象接受一个信息时,就引用对象的行为(动作)。
这样一个应用程序乃至整个计算机都成为一个对象的集合体,对象彼此之间通过消息相互作用,程序具有良好的模块化结构,维护更具方便性。
在分析阶段,编程人员主要考虑如何定义程序中的各种数据类;怎样利用类的继承使类的定义中冗余
代码量最少;怎样利用类的封装性,使数据得到保护,而不是像以往传统的结构化设计那样,系统分析阶段主要考虑如何划分功能模块,各个模块完成什么工作。
南京邮电大学硕士研究生学位
论文 第二章数控仿真系统的总体设计‘ 2.3.2开发软件和几何平台的选择 本系统在开发平台的选择上主要基于Visual C++6.0软件开发工具和OpenGL
开源的 图形开发平台。
(1)Visual C++开发平台 Visual C++6.0是Microsoft公司推出的目前使用极为广泛的、基于Windows平台的可 视化编程环境,采用了全新的平面化操作界面,它集界面设计、
代码编辑、编译、连接和 调试等功能于一体,可以快速简洁地开发出功能强大的、充分满足用户需要的应用软件。
Visual C++作为一种程序设计语言,它同时也是一个集成开发工具,提供了软件
代码 自动生成和可视化的资源编辑功能。
在使用Visual c.卜十开发应用程序的过程中,系统为我 们生成了大量的各种类型的文件。
Microsoft的基本类库MFC使得开发Windows应用程序 比以往任何时候都要容易。
可在Visual C++环境下,利用微软的基本类库MFC开发出功 能强大的Windows应用程序。
Visual C++中引入了微软定义的基本类库(MFC)后,使 Windows程序设计彻底实现了模块化,从而大大降低了程序设计的复杂性。
MFC的英文全称是Microsoft Foundation Classes,即微软的基本类库,虽然我们要编 写的程序在功能上是千差万别的,但从本质上来讲,都可以化归为用户界面的设计,对文 件的操作,多媒体的使用,数据库的访问等等一些最主要的方面。
这一点正是微软提供MFC 类库最重要的原因,在这个类库中包含了一百多个程序开发过程中最常用到的对象。
在进 行程序设计的时候,如果类库中的某个对象能完成所需要的功能,这时我们只要简单地调 用已有对象的方法就可以了。
除此之外,还可以利用面向对象技术中很重要的“继承”方 法,从类库中的已有对象派生出我们自己的对象,这时派生出来的对象除了具有类库中的 对象的特性和功能之外,还可以由我们tl己根据需要加上所需的特性和方法,产生一个更 专门的、功能更为强大的对象.当然,你也可以在程序中创建全新的对象,并根据需要不 断完善对象的功能。
正是由于MFC编程方法充分利用了面向对象技术的优点,它使得我 们在编程时极少需要关心对象方法的实现细节,同时类库中的各种对象的强大功能足以完 成我们程序中的绝大部分所需功能,这使得应用程序中程序员所需要编写的
代码大为减 少,有力地保证了程序的良好的可调试性。
最后要指出的是MFC类库在提供的对象的各种 属性和方法都是经过谨慎编写和严格测试的,可靠性很高,这就保证了使用MFC类库不会 影响程序的可靠性和正确性【10】。
(2)系统的图形开发平台 8妻室坚皇奎堂堡主塑窒生堂垡堡奎 墨三兰鍪笙堕墨墨竺箜璺堡丝盐 OpenGL是近几年发展起来.