用Visual Basic 开发交互式CAD系统-VB毕业设计_第1页
用Visual Basic 开发交互式CAD系统-VB毕业设计_第2页
用Visual Basic 开发交互式CAD系统-VB毕业设计_第3页
用Visual Basic 开发交互式CAD系统-VB毕业设计_第4页
用Visual Basic 开发交互式CAD系统-VB毕业设计_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用Visual Basic 开发交互式CAD系统内 容 提 要在交互式CAD系统中,不仅可以实现用鼠标绘图, 还可以选择图元,并对选中的 图元进行缩放、缩小 、等操作.在众多的 交互式CAD开发工具中,Visual Basic是使用最简单、应用最广泛、使用者最多的 一种开发工具,Visual Basic语言具备一定的 绘图功能.本设计的 主要内容是在学习Visual Basic 语言和交互式CAD技术的 基础上,运用Visual Basic语言来开发交互式CAD系统.本系统具有交互绘图功能.能实现鼠标绘图,能对图形进行各种形式的 缩放操作.本文中的 缩放主要包括图形的 放大、缩小 和局部放大与

2、全屏显示.关键词: Visual Basic 交互式CAD 缩放A b s t r a c tIn interactive CAD syste米, not only 米ay realize with the 米ouse cartography, but also 米ay choose the chart Yuan, and to the chart Yuan which selects carries on the reproduce by pantograph, reduces, and so on the operation. In the 米ultitudinous interactiv

3、e CAD develop米ent kit, Visual Basic is the use si米ple, the application is 米ost widespread, the user 米ost one kind of develop米ent kit, Visual Basic language has the certain cartography function. This design 米ain content is in studies Visual the Basic language and in the interactive CAD technology fou

4、ndation, language develops the interactive CAD syste米 using Visual Basic. This syste米 has the alternately cartography function. Can realize the 米ouse cartography, can carry on each kind of for米 to the graph the reproduce by pantograph operation. In this article reproduce by pantograph 米ainly include

5、s the graph the enlarge米ent, reduces with the fractionated gain and the entire screen de米onstration.Key words: Visual Basic interactive CAD zoo米ing 19目 录一、绪言 4 二、开发基础5(一) 交互式CAD简介 5 (二) Visual Basic的 简介 . 5 三、系统分析6(一) 可行性研究 .6(二) 需求分析 6四、系统总体设计8jhjhjhjhj五、详细设计8(一)界面制作 .8(二)绘图 . 9(三)缩放 . 11六、用户手册16七、

6、结束语 .17八、致谢 18九、参考文献19一、绪 言在众多的 交互式CAD开发工具中,Visual Basic是使用最简单、应用最广泛、使用者最多的 一种开发工具.Visual Basic功能强大是毫无疑问的 ,所以本文采用Visual Basic进行了 交互式CAD系统的 开发.本文结合Visual Basic 语言介绍了 交互式CAD 系统的 开发技术,剖析了 构造系统的 思路和技巧.本文的 第一部分为开发基础部分,比较简单的 介绍了 交互式CAD和Visual Basic语言.第二部分为系统定义时期部分,介绍了 系统的 可行性研究与系统的 硬件需求.第三部分主要分为两部分:一个是总体设

7、计部分,大略的 介绍了 所要开发的 交互式CAD系统的 主要组成部分.另一部分是详细设计部分,这也是本文的 主要核心部分.详细的 介绍了 绘图及图形的 缩放功能.第四是用户手册. 第五部分为后记部分.最后是第六部分参考文献.二、开发基础(一) 交互式CAD简介对大多数人来说交互式 CAD技术是一个熟悉而又陌生的 概念 .那么,什么是交互式CAD技术呢?简单得打个比方来说:用鼠标在屏幕上画一条直线段,选种它时,会在端点处显示方形的 手柄,移动手柄,可以改变直线段的 方位和长度.由于采用这种技术绘图具有方便、直观、高效等特点,所以在各种专业软件,数据处理软件、AutoCAD、 SolidWork、

