制图工具功能改进流程
制图工具
制图工具模块功能设计
一、 视口工具(SDP.Plugin.Standard)
1、功能描述
视口工具组件是根据图形信息,在当前视口的基础上进行放大、缩小、平移、前进、后
退、旋转等操作控制,图形视口会有相应的变化显示。
2、处理流程
如下图所示(图1.1):
开始
执行图形 视口工具
前进 后退 旋转 放大 缩小 平移
视口相应变化显示
结束
图1.1 视口工具流程图
描述:视口工具组件是基于图形信息显示的常用工具,作为制图工具中的一大类,在图
示化操作中起着重要作用。可对当前视口进行放大、缩小、平移、前进、后退、旋转图形视
口功能操作。
- 1 -
3、界面设计
该功能的实现界面及界面之间的关系(如图1.2)。
图1.2 图形视口工具示意图
4、出错处理设计
如果当前视口已是最大化,缩小、平移操作,图形视口显示没有变化。 二、 绘制工具(SDP.Plugin.MapTool、SDP.Map.MapTool) 1、功能描述
绘制工具组件是根据图形信息,在显示图形上进行点、线、面、文本绘制,本地读取、保存。
2、处理流程
如下图所示(图1.3):
- 2 -
开始
执行图形 绘制工具
正多边形 画点 直线 折线 。。。。。。曲面
。
视口相应变化显示
结束
图1.3 图形视口工具示意图
描述:绘制工具组件实现绘制基类,继承绘制、鼠标事件接口,可以对图形画点、直线、拆线、曲线、曲面、画圆、矩形、角度矩形、多边形、正多边形、文本,并对绘制对象本地保存、读取。
3、界面设计
该功能的实现界面及界面之间的关系(如图1.4)。
- 3 -
图1.4 图形视口工具示意图
需要用户输入,弹出窗体界面设计
, 画点
相关代码
m_PointStyle.pointStyleProperties.Angle = 20; m_PointStyle.pointStyleProperties.XScale = 20; m_PointStyle.pointStyleProperties.YScale = 20; m_PointStyle.pointStyleProperties.ZScale = 0;
, 画直线
- 4 -
///
/// 计算长度
///
///
///
为TRUE时,计算的是面的周长,为FALSE时计算的线是长度
///
public static float linelength(PointF[] lines,bool IsClose)
函数类:SDP.Math. Formula
计算角度: private PointF[] m_Point = new PointF[0]; double tmpAngle=System.Math.Atan(System.Math.Abs(m_Point[0].X - m_Point[m_Point.Length-1].X) / System.Math.Abs(m_Point[0].Y - m_Point[m_Point.Length-1].Y));
, 画正多边形
, 画圆
4、出错处理设计
如果有绘制异常,图形无变化。
- 5 -