用VB开发交互式CAD系统设计.docx

上传人:b****3 文档编号:488441 上传时间:2022-10-10 格式:DOCX 页数:33 大小:126.59KB
下载 相关 举报
用VB开发交互式CAD系统设计.docx_第1页
第1页 / 共33页
用VB开发交互式CAD系统设计.docx_第2页
第2页 / 共33页
用VB开发交互式CAD系统设计.docx_第3页
第3页 / 共33页
用VB开发交互式CAD系统设计.docx_第4页
第4页 / 共33页
用VB开发交互式CAD系统设计.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

用VB开发交互式CAD系统设计.docx

《用VB开发交互式CAD系统设计.docx》由会员分享,可在线阅读,更多相关《用VB开发交互式CAD系统设计.docx(33页珍藏版)》请在冰豆网上搜索。

用VB开发交互式CAD系统设计.docx

用VB开发交互式CAD系统设计

摘要

本次毕业设计的任务是利用VB开发交互式cad系统中的图形的编辑部分。

设计具有交互绘图的功能。

能实现鼠标绘图、图元选择和编辑,具备图形输出功能。

实现交互式绘图过程涉及到图元的数学模型,数据管理、数据编辑等方面的知识和技巧。

图元的选择编辑的重点放在了图元的平移和旋转。

此外还设计了的启动窗口和窗口的显示。

交互式cad技术在办公、绘图平面设计、工业设计等方面都有很多应用。

关键字:

交互式cad图形的编辑窗口

Abstract

Thisgraduationprojectdutyisdevelopsintheinteractivecadsystemthegrapheditionpart.Thedesignhasthealternatelycartographythefunction.Canrealizethemousecartography,achartYuanchoiceandtheedition,hasthegraphicaloutputfunction.RealizestheinteractivecartographyprocesstoinvolvetothechartYuanmathematicalmodel,aspecttheandsoondatamanagement,dataeditionknowledgeandtheskill.ThechartYuanchoiceeditionkeypointhasplacedachartYuantranslationandrevolves.Inadditionalsohasdesignedstartwindowandwindowdemonstration.Theinteractivecadtechnologyinaspectandsoonwork,cartographyplanedesign,industrialdesignallhasappliesverymuch.

Keywords:

InteractivecadgrapheditionWindow

目录

第1章绪论……………………………………………………5

第2章可行性研究……………………………………………………6

2.1问题定义

2.2可行性分析

第3章总体设计……………………………………………………7

3.1总体规划

3.2开发环境和工具

3.3软件介绍

3.4系统实现和设计主要分以下几个步骤

第4章具体设计……………………………………………………8

4.1具体设计的详细说明图………………………………………………9

4.2图元的编辑……………………………………………………………10

4.3图元的拾取与选择…………………………………………………15

4.4窗体的显示控制………………………………………………………19

第5章心得体会……………………………………………………20

参考资料……………………………………………………21

第一章绪论

对于大多数人而言,“交互式cad技术”是一个熟悉而陌生的概念,为什么

这么说呢?

因为您可能经常在使用这种技术,却没有意识到。

什么是交互式cad

技术呢?

打一个比方说;用鼠标在屏幕上画一条直线,选中它后,可以改变直线

段的方位和长度。

这种技术绘图具有方便、直观、高效率等特点,在各种专业软

件、数据处理软件、AutoCAD、Flash、PowerPoint、Word等很很多软件里面都

有广泛的应用。

在交互式系统中,不仅可以实现用鼠标绘图,还可以选择图元,并对选中的

图元进行修改、几何变换和删除等操作。

为了实现这些功能,交互式CAD系统不

仅需要考虑图形的数学模型,还要在数据结构、内存管理等方面做出筹划。

可行性研究

2.1问题定义

本系统是一个关于交互式CAD的应用系统。

(1)该系统应该在整体上实现绘制各种图元、编辑图元和显示编辑好的窗体

等模块。

(2)该系统中,图元数据需要保存起来,以便进行编辑操作。

以合理的数据结构进行保存,可以在内存、系统安全性方面得到好处,从而提高程序的整体性能。

2.2可行性分析

技术可行性:

根据新系统目标来衡量所需的技术是否具备,一般可以从

硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析。

这次设计的系统采用Visualbasic6.0系统开发的。

硬件要求:

486以上CPU,

64MB以上内存,2G以上硬盘。

第三章总体设计

交互式CAD系统要涉及到大量的数据处理,如何描述、输入、管理、编辑

和输出它们,在开发以前需要进行详细的规划。

3.1总体规划

1.数据的组织和描述

(1)数据结构

(2)数学模型

2.数据的输入

实现鼠标交互式输入数据

3.数据的管理

type结构

VB类

4.数据编辑

图元的拾取和选择

图元的几何变化-平移和旋转。

5.数据的输出

(1)文本输出

(2)以DXF格式输出

6.UML类图

7.界面交互

3.2开发环境和工具

windows平台

Visualbasic6.0

3.3软件介绍

Visualbasic6.0为开发工具。

VB6.0是微软公司推出的可视化编程工具MSDN之一,Visualbasic6.0是一门功能强大的计算机语言,为用户提供了一系列的属性、方法和控件。

采用了面向对象的编程技术进行编程。