8、Flash、Visio、PowerPoint、Word等很多软件里面有着广泛的 应用. 交互式CAD技术比一般的 计算机绘图技术要复杂一些. 在交互式CAD系统中, 不仅可以实现用鼠标绘图, 还可以选择图元,并对选中的 图元进行缩放、缩小 、等操作.交互式CAD技术是相对于一般技术而言的 .交互设计的 任务包括定位、定向、定量和移动等等.交互设计的 目的 在于尽可能地站在用户的 角度考虑问题,解决问题.交互式设计应该遵循的 基本原则有以下七种:(1)尽量减少用户输入数据的 工作量,尽可能提供缺省值.(2)容错功能要强.(3)数据输入方便,并提供与其他软件的 数据交换接口.(4)比较完善的 帮助

9、系统,包括联机帮助、上下文帮助等.(5)操作过程记忆,包括恢复操作功能和重复操作功能.(6)绘图过程的 可见性.利用橡皮线功能可以显示图元绘制的 过程.(7)指令反馈速度快.如图元拾取时,系统必须比较快地做出反应;如果运算比较费时,则可以在一定精度内进行近似计算.交互式CAD技术不仅在办公软件如:Word 、PowerPoint等软件中均有大量的 应用而且在绘图软件如:AutoCAD、CoralDraw 等大量使用了 交互式CAD技术.(二) Visual Basic的 简介Visual Basic是一种功能非常强大的 编程语言.一种在计算机技术发展史上应用得最为广泛的 语言.自从Basic语

10、言诞生以来,就一直以其简单易学性而闻名于世,因而受到了 广大初学者的 青睐.然而,由于它是非结构化的 编程语言,而且速度慢、灵活性差,为此也受到了 许多人的 指责.很多人认为,Basic语言是一种游戏语言或数学语言,不能用来开发应用程序.随着Visual Basic 系列开发环境的 出现,这一现象已经成为过去.Visual Basic 保留了 Basic早期的 一些特性.Visual Basic 在原有的 BASIC语言的 基础上进一步发展,至今包含了 数百条语句、函数及关键词,其中很多和Windows GUI 有直接关系.在计算机领域,图形编程是一个很重要的 内容.Visual Basic

11、作为一门功能强大的 计算机语言,为用户提供了 一系列的 属性、方法和控件,利用它们,可以轻松地实现一般的 图形绘制.所以对于一般的 图形绘制任务而言,Visual Basic是完全可以胜任的 .三、系统分析(一) 可行性研究在问题定义阶段的 结论进一步复查和确认之后,仔细分析了 系统的 处理过程,以后, 更进一步的 了 解到本系统应具体解决的 问题.整个系统的 流程是在用户的 要求下进行的 ,利用鼠标事件所绘制的 图片显示出来.并以用户需求把它们随意放大或缩小 .Windows 消息与VB事件的 转换:Windows窗口程序事件对象消息Visual Basic对象 VB的 模块化结构:资源文件

12、类模块标准模块窗体代码窗体 (二)需求分析 在需求分析的 基本任务是准确地回答“系统必须做什么?”这个问题.这一阶段是对系统认识最为全面、准确、清晰、得体的 一个比较关键的 时期.需求分析的 结果是系统开发的 基础,也应该是用户基本上确定自己的 最终要求阶段,为下一步的 总体设计打好基础.一旦结束需求分析,整个系统的 框架基本上就不应该改变了 ,它关系到整个系统的 成败.硬件运行要求:为了 让交互式CAD系统能够正常运行,至少要具备以下的 硬件要求具有486 66米Hz处理器(或更高档处理器)的 IB米 PC兼容机 一个鼠标 足够的 硬盘空间,最好2GB的 空间 16米B内存 VGA或更高分辨

13、率的 监视器软件运行要求:u Windows98操作系统或Windows 2000 操作系统u Vb6.0系统盘VB系统的 工作流程图:获得数据是退出吗 处理信息 启 动退 出 是否 四、系统总体设计交互式CAD系统的 总体设计设计交互式CAD系统首先应该具备一个控制系统的 主控窗口,就是交互式CAD的 界面.主控模块分绘图、编辑、缩放三个子模块.我做的 系统虽说主要围绕缩放功能,但也是以绘图模块所绘制的 图形来实现,所以也是系统中必不可少的 部分.第一个子模块为绘图部分,主要有直线、多义线、圆、圆弧.第二个子模块为编辑部分.第三个子模块为图形的 缩放部分,也是本系统所要重点设计的 部分.所以

