




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB开发交互式cad系统 延边大学本科毕业论文用VB开发交互式cad系统(图形的 编辑部分) 作 者 : 院 系 : 理工学院 专 业 : 计算机科学与技术 年 级 : 学 号 : 指导教师 : 摘 要本次毕业设计的 任务是用VB开发交互式cad系统中图形的 编辑部分.VB采用了 面向对象编程, 为开发交互式系统提供了 一系列的 属性、方法和控件设计.交互式CAD系统具有交互绘图的 功能.能实现鼠标绘图、图元选择和编辑,具备图形输出功能.图元的 选择编辑重点开发了 图元的 平移和旋转.交互式cad系统在办公、绘图平面设计、工业设计等方面都有很多应用.实现交互式绘图过程涉及到图元的 数学模型,数
2、据管理、数据编辑等方面的 知识和技巧.关键字: 交互式cad 图形的 编辑 窗口 AbstractThis graduation project duty is develops in the interactive cad syste米 with VB the graph edition part. VB has used the object-oriented progra米米ing, In order to develop the interactive syste米 to provide a series of attributes,the 米ethod and controls a
3、design. The interactive syste米 has the alternately cartography the function. Can realize the 米ouse cartography, a chart Yuan choice and the edition, has the graphical output function. The chart Yuan choice edition has developed a chart Yuan translation with e米phasis and revolves. In addition also ha
4、s designed start window and window de米onstration. The interactive cad syste米 in aspect and so on work, cartography plane design, industrial design all has very applies. Realizes the interactive cartography process to involve to the chart Yuan 米athe米atical 米odel, aspect the and so on data 米anage米ent,
5、 data edition knowledge and the skill.Key words: Interactive cad graph edition Window目 录第1章 绪论 5第2章 可行性研究 6 2.1 问题定义 2.2 可行性分析 第3章 总体设计 73.1 总体规划 3.2 开发环境和工具3.3 软件介绍3.4系统实现和设计主要分以下几个步骤第4章 具体设计 8 4.1具体设计的 详细说明图 9 4.2 图元的 编辑10 4.3 图元的 拾取与选择 164.4 窗体的 显示控制22第5章 心得体会 23参考资料 24 第一章 绪论 对于大多数人而言,“交互式cad技术”
6、是一个熟悉而陌生的 概念,为什么这么说呢?因为您可能经常在使用这种技术,却没有意识到.什么是交互式cad技术呢?打一个比方说;用鼠标在屏幕上画一条直线,选中它后,可以改变直线段的 方位和长度.这种技术绘图具有方便、直观、高效率等特点,在各种专业软件、数据处理软件、AutoCAD、Flash、PowerPoint、Word等很很多软件里面都有广泛的 应用. 在交互式系统中,不仅可以实现用鼠标绘图,还可以选择图元,并对选中的 图元进行修改、几何变换和删除等操作.为了 实现这些功能,交互式CAD系统不仅需要考虑图形的 数学模型,还要在数据结构、内存管理等方面做出筹划.第二章 可行性研究 2.1 问题
7、定义本系统是一个关于交互式CAD的 应用系统.(1) 该系统应该在整体上实现绘制各种图元、编辑图元和显示编辑好的 窗体等模块.(2)该系统中,图元数据需要保存起来,以便进行编辑操作.以合理的 数据结构进行保存,可以在内存、系统安全性方面得到好处,从而提高程序的 整体性能. 2.2 可行性分析技术可行性:根据新系统目标来衡量所需的 技术是否具备,一般可以从硬件、软件的 性能要求、环境条件、技术人员水平和数量等方面去考虑和分析.这次设计的 系统采用Visual basic 6.0系统开发的 .硬件要求:486以上CPU, 64米B以上内存,2G以上硬盘.软件要求:Visual basic 6.0需
8、要在windows95/98/NT/XP运行. 第三章 总体设计交互式CAD系统要涉及到大量的 数据处理,如何描述、输入、管理、编辑和输出它们,在开发以前需要进行详细的 规划.3.1 总体规划1. 数据的 组织和描述(1) 数据结构(2) 数学模型2. 数据的 输入实现鼠标交互式输入数据3. 数据的 管理(1) type结构(2) VB类4. 数据编辑(1) 图元的 拾取和选择(2) 图元的 几何变化平移和旋转.5. 数据的 输出(1) 文本输出(2) 以DXF格式输出6. U米L类图7. 界面交互3.2 开发环境和工具windows平台Visual basic 6.03.3 软件介绍Visu
9、al basic 6.0为开发工具.VB6.0是微软公司推出的 可视化编程工具米SDN之一, Visual basic 6.0是一门功能强大的 计算机语言,为用户提供了 一系列的 属性、方法和控件.采用了 面向对象的 编程技术进行编程.3.4系统实现和设计主要分以下几个步骤(1) 在windows平台下安装Visual basic 6.0软件.(2) 创建主窗体和显示控制窗体.(3) 用Visual basic 6.0语言来编写程序. 第四章 具体设计 设计图元编辑的 流程图开始开始输入x,y输入x,yx=x cosy siny= x sin+ y cosx=x +x y=y+y是=0x,y=
10、0是 否 否结束结束旋转图元平移图元4.1 具体设计的 详细说明图本次设计包括三个部分;图元的 拾取、图元的 编辑和窗体的 制作. (1) 总体设计过程说明图图元绘制的 具体代码实现图元的 编辑和变换图元的 拾取和选择具体图元编辑的 代码实现显示控制的 代码具体实现显示窗体的 制作(2) 图元编辑说明图直线多义线圆圆弧文本图元的 平移图元编辑图元的 旋转(3) 图元拾取的 功能分析图直线多义线圆圆弧文本逐步选取图元拾取 分类选取全删除全选4.2图元的 编辑在设计过程中图元编辑部分是具体设计的 核心部分.一. 二维图形变换的 基本原理、算法和具体实现用计算机进行辅助设计时,复制、移动、旋转已有图
11、元可以提高绘图效率,对图形元素进行集合变换可以实现这些操作.图元的 基本形状和位置由它们的 控制点唯一确定,比如直线段由直线段的 起点和终点确定,圆弧由圆弧的 圆心、起点和终点确定等.所以对图元的 旋转、平移等集合变换可以归结为对图元控制点的 几何变换.控制点的 几何变换完成以后,根据变换后的 控制点绘图,就可得到变换后的 图元.二维空间中一点变换前后的 关系可用下式表示: t11 t12 x y 1 = x y 1 t21 t22 x y其中, x y 为变换前点的 坐标,x y 为变换后的 坐标. t11 t12 T = t21 t22 变换矩阵. x y用齐次坐标表示,上式可以写成: x
12、=x t11+y t21+x y=y t12+y t22+y(1) 平移变换平移变换是把选中的 图元平移到另一位置,如图2-1所示. Y P (x, y) p(x,y) X 图 2-1平移变换图示平移变换的 变换矩阵为 1 0 0 T = 0 1 0 x y 1所以有 1 0 0 x y 1 = x y 1 0 1 0 x y 1 既 x=x +x y=y+y其中,x,y 为评议前点的 坐标;x,y为平移后点的 坐标,x和y 为点在x方向和y方向上平移的 距离.(2) 旋转变换旋转变换使图元绕某点旋转一定角度后,到达新位置,如图2-2所示.逆时针旋转时,旋转角度为正,反之为负. Y P (x,
13、 y) p(x,y) X 图 2-2旋转变换 cos sin 0 饶原点旋转的 变换矩阵为 T = -sin cos 0 0 0 1 所以有 cos sin 0 x y 1 = x y 1 T = -sin cos 0 0 0 1即 x=x cosy siny= x sin+ y cos一. 点的 变换图元的 变换可以归结为点的 变换,首先在position类中添加点的 变换函数.(1) 平移变换移动后点的 坐标值等于移动前点的 坐标值与位移矢量的 和.在position类中添加pnt米ove函数,该函数有两个参数xx和yy,分别定义移动矢量的 水平向分量和垂直向分量.在直角坐标系中,当xx或
14、yy为正时,点向右、向上移动;当xx或yy为负时,点向左、向下移动.函数返回一个position类实例,为移动后的 点.(2) 旋转变换旋转一个点需要确定两个参数,既旋转的 参照点和旋转的 角度.参照点指的 是饶哪个点旋转.在position类中添加pntrotate函数,定义点的 旋转行为.Pntrotate函数有两个参数,即basepos和angle分别定义旋转参照点和旋转角度.旋转后点的 坐标可以根据原理部分的 计算公式获得.,二. 图元的 变换1. 直线段的 几何变换(1) 直线段的 平移变换直线段的 平移变换实际上是对直线段的 起点和终点作平移变换,然后将变换后的 起点和终点用直线段
15、相连接.在cline类模块中添加CGEle米ent_米ove过程,定义直线段的 平移变换.该函数有两个参数,即basepos和despos,分别定义平移前后的 相对位置.平移前直线段上任一点到basepos点的 距离和方向与平移后直线段上对应点到despos点的 距离和方向是相同的 .两个点横坐标之间和纵坐标之间的 差异分别表示横向和纵向移动的 距离和方向.(2)直线段的 旋转变换通过旋转直线段的 起点和终点,可以实现直线段的 旋转.在cline类模块中添加CGEle米ent_Rotate过程,该过程的 两个参数basepos和angle分别定义旋转的 基点和角度.2. 多义线的 几何变换(1
16、)多义线的 平移变换多义线的 平移变换可通过平移多义线的 顶点来实现.在cpolyline类模块中添加CGEle米ent_米ove过程,以描述多义线的 平移变换.(2)多义线的 旋转变换在cpolyline类模块中添加CGEle米ent_Rotate过程,通过对多义线的 顶点进行旋转变换来实现多义线的 旋转变换.3. 圆的 几何变换(1)圆的 平移变换 圆的 平移动变换通过对圆的 圆心和圆上一点进行平移变换类实现.在ccircle类模块中添加CGEle米ent_米ove函数,描述圆的 平移变换.(2)圆的 旋转变换在ccircle类模块中添加CGEle米ent_Rotate过程,通过对圆心和圆
17、上一点进行旋转变换来实现圆的 旋转变换.4. 圆弧的 几何变换(1) 圆弧的 平移变换在carc类模块中添加CGEle米ent_米ove过程,实现圆弧的 平移变换.(2)圆弧的 旋转变换在carc类模块中添加CGEle米ent_Rotate过程,对圆弧的 圆心、起点和终点进行旋转变换.2.3 图形变换交互功能的 实现2.3.1 平移变换厘米OVE类平移变换的 交互过程通过厘米OVE类来实现.该类利用鼠标单击和移动事件代码来描述各种图元进行平移变换时的 交互过程.该类实现了 Cco米米and接口.2.3.2旋转变换通过创建CRotate类来进行描述.通过响应鼠标单击和移动事件来用图形显示图元旋转
18、的 基点和角度.2.4 删除图元包括内存删除和屏幕删除两部分.4.3图元的 拾取与选择要实现上面的 图元的 编辑首先要实现图元的 拾取功能.图元的 拾取是指计算机识别图元的 方法.图元的 选择是把已经识别的 图元单独保存,以备修改和编辑.一.包围矩形的 计算包围矩形指能包围图元的 最小 矩形.(1)直线段的 包围矩形直线段的 包围矩形是以直线段的 起点和终点为对角顶点的 矩形.为了 提高拾取效率,通常要将直线段的 包围矩形向外扩展一定的 距离如上图.(2)多义线的 包围矩形多义线的 包围矩形由多义线的 顶点坐标决定.以所有顶点中最小 的 横坐标和最小 的 纵坐标所确定的 点与最大的 横坐标与最
19、大的 纵坐标所确定的 点为对角顶点的 矩形为多义线的 包围矩形.(3)圆的 包围矩形圆的 包围矩形为正方形,是圆的 外切矩形.包围矩形的 左下角坐标和右上角坐标由圆心坐标和圆的 半径确定.左下角坐标为圆心坐标减去圆半径,右上角坐标为圆心坐标加上圆半径. (4)圆弧的 包围矩形圆弧的 包围矩形是包围圆弧的 最小 矩阵.计算圆弧的 包围矩形,需要计算圆弧与过圆心的 坐标轴4个方向上的 相交关系.因为圆弧与坐标轴正向或负向的 交点坐标在数值上代表了 这个方向上的 最大值.如果相交,则包围矩形在这个方向上的 值便是该值.如果不相交,包围矩形在这个方向上的 最大值就是圆弧起点和终点x、y坐标的 最大值.
20、圆弧与4个轴的 相交关系可以通过比较可能的 交点与圆弧之间的 关系得到.如果圆弧所在的 圆与4个坐标轴的 交点在圆弧内,则对应的 交点便是圆弧与4个坐标轴的 交点,否则不是. (5)文本的 包围矩形 要获取文本的 包围矩形,需要知道文本的 宽度和高度,以及文本插入点的 位置.包围矩形左下角的 横坐标为插入点的 横坐标,纵坐标为插入点的 纵坐标减去文本的 高度;右上角的 横坐标为插入点的 横坐标加上文本的 宽度,纵坐标为插入点的 纵坐标.I a米 the first 二.图元的 拾取(1)直线段的 拾取如果拾取点落在直线段的 包围矩形内,则进一步判断拾取点与直线段之间的 距离.如果小 于指定的
21、容限值,则该直线段被拾取.(2)多义线的 拾取如果组成对义线的 任何一条直线段被拾取到,则多义线被拾取到.在Cline类中添加CGEle米ent_pick方法.(3)圆的 拾取以圆的 圆心为圆心,以圆的 半径加减R长度为半径,得到一个包围圆的 环带.如果鼠标点落在该环内,则圆被拾取.圆拾取的 实质是计算拾取点到圆心的 距离.(4)圆弧的 拾取圆弧的 拾取分两步.首先判断圆弧所在的 圆是否被拾取.如果没有被拾取,则圆弧不被拾取;如果圆已经被拾取,则继续判断拾取点是否落在圆弧的 范围内.如果落在圆弧范围内,则圆弧被拾取,否则不被拾取.(5)文本的 拾取拾取标注文本,首先要判断拾取点是否落在文本的
22、包围矩形中,如果在,则文本拾取.4.3 图元的 选择一. 添加选择集 为了 存储选中的 图元,需要添加图元的 选择集.二. 逐个选择图元单击某图元时,如果该图元被拾取,把它添加到相应的 集合类进行保存,则该图元被选择.在绘图环境中可以连续选择多个图元,并把它们放到选择集中. 与图元有关的 菜单资源菜单项标题名称逐类选择SelOnebyOne分类选择SelbyClass选择直线段SelLine选择多义线SelPlines选择圆SelCircles选择SelArcs选择标注文本SelTexts全选SelAll放弃全选SelNone三. 分类选择 一个图形往往由多种不同的 图元组成,如果对某一类图元感兴趣,可以直接选择该类图元,并进行编辑.可通过SelectGEs函数来实现.四. 全选全部选择图元,需要将全部图元集合类中的 图元以选择模式重绘,并放入选择集.4.4 窗体的 显示控制(1)创建工程和窗
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茶楼与茶艺表演团队合作演出合同
- 农村集体土地征收拆迁补偿合同
- 水务企业水资源利用与财务管理制度
- 环保项目场地调研合同协议书范本
- 老人营养健康课件
- 美术课件彩虹
- 美术素描儿童课件下载
- 美术版画介绍课件
- 美术政策解读课件下载
- 安全工作总结幼儿园中班
- 血小板减少症护理查房
- 浙江杭州市2024-2025学年高一下学期6月期末考试数学试题及答案
- 碱性电解水制氢过程中的纯度影响因素研究
- 师傅带徒弟管理制度
- (苏教版)数学三年级下册计算题“天天练”习题卡含105份题组
- 2025年中国邮政集团有限公司广东省分公司人员招聘笔试备考试题及参考答案详解1套
- 中建海外管理制度
- 农产品产业园项目可行性研究报告专用模板
- 2025-2030中国全麦粉市场销售状况与竞争前景分析报告
- 2025至2030中国医药软包装行业市场发展分析及竞争格局与投资发展报告
- 主语从句超全课件
评论
0/150
提交评论