3.4系统实现和设计主要分以下几个步骤

1.在windows平台下安装Visualbasic6.0软件。

2.创建主窗体和显示控制窗体。

3.用Visualbasic6.0语言来编写程序。

第四章具体设计

设计图元编辑的流程图

具体设计的详细说明图

本次设计包括三个部分;图元的拾取、图元的编辑和窗体的制作。

总体设计过程说明图

 

 

图元编辑说明图

 

图元拾取的功能分析图

4.2图元的编辑

在设计过程中图元编辑部分是具体设计的核心部分。

一.二维图形变换的基本原理、算法和具体实现

用计算机进行辅助设计时,复制、移动、旋转已有图元可以提高绘图效率,对图形元素进行集合变换可以实现这些操作。

图元的基本形状和位置由它们的控制点唯一确定,比如直线段由直线段的起点和终点确定,圆弧由圆弧的圆心、起点和终点确定等。

所以对图元的旋转、平移等集合变换可以归结为对图元控制点的几何变换。

控制点的几何变换完成以后,根据变换后的控制点绘图,就可得到变换后的图元。

二维空间中一点变换前后的关系可用下式表示:

t11t12

[x´y´1]=[xy1]t21t22

ΔxΔy

其中,[xy]为变换前点的坐标,[x´y´]为变换后的坐标。

 

t11t12

T=t21t22变换矩阵。

ΔxΔy

用齐次坐标表示,上式可以写成:

x´=xt11+yt21+Δx

y´=yt12+yt22+Δy

(1)平移变换

平移变换是把选中的图元平移到另一位置,如图2-1所示。

Y

P(x,y)

○p′(x′,y′)

 

X

图2-1平移变换图示

平移变换的变换矩阵为100

T=010

ΔxΔy1

所以有

 

100

[x´y´1]=[xy1]010

ΔxΔy1

既x´=x+Δx

y´=y+Δy

其中,x,y为评议前点的坐标;x´,y´为平移后点的坐标,Δx和Δy为点在x方向和y方向上平移的距离。

(2)旋转变换

旋转变换使图元绕某点旋转一定角度后,到达新位置,如图2-2所示。

逆时针旋转时,旋转角度为正,反之为负。

 

Y

P(x,y)

○p′(x′,y′)

θ

X

图2-2旋转变换

cosθsinθ0

饶原点旋转的变换矩阵为T=-sinθcosθ0

001

所以有

 

cosθsinθ0

[x´y´1]=[xy1]T=-sinθcosθ0

001

即x´=xcosθ-ysinθ

y´=xsinθ+ycosθ

一.点的变换

图元的变换可以归结为点的变换,首先在position类中添加点的变换函数。

平移变换

移动后点的坐标值等于移动前点的坐标值与位移矢量的和。

在position类中添加pntmove函数,该函数有两个参数xx和yy,分别定义移动矢量的水平向分量和垂直向分量。

在直角坐标系中,当xx或yy为正时,点向右、向上移动;当xx或yy为负时,点向左、向下移动。

函数返回一个position类实例,为移动后的点。

 

(2)旋转变换

旋转一个点需要确定两个参数,既旋转的参照点和旋转的角度。

参照点指的是饶哪个点旋转。

在position类中添加pntrotate函数,定义点的旋转行为。

Pntrotate函数有两个参数,即basepos和angle分别定义旋转参照点和旋转角度。

旋转后点的坐标可以根据原理部分的计算公式获得。

二.图元的变换

1.直线段的几何变换

(1)直线段的平移变换

直线段的平移变换实际上是对直线段的起点和终点作平移变换,然后将变换后的起点和终点用直线段相连接。

在cline类模块中添加CGElement_Move过程,定义直线段的平移变换。

该函数有两个参数,即basepos和despos,分别定义平移前后的相对位置。

平移前直线段上任一点到basepos点的距离和方向与平移后直线段上对应点到despos点的距离和方向是相同的。

两个点横坐标之间和纵坐标之间的差异分别表示横向和纵向移动的距离和方向。

'

(2)直线段的旋转变换

通过旋转直线段的起点和终点,可以实现直线段的旋转。

在cline类模块中添加CGElement_Rotate过程,该过程的两个参数basepos和angle分别定义旋转的基点和角度。

2.多义线的几何变换

(1)多义线的平移变换

多义线的平移变换可通过平移多义线的顶点来实现。

在cpolyline类模块中添加CGElement_Move过程,以描述多义线的平移变换。

(2)多义线的旋转变换

在cpolyline类模块中添加CGElement_Rotate过程,通过对多义线的顶点进行旋转变换来实现多义线的旋转变换。

 

3.圆的几何变换

(1)圆的平移变换

圆的平移动变换通过对圆的圆心和圆上一点进行平移变换类实现。

在ccircle类模块中添加CGElement_Move函数,描述圆的平移变换。

(2)圆的旋转变换

在ccircle类模块中添加CGElement_Rotate过程,通过对圆心和圆上一点进行旋转变换来实现圆的旋转变换。

4.圆弧的几何变换

1.圆弧的平移变换

在carc类模块中添加CGElement_Move过程,实现圆弧的平移变换。

(2)圆弧的旋转变换

在carc类模块中添加CGElement_Rotate过程,对圆弧的圆心、起点

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1