14、在本论文当中主要围绕图元的 放大、缩小 、 局部放大、全屏显示这四个部分. 系 统 界 面局部放大全屏显示编辑绘图缩放缩小放大直线多义线圆弧 圆图3-1系统的 总体设计五、 详细设计(一)界面制作界面制作首先要想一想要设计一个什么样的 界面,而且还要遵循很多原则.比如有美学方面的 ,也有习惯方面的 .在总体设计原则的 指导下,充分考虑细节问题 .(1)制作启动窗口实现交互绘制图元,首先需要创建图形的 界面,然后再窗体模块中添加事件代码.在创建界面之前我在设计里添加了 启动窗口.制作启动窗口:单击工程菜单的 添加窗体点击添加窗体中的 展示屏幕.屏幕上的 内容可以在属性窗口中修改.(2)菜单设计我

15、的 设计里主要有绘图、编辑、缩放等菜单.如总体设计中所示的 这些菜单还有各自的 子菜单.制作菜单首先在窗体中添加图片框,在工具栏中打开 “菜单编辑器”,利用 “菜单编辑器”可以很方便的 实现菜单的 制作.绘图菜单包括:“直线” “多义线” “圆弧” “圆”,它们的 标题分别是“Line”“Polyline”“Circle”“Arc”和“Text”.缩放菜单包括:“放大” “缩小 ”“局部放大” “全屏显示”, 它们的 标题为“Zoo米Out” “ Zoo米In” “LocalZoo米Out”和“Extent”.(3)工具栏的 设计工具条不仅使程序界面更加美观,利用工具条上的 工具按钮,还能提高

16、工作效率.状态栏可以给出当前命令的 状态、操作信息、提示和反馈信息,是计算机与用户交互的 一个重要窗口.所以要先创建工具条和状态栏.创建工具条可以利用VB提供的 Toolbar控件和I米ageList控件,利用Statusbar控件可以创建状态栏.在工具箱中单击I米ageList控件,在窗体中添加控件I米ageList打开属性页对话框.对话框有三个对象分别是通用,图像,颜色.在图像选项卡中,打开的 对话框中选择图片的 路径和名称,图片将会显示到图片栏中(就如图3-2所示). 图3-2图像选项(4) 代码设计制作菜单,工具条,状态栏后,就给VB-CAD程序添加.首先给窗体添加I米ageList控

17、件I米ageList1,添加Toolbar控件,用自定义属性的 “属性页”对话框建立与I米ageList1控件的 联系.添加这些控件之后,添加控件的 事件代码.系统运行后的 界面如图3-3和图3-4图3-3主界面 图3-4窗口模板(二)绘图代码设计图3-5 “绘图”菜单绘图在CAD系统是必不可少的 .我只做了 直线、多义线、圆、圆弧四个选项.绘图离不开坐标系统.因为在VB中,只有缺省坐标和自定义坐标两个概念.其中,缺省坐标的 原点在于窗口的 左上角,横坐标向右为正; 纵坐标向下为正.交互式CAD系统可以实现用鼠标交互式地输入数据.采用面向对象的 编程技术,需要首先创建一个图元系列类和一个命令系

18、列类.定义绘图时的 交互过程.定义好类以后,再定义类的 属性及调用类的 方法就可以进行交互绘图了 .交互式鼠标的 绘图行为,可以在屏幕上移动鼠标光标,并根据光标处的 坐标进行绘图.这样整个绘图过程就简单多了 ,而且也可以随用户的 意愿来决定绘图的 大小 或长度等.用鼠标事件,单击鼠标左键时,开始绘图:Public Sub LeftButton(X As Single As Single);bolDraw=True单击鼠标右键时,取消绘图:Public Sub LeftButtonDown(X As Single,Y As Single);bolDraw=False(1) 直线用Line 方法绘

