VB交互式CAD系统图形的缩放部分设计(源代码+答辩PPT) 第3页

VB交互式CAD系统图形的缩放部分设计(源代码+答辩PPT) 第3页
◆ 足够的硬盘空间,最好2GB的空间
◆ 16MB内存
◆ VGA或更高分辨率的监视器
软件运行要求:
 Windows98操作系统或Windows 2000 操作系统
 Vb6.0系统盘
VB系统的工作流程图:
四、系统总体设计
交互式CAD系统的总体设计
设计交互式CAD系统首先应该具备一个控制系统的主控窗口,就是交互式CAD的界面。主控模块分绘图、编辑、缩放三个子模块。我做的系统虽说主要围绕缩放功能,但也是以绘图模块所绘制的图形来实现,所以也是系统中必不可少的部分。第一个子模块为绘图部分,主要有直线、多义线、圆、圆弧。第二个子模块为编辑部分。第三个子模块为图形的缩放部分,也是本系统所要重点设计的部分。所以在本论文当中主要围绕图元的放大、缩小、 局部放大、全屏显示这四个部分。
图3-1系统的总体设计
五、 详细设计
(一)界面制作
界面制作首先要想一想要设计一个什么样的界面,而且还要遵循很多原则。比如有美学方面的,也有习惯方面的。在总体设计原则的指导下,充分考虑细节问题 。
(1)制作启动窗口
实现交互绘制图元,首先需要创建图形的界面,然后再窗体模块中添加事件代码。在创建界面之前我在设计里添加了启动窗口。制作启动窗口:①单击工程菜单的添加窗体
②点击添加窗体中的展示屏幕。屏幕上的内容可以在属性窗口中修改。
(2)菜单设计
我的设计里主要有绘图、编辑、缩放等菜单。如总体设计中所示的这些菜单还有各自的子菜单。制作菜单首先在窗体中添加图片框,在工具栏中打开 “菜单编辑器”,利用 “菜单编辑器”可以很方便的实现菜单的制作。
绘图菜单包括:“直线” “多义线” “圆弧” “圆”,它们的标题分别是“Line”“Polyline”“Circle”“Arc”和“Text”。
缩放菜单包括:“放大” “缩小”“局部放大” “全屏显示”, 它们的标题为“ZoomOut” “ ZoomIn” “LocalZoomOut”和“Extent”。
(3)工具栏的设计
工具条不仅使程序界面更加美观,利用工具条上的工具按钮,还能提高工作效率。状态栏可以给出当前命令的状态、操作信息、提示和反馈信息,是计算机与用户交互的一个重要窗口。所以要先创建工具条和状态栏。创建工具条可以利用VB提供的Toolbar控件和ImageList控件,利用Statusbar控件可以创建状态栏。
在工具箱中单击ImageList控件,在窗体中添加控件ImageList打开属性页对话框。对话框有三个对象分别是通用,图像,颜色。在图像选项卡中,打开的对话框中选择图片的路径和名称,图片将会显示到图片栏中(就如图3-2所示)。 
 图3-2图像选项(4) 代码设计
制作菜单,工具条,状态栏后,就给VB-CAD程序添加。首先给窗体添加ImageList控件ImageList1,添加Toolbar控件,用自定义属性的“属性页”对话框建立与ImageList1控件的联系。添加这些控件之后,添加控件的事件代码。系统运行后的界面如图3-3和图3-4
  图3-3主界面                             图3-4窗口模板
(二)绘图代码设计
图3-5 “绘图”菜单
绘图在CAD系统是必不可少的。我只做了直线、多义线、圆、圆弧四个选项。绘图离不开坐标系统。因为在VB中,只有缺省坐标和自定义坐标两个概念。其中,缺省坐标的原点在于窗口的左上角,横坐标向右为正; 纵坐标向下为正。
交互式CAD系统可以实现用鼠标交互式地输入数据。采用面向对象的编程技术,需要首先创建一个图元系列类和一个命令系列类。定义绘图时的交互过程。定义好类以后,再定义类的属性及调用类的方法就可以进行交互绘图了。交互式鼠标的绘图行为,可以在屏幕上移动鼠标光标,并根据光标处的坐标进行绘图。这样整个绘图过程就简单多了,而且也可以随用户的意愿来决定绘图的大小或长度等。用鼠标事件,单击鼠标左键时,开始绘图:Public Sub LeftButton(X As Single As Single);bolDraw=True
单击鼠标右键时,取消绘图:Public Sub LeftButtonDown(X As Single,Y As Single);bolDraw=False
(1) 直线
用Line 方法绘制
语法: Object.Line[Step](x1,y1)[Step](x2,y2),[color],[B][F]
其中,object:(可选)对象表达式。如果object省略,具有焦点的窗体作为object。
Stept:(可选)是关键字,指定起点坐标,相对于CuttentX和 CurrentY 所提供的的当前图标坐标。
x1,y1: (可选)Single,直线的起点坐标。ScaleMode属性决定了使用的度量单位。如果省略,线起始于由CurrentX和CurrentY指定的位置。
(2) 多义线
是由多条直线组成,所以与绘制直线是同一个道理。多义线用Line 方法将多义线的各个顶点一次连线。
(3) 绘制圆形
使用Circle函数。
语法 :object.Circle[Stept](x,y),radius,[color,start,end,aspect]
其中,object:(可选)对象表达式。如果object省略,具有焦点的窗体作为object。
Stept:(可选)是关键字,指定圆的中心,相对于object的CuttentX和 CurrentY 所提供的坐标。
x,y: (必须写)Single 圆的中心坐标。Object的ScaleMode属性决定使用的度量单位。
radius:(必须选)Single,圆的半径。Object的ScaleMode属性决定使用的度量单位。
Start,end:(可选)Single
Aspect: (可选)Single,圆的纵横尺寸比。缺省值为1.0
(4) 圆弧
绘圆弧比起绘圆要复杂一点,本系统采用圆心起点和终点绘制圆弧,除了需要知道圆心以外,还要知道圆弧的起点的终点的坐标。
语法:object.Circle[Stept](x,y),radius,[color,start,end,aspect]
用Circle 方法绘圆弧时,需要知道圆弧的起点和终点与圆心连接和X轴正向所成的角度。圆弧的半径可以根据圆心与起点的距离得到。Start和end分别指定

上一页  [1] [2] [3] [4] [5] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有