资源目录
压缩包内文档预览:
编号:6894998
类型:共享资源
大小:654.24KB
格式:RAR
上传时间:2018-01-02
上传人:专业****设计
认证信息
个人认证
葛**(实名认证)
江苏
IP属地:江苏
20
积分
- 关 键 词:
-
定做请加QQ:
1060741974
参考网站
http://www.bysj360.com/
http://www.bylw520.ne
- 资源描述:
-
VB022用VB开发交互式cad系统,定做请加QQ:,1060741974,
,参考网站
,/
,http://www.bylw520.ne
- 内容简介:
-
VB开发交互式cad系统第1页延边大学本科毕业论文用VB开发交互式CAD系统(图形的编辑部分)作者:李俊院系:理工学院专业:计算机科学与技术年级:01级学号:2014010160指导教师:张云秋VB开发交互式cad系统第2页摘要本次毕业设计的任务是用VB开发交互式CAD系统的图形编辑部分。VB采用了面向对象编程,为开发交互式系统提供了一系列的属性、方法和控件设计。交互式CAD系统是计算机绘图系统中比较先进和完善的一种系统形式,是计算机图形最自然的方式之一。具有交互绘图的功能。能实现鼠标绘图、图元选择和编辑,对选中的图元进行修改、几何变换和删除等操作具备图形输出功能。交互式CAD系统的特点是方便、直观、高效。本次设计的重点是图形编辑中的图形的平移和旋转。交互式cad系统在办公、绘图平面设计、工业设计等方面都有很多应用。关键字:交互式CAD系统图形的编辑VBVB开发交互式cad系统第3页AbstractThisgraduationprojectdutyisdevelopstheinteractiveCADsystemwithVBthegraphiceditorpart.VBhasusedtheobject-orientedprogramming,Inordertodeveloptheinteractivesystemtoprovideaseriesofattributes,themethodandtocontroladesign.TheinteractiveCADsystemisinthecomputercartographysystemquiteadvancedandtheperfectonekindofsystemformisthecomputercorrespondsoneofmostnaturalways.Hasthealternatelycartographythefunction.Canrealizethemousecartography,achartYuanchoiceandtheedition,tothechartYuanwhichselectscarriesonoperationandsoonrevision,geometrytransformationanddeletionhasthegraphicaloutputfunction.TheinteractiveCADsystemcharacteristicisconvenient,directviewing,ishighlyeffective.Thisdesignkeypointisinthegraphiceditorgraphtranslationandrevolves.Theinteractivecadsysteminaspectandsoonwork,cartographyplanedesign,industrialdesignallhasveryapplies.Keywords:InteractiveCADsystemgrapheditionVBVB开发交互式cad系统第4页目录第1章绪论5第2章可行性研究62.1问题定义2.2可行性分析第3章总体设计73.1总体规划3.2开发环境和工具3.3软件介绍3.4系统实现和设计主要分以下几个步骤第4章具体设计84.1具体设计的详细说明图84.2图元的编辑94.3图元的拾取与选择144.4窗体的显示控制17第5章心得体会18参考资料19VB开发交互式cad系统第5页第一章绪论对于大多数人而言,“交互式CAD技术”是一个熟悉而陌生的概念,为什么这么说呢?因为您可能经常在使用这种技术,却没有意识到。什么是交互式cad技术呢?打一个比方说;用鼠标在屏幕上画一条直线,选中它后,可以改变直线段的方位和长度。这种技术绘图具有方便、直观、高效率等特点,在各种专业软件、数据处理软件、AutoCAD、Flash、PowerPoint、Word等很很多软件里面都有广泛的应用。在交互式系统中,不仅可以实现用鼠标绘图,还可以选择图元,并对选中的图元进行修改、几何变换和删除等操作。为了实现这些功能,交互式CAD系统不仅需要考虑图形的数学模型,还要在数据结构、内存管理等方面做出筹划。VB开发交互式cad系统第6页第二章可行性研究2.1问题定义本系统是一个关于交互式CAD的应用系统。(1)该系统应该在整体上实现绘制各种图元、编辑图元和显示编辑好的窗体等模块。(2)该系统中,图元数据需要保存起来,以便进行编辑操作。以合理的数据结构进行保存,可以在内存、系统安全性方面得到好处,从而提高程序的整体性能。2.2可行性分析技术可行性:根据新系统目标来衡量所需的技术是否具备,一般可以从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析。这次设计的系统采用Visualbasic6.0系统开发的.硬件要求:486以上CPU,64MB以上内存,2G以上硬盘。软件介绍:Visualbasic6.0需要在windows95/98/NT/XP运行。VB开发交互式cad系统第7页第三章总体设计交互式CAD系统要涉及到大量的数据处理,如何描述、输入、管理、编辑和输出它们,在开发以前需要进行详细的规划。3.1总体规划1.数据的组织和描述(1)数据结构(2)数学模型2.数据的输入实现鼠标交互式输入数据3.数据的管理(1)type结构(2)VB类4.数据编辑(1)图元的拾取和选择(2)图元的几何变化平移和旋转。5.数据的输出(1)文本输出(2)以DXF格式输出6.UML类图7.界面交互3.2开发环境和工具windows平台Visualbasic6.03.3软件介绍Visualbasic6.0为开发工具。VB6.0是微软公司推出的可视化编程工具MSDN之一,Visualbasic6.0是一门功能强大的计算机语言,为用户提供了一系列的属性、方法和控件。采用了面向对象的编程技术进行编程。3.4系统实现和设计主要分以下几个步骤(1)在windows平台下安装Visualbasic6.0软件。(2)创建主窗体和显示控制窗体。(3)用Visualbasic6.0语言来编写程序。VB开发交互式cad系统第8页第四章具体设计设计图元编辑的流程图开始输入x,yx=x+xy=y+y平移图元x,y=0结束开始输入x,yx=xcosysiny=xsin+ycos=0旋转图元结束是是否否VB开发交互式cad系统第9页4.1具体设计的详细说明图本次设计包括三个部分;图元的拾取、图元的编辑和窗体的制作。(1)总体设计过程说明图(2)图元编辑说明图(3)图元拾取的功能分析图4.2图元的编辑在设计过程中图元编辑部分是具体设计的核心部分。1.二维图形变换的基本原理、算法和具体实现用计算机进行辅助设计时,复制、移动、旋转已有图元可以提高绘图效率,对图形元素进行集合变换可以实现这些操作。图元的基本形状和位置由它们的图元绘制的具体代码实现图元的拾取和选择图元的编辑和变换具体图元编辑的代码实现显示窗体的制作显示控制的代码具体实现图元编辑图元的平移图元的旋转直线多义线圆圆弧文本图元拾取逐步选取分类选取直线多义线圆圆弧文本全选全删除VB开发交互式cad系统第10页控制点唯一确定,比如直线段由直线段的起点和终点确定,圆弧由圆弧的圆心、起点和终点确定等。所以对图元的旋转、平移等集合变换可以归结为对图元控制点的几何变换。控制点的几何变换完成以后,根据变换后的控制点绘图,就可得到变换后的图元。二维空间中一点变换前后的关系可用下式表示:t11t12xy1=xy1t21t22xy其中,xy为变换前点的坐标,xy为变换后的坐标。t11t12T=t21t22变换矩阵。xy用齐次坐标表示,上式可以写成:x=xt11+yt21+xy=yt12+yt22+y(1)平移变换平移变换是把选中的图元平移到另一位置,如图2-1所示。YP(x,y)p(x,y)X图2-1平移变换图示平移变换的变换矩阵为100T=010xy1VB开发交互式cad系统第11页所以有100xy1=xy1010xy1既x=x+xy=y+y其中,x,y为评议前点的坐标;x,y为平移后点的坐标,x和y为点在x方向和y方向上平移的距离。(2)旋转变换旋转变换使图元绕某点旋转一定角度后,到达新位置,如图2-2所示。逆时针旋转时,旋转角度为正,反之为负。YP(x,y)p(x,y)X图2-2旋转变换cossin0饶原点旋转的变换矩阵为T=-sincos0001所以有cossin0xy1=xy1T=-sincos0001即x=xcosysinVB开发交互式cad系统第12页y=xsin+ycos2.点的变换图元的变换可以归结为点的变换,首先在position类中添加点的变换函数。(1)平移变换移动后点的坐标值等于移动前点的坐标值与位移矢量的和。在position类中添加pntmove函数,该函数有两个参数xx和yy,分别定义移动矢量的水平向分量和垂直向分量。在直角坐标系中,当xx或yy为正时,点向右、向上移动;当xx或yy为负时,点向左、向下移动。函数返回一个position类实例,为移动后的点。(2)旋转变换旋转一个点需要确定两个参数,既旋转的参照点和旋转的角度。参照点指的是饶哪个点旋转。在position类中添加pntrotate函数,定义点的旋转行为。Pntrotate函数有两个参数,即basepos和angle分别定义旋转参照点和旋转角度。旋转后点的坐标可以根据原理部分的计算公式获得。,3.图元的变换直线段的几何变换(1)直线段的平移变换直线段的平移变换实际上是对直线段的起点和终点作平移变换,然后将变换后的起点和终点用直线段相连接。在cline类模块中添加CGElement_Move过程,定义直线段的平移变换。该函数有两个参数,即basepos和despos,分别定义平移前后的相对位置。平移前直线段上任一点到basepos点的距离和方向与平移后直线段上对应点到despos点的距离和方向是相同的。两个点横坐标之间和纵坐标之间的差异分别表示横向和纵向移动的距离和方向。(2)直线段的旋转变换通过旋转直线段的起点和终点,可以实现直线段的旋转。在cline类模块中添加CGElement_Rotate过程,该过程的两个参数basepos和angle分别定义旋转的基点和角度。多义线的几何变换(1)多义线的平移变换多义线的平移变换可通过平移多义线的顶点来实现。在cpolyline类模块中添加CGElement_Move过程,以描述多义线的平移变换。(2)多义线的旋转变换在cpolyline类模块中添加CGElement_Rotate过程,通过对多义线的顶点进行旋转变换来实现多义线的旋转变换。圆的几何变换(1)圆的平移变换圆的平移动变换通过对圆的圆心和圆上一点进行平移变换类实现。在ccircle类模块中添加CGElement_Move函数,描述圆的平移变换。(2)圆的旋转变换在ccircle类模块中添加CGElement_Rotate过程,通过对圆心和圆上一点进行旋转变换来实现圆的旋转变换。圆弧的几何变换VB开发交互式cad系统第13页(1)圆弧的平移变换在carc类模块中添加CGElement_Move过程,实现圆弧的平移变换。(2)圆弧的旋转变换在carc类模块中添加CGElement_Rotate过程,对圆弧的圆心、起点和终点进行旋转变换。4.图形变换交互功能的实现平移变换CMOVE类平移变换的交互过程通过CMOVE类来实现。该类利用鼠标单击和移动事件代码来描述各种图元进行平移变换时的交互过程。该类实现了Ccommand接口。下图是直线的平移结果。旋转变换通过创建CRotate类来进行描述。通过响应鼠标单击和移动事件来用图形显示图元旋转的基点和角度。下图是直线的旋转结果VB开发交互式cad系统第14页删除图元包括内存删除和屏幕删除两部分。4.3图元的拾取与选择要实现上面的图元的编辑首先要实现图元的拾取功能。图元的拾取是指计算机识别图元的方法。图元的选择是把已经识别的图元单独保存,以备修改和编辑。1.包围矩形的计算包围矩形指能包围图元的最小矩形。(1)直线段的包围矩形直线段的包围矩形是以直线段的起点和终点为对角顶点的矩形。为了提高拾取效率,通常要将直线段的包围矩形向外扩展一定的距离如上图。(2)多义线的包围矩形多义线的包围矩形由多义线的顶点坐标决定。以所有顶点中最小的横坐标和最小的纵坐标所确定的点与最大的横坐标与最大的纵坐标所确定的点为对角顶点的矩形为多义线的包围矩形。VB开发交互式cad系统第15页(3)圆的包围矩形圆的包围矩形为正方形,是圆的外切矩形。包围矩形的左下角坐标和右上角坐标由圆心坐标和圆的半径确定。左下角坐标为圆心坐标减去圆半径,右上角坐标为圆心坐标加上圆半径。(4)圆弧的包围矩形圆弧的包围矩形是包围圆弧的最小矩阵。计算圆弧的包围矩形,需要计算圆弧与过圆心的坐标轴4个方向上的相交关系。因为圆弧与坐标轴正向或负向的交点坐标在数值上代表了这个方向上的最大值。如果相交,则包围矩形在这个方向上的值便是该值。如果不相交,包围矩形在这个方向上的最大值就是圆弧起点和终点x、y坐标的最大值。圆弧与4个轴的相交关系可以通过比较可能的交点与圆弧之间的关系得到。如果圆弧所在的圆与4个坐标轴的交点在圆弧内,则对应的交点便是圆弧与4个坐标轴的交点,否则不是。(5)文本的包围矩形要获取文本的包围矩形,需要知道文本的宽度和高度,以及文本插入点的位置。包围矩形左下角的横坐标为插入点的横坐标,纵坐标为插入点的纵坐标减去文本的高度;右上角的横坐标为插入点的横坐标加上文本的宽度,纵坐标为插入点的纵坐标。2.图元的拾取(1)直线段的拾取如果拾取点落在直线段的包围矩形内,则进一步判断拾取点与直线段之间的距离。如果小于指定的容限值,则该直线段被拾取。(2)多义线的拾取如果组成对义线的任何一条直线段被拾取到,则多义线被拾取到。在Cline类中添加CGElement_pick方法。(3)圆的拾取IamthefirstVB开发交互式cad系统第16页以圆的圆心为圆心,以圆的半径加减R长度为半径,得到一个包围圆的环带。如果鼠标点落在该环内,则圆被拾取。圆拾取的实质是计算拾取点到圆心的距离。(4)圆弧的拾取圆弧的拾取分两步。首先判断圆弧所在的圆是否被拾取。如果没有被拾取,则圆弧不被拾取;如果圆已经被拾取,则继续判断拾取点是否落在圆弧的范围内。如果落在圆弧范围内,则圆弧被拾取,否则不被拾取。(5)文本的拾取拾取标注文本,首先要判断拾取点是否落在文本的包围矩形中,如果在,则文本拾取。3.图元的选择(1)添加选择集为了存储选中的图元,需要添加图元的选择集。(2)逐个选择图元单击某图元时,如果该图元被拾取,把它添加到相应的集合类进行保存,则该图元被选择。在绘图环境中可以连续选择多个图元,并把它们放到选择集中。与图元有关的菜单资源菜单项标题名称逐类选择SelOnebyOne分类选择SelbyClass选择直线段SelLine选择多义线SelPlines选择圆SelCircles选择SelArcs选择标注文本SelTexts全选SelAll放弃全选SelNone(3)分类选择一个图形往往由多种不同的图元组成,如果对某一类图元感兴趣,可以直接选择该类图元,并进行编辑。可通过SelectGEs函数来实现。下图是分类选择的结果VB开发交互式cad系统第17页(4)全选全部选择图元,需要将全部图元集合类中的图元以选择模式重绘,并放入选择集体。下面是全选的结果。4.4窗体的显示控制(1)创建工程和窗体(2)frmlash窗体设计(3)启动frmmain窗体时显示frm
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。