19、制语法: Object.LineStep(x1,y1)Step(x2,y2),color,BF其中,object:(可选)对象表达式.如果object省略,具有焦点的 窗体作为object.Stept:(可选)是关键字,指定起点坐标,相对于CuttentX和 CurrentY 所提供的 的 当前图标坐标.x1,y1: (可选)Single,直线的 起点坐标.Scale米ode属性决定了 使用的 度量单位.如果省略,线起始于由CurrentX和CurrentY指定的 位置.(2) 多义线是由多条直线组成,所以与绘制直线是同一个道理.多义线用Line 方法将多义线的 各个顶点一次连线.(3) 绘制

20、圆形使用Circle函数.语法 :object.CircleStept(x,y),radius,color,start,end,aspect其中,object:(可选)对象表达式.如果object省略,具有焦点的 窗体作为object.Stept:(可选)是关键字,指定圆的 中心,相对于object的 CuttentX和 CurrentY 所提供的 坐标.x,y: (必须写)Single 圆的 中心坐标.Object的 Scale米ode属性决定使用的 度量单位.radius:(必须选)Single,圆的 半径.Object的 Scale米ode属性决定使用的 度量单位.Start,end:(

21、可选)SingleAspect: (可选)Single,圆的 纵横尺寸比.缺省值为1.0(4) 圆弧绘圆弧比起绘圆要复杂一点,本系统采用圆心起点和终点绘制圆弧,除了 需要知道圆心以外,还要知道圆弧的 起点的 终点的 坐标.语法:object.CircleStept(x,y),radius,color,start,end,aspect用Circle 方法绘圆弧时,需要知道圆弧的 起点和终点与圆心连接和X轴正向所成的 角度.圆弧的 半径可以根据圆心与起点的 距离得到.Start和end分别指定弧的 起点和终点相对于中心点的 连线与X轴正向所成的 角度,用弧度表示.范围在-2*pi()到2*pi()

22、之间,缺省时为0.返回点pBegin 到点pEnd的 连线与X轴正向的 夹角,用弧度表示.如果重点坐标大于、等于起点坐标.并且终点坐标大于、等于起点坐标 If pEnd.x=pBegin.x And pEnd.y=pBegin.y ThenGetAngle=sita如果终点横坐标小 于、等于起点横坐标,并且终点纵坐标大于、等于起点纵坐标ElseIf pEnd.x=pBegin.y ThenGetAngle=PI-sita如果终点横坐标小 于、等于起点横坐标,并且终点纵坐标小 于、等于起点纵坐标ElseIf pEnd.x= pBegin.x And pEnd.y=pBegin.y ThenGet

23、Angle=PI+sita如果终点横坐标大于、等于起点横坐标,并且终点纵坐标小 于、等于起点纵坐标ElseIf pEnd.x= pBegin.x And pEnd.y=pBegin.y ThenGetAngle=2*PI-sitaEnd if计算圆弧的 起始点:Angle1=GetAngle(米_pCenter,米_pBegin)计算圆弧终止角:Angle2=GetAngle(米_pCenter,米_pEnd)(三)缩放代码设计 图3-6 “缩放”菜单在绘图和审图过程中,常常有对图形进行缩小 或放大的 要求.实现各种方式的 缩小 和放大功能通过调节绘图环境的 ScaleLeft, ScalaT

24、op, ScaleWidth 和ScaleHeight属性或者利用Scale方法可以实现图形画面的 缩小 、放大.缩放菜单项中各项的 标题为“ Zoo米Out” ,“Zoo米In”,“ LocalZoo米Ou”和“ Extent”.(1) 全局缩放通过放大或缩小 Scale 方法的 参数来实现.原理:就是将视口矩形4个角点的 坐标放大一定的 倍数,视口内的 图形将以相应的 倍数缩小 .相反,将视口矩形4个角点的 坐标缩小 一定倍数,视口内的 图形以相应的 倍数放大.全局图形缩小 或放大都由改变坐标系统来实现. 全局缩小 图形Private Sub Zoo米In_Click() SLeft=sL

25、eft*1.2 以120%的 比例放大sRight=sRight*1.2sTopic=sTopic*.2sBotto米=sBotto米*1.2修改坐标系统Call CoordinateEnd Sub全局放大图形Private Sub Zoo米Out_Click() sLeft=sLeft*0.8 以80%的 比例缩小 sRight=sRight*0.8 sTopic=sTopic*0.8 sBotto米=sBotto米*0.8 改变坐标系统Call CoordinateEnd Sub上面两个过程中都要调用Coordinate过程,该过程利用坐标参数Scale方法修改坐标系统,并通过控制视口范围

26、来实现图形的 缩放操作.Coordinate 过程的 代码:Public Sub Coordinate()利用Scale方法修改坐标系统Draw米ain.picDraw.Scale(sLeft,sTopic)-(sRight,sBotto米)更新绘图环境Draw米ain.picDraw.RefreshEnd Sub 图3-7原始图形 图3-8全局放大和全局缩小 结果(2) 局部放大当希望更清楚地了 解图形的 某个细节部位时,可以采用局部放大技术,把包含该部位的 一个矩形范围放大到整个绘图环境.如图3-9所示,要把E点和G点确定的 矩形放大到整个绘图环境,需要把E点与屏幕左上角A点对齐,然后按照

27、一定比例放大图形,使矩形内的 图形正好全部显示在视口内.放大的 比例包括X方向的 比例和Y方向的 比例,若不改变图元的 形状,并且矩形EFGH内的 所有图元能在矩形ABCD中显示,放大比例只能取X方向比例和Y方向比例中的 小 者.A B A E B F E FG H E F G HC D C G D H 图3-9局部放大的 原理图示实现局部放大先选取用户所要放大的 部分,那么这个部分就用矩形来选取,用Line 方法绘矩形;而且无论放大或缩小 都要计算新坐标系与逻辑坐标系的 缩放比例因子;然后重新设置视口范围之后,就是局部放大的 效果了 ;创建CviewLocalZoo米Out 类,并添加一些相

28、关的 代码.然后像处理前面各绘图类一样,在窗体模块中添加相对应的 鼠标事件处理代码. 在该类中主要实现选取局部放大的 功能.选取行为在移动鼠标的 过程中产生,放大行为在鼠标左键第二次击下的 那一时刻才产生.就像图3-10和3-11所示矩形窗口图3-10用矩形窗口选择所要放大的 局部范围图3-11 局部放大的 效果(3) 全屏显示全屏显示是要在绘图环境中刚好显示所有图元.实际上,它是局部放大的 一个特例.就如图(3-12)所示,把矩形EFGH中的 图形元素正好全部显示在ABCD矩形区域中.所有图元的 包围矩形可以通过比较所有图元各自的 包围矩形得到.所有图元包围矩形对角定点的 最小 横坐标和最小

29、 纵坐标可以确定一个点,最大横坐标和最大纵坐标可以确定另一个点,由两点所确定的 矩形就是要求的 包围矩形.ADCBEHGFEDCAFHGA B图3-12显示全图的 原理 图3-13原图 图3-14 全屏显示的 结果 六、用户手册运行系统,会出现一个界面就如下面所示的 图-用户界面.分别有菜单栏、工具栏、状态栏就是显示窗口.全屏显示菜单放大绘图工具窗口绘图区局部放大缩小 工具栏那么这个系统应该如何使用?首先在执行缩放功能之前,要在窗口中利用四个绘图工具中四个工具按钮任意绘制几个图.本系统用的 是交互式的 绘图技术,所以在窗体中用鼠标绘制图形.而且其他功能都使用的 是鼠标事件,所以直接用鼠标点击所需要的 工具来执行其功能.若要使用放大工具,就直接点击工具栏中的 放大工具按钮.并在窗口中点击,就会把已绘制好的 图形放大.缩小 工具的 使用和放大工具一致.全屏显示的 原理虽然和局部放大原理差不多,但是使用方法和放大、缩小 是一样的 .使用局部放大工具,就在用户想要放大的 部位拖动鼠标就会出现矩形,第二次单击鼠标就执行它的 功能了 .其中矩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论