基于VB和Surfer的等值线图批处理可视化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于VB 和Surfer 的等值线图批处理可视化
吴坤占1,陈尧隆2,司 政2,刘 曜3
(11中国水电顾问集团中南勘测设计研究院,长沙 410014;
21西安理工大学水利水电学院,西安710048; 31中国水电顾问集团西北勘测设计研究院,西安710065)摘 要:随着有限元分析软件的开发和应用,对计算成果后处理的质量和效率提出了更高的要求,特别是等值线图的绘制对于工程设计的分析与改进尤为重要。

本文结合实际工程需要,探讨了VB6.0和Sur fer8.0接口问题的实现。

采用VB 嵌入式编程方法,在充分利用Sur fer 强大的绘图功能的基础上,实现了等值线图自动绘制功能,开发了等值线图批处理可视化分析软件。

关键词:计算机软件;等值线图:嵌入式编程;可视化
中图分类号:TP31文献标识码:A
The batch processing visualization of contour m aps based on
VB and Surfer softw are
W U K unzhan 1,CHE N Y aolong 2,SI Zheng 2,LI U Y ao 3
(11Mid 2south Design and Research Institute ,CHECC ,Changsha 410014;
21College o f Hydraulic and Hydropower Engineering ,Xi 2an Univer sity o f Technology ,Xi 2an 710048;
31Northwest Hydropower Consulting Engineer s ,CHECC ,Xi 2an 710065)
Abstract :With the development and application of the finite element analysis s oftware ,higher demand is suggested for quality and efficiency of post 2processing.C ontour map drawing is especially im portant for engineering design analysis and im provement.Realization of VB6.0and Surfer8.0interface problem is discussed for the actual project need.The automatical drawing of contour maps is realized by using VB ’s embedded programming method.Based on the powerful drawing function of the Surfer s oftware ,the batch processing visualization s oftware of contour maps is developed.
K ey w ords :com puter s oftware ;contour map ;embedded programming ;visualization
收稿日期:2007203230
作者简介:吴坤占(1981—
),男,硕士,助理工程师.E 2mail :wukun3916@ 0 引言
等值线图是等温线、等高线、等压线以及一系列标示事物等量连线分布图的统称,是进行物理量要素空间特征分析的强大工具,可用以从总体上把握研究对象的空间变化特征,被广泛应用于地理、水文、气象以及一些工程建设领域[1]。

近年来关于等值线图的绘制,Surfer 绘图软件因为它的简单易用深受广大使用者的欢迎。

然而成批量等值线图的绘制工作,如果仅仅依靠普通的Surfer 处理往往浪费大量的时间和人力。

那么如何开发一种更为科学直观而且更简便快速的工程绘图软件,即集等值线图绘制、浏览于一体的一种人机交互的批处理可视化分析软件,则只能要依赖于VB 和Surfer 之间的无缝链接技术。

下面就结合碾压混凝土重力坝的温度等值线图的绘制为例,阐述等值线图批处理可视化分析软件的开发途径。

1 软件开发的基本原理
Surfer 软件是美国G olden s oftware 公司的产品。

1985年出品1.0版本,2002年2月发布8.0版,是一个较完善的二维数据处理的插值软件,并具有一定的三维显示、计算分析、批处理、对象管理等功能。

常用的等值线图、线
第27卷第5期
2008年10月水 力 发 电 学 报JOURNA L OF HY DROE LECTRIC E NGI NEERI NG V ol.27 N o.5Oct.,2008
框图、地形地貌图、趋势图和二维表面图等都可借助其绘图功能轻松完成。

其中Surfer8.0在绘制等值线图时一共需要导入三种数据文件:包含等值线数据的DAT文件、图形边界的空白文件和底图文件(3.BLN),其主要绘制过程可分为导入、网格化、空白和叠合。

在这个过程中等值线、标注、着色和坐标轴等属性参数也要逐项设置。

Visual Basic(以下简称VB)是一种基于对象的可视化编程语言,具有开发效率高、功能强大等特点。

VB和Surfer之间的无缝链接则是一种面向对象的嵌入式编程方法,利用Surfer8.0绘图软件所提供的Automation方法的调用来实现数据的可视化功能。

等值线图形的批处理可视化分析软件利用了VB可视化界面的设计和与Surfer 接口技术的处理来完成的。

其绘制过程完全在VB调用的后台过程中完成,用户无需了解它的后台运行过程。

所有等值线图形绘制参数均可在VB界面或者代码中设置,然后传递给Surfer的ActiveX Aatiutom on对象。

碾压混凝土重力坝温度等值线图的绘制是工程设计当中必不可少的一步,对于其在施工期和运行期间大坝温度控制中的重要性本文不再赘述。

基于Surfer绘图的流程,同时兼顾批量绘图的要求,碾压混凝土重力坝温度等值线批处理可视化设计流程图如下
:
图1 等值线图批处理可视化软件设计流程图
Fig.1 Flow chart of the batch processing visualization s oftware design of contour maps
2 VB6.0和Surfer8.0接口的实现[2~4]
Surfer软件Automation技术的推出为实现VB6.0和Surfer8.0接口提供了可能。

在VB应用程序中,可以给Surfer任何对象的属性赋值。

通过赋与不同的参数值改变对象的状态,程序执行过程中通过参数控制图形的输出。

因此在Surfer系统中进行的一系列手工操作,完全可以用外部程序中的一段代码代替,从而实现了Surfer自动绘图功能。

211 创建Surfer应用对象
在编写嵌入Surfer对象的程序代码时,首先要创建Surfer的应用(Application)对象,它是这种编程方法的关键。

其中CreateObject是Visual Basic提供的一个方法,它创建并返回一个对ActiveX对象的引用。

CreateObject方法在系统注册表里查找“Sufer.Application”项,并自动激活Su fer服务。

若Surfer已启动,也可以通过G etObject方法来获取Application对象。

Set SurferApp=CreateObject(“surfer.Application”)
Set SurferApp=G etObject(“surfer.Application”)
D ocument对象是一个基类对象,不能直接使用。

但可以派生出具体D ocument对象,如PlotD ocument, WksD ocument等。

获得D ocuments C ollection对象后,通过对象“Add”方法,可以获得更下一级的对象。

212 调用对象的相应方法
创建了各级Surfer实体对象,就可以在VB当中设置各种等值线属性,调用后台Surfer执行内部命令。

例如可以设置打开Surfer应用程序主窗体最大化,也可以选择隐藏窗体。

58
第5期吴坤占等:基于VB和Sur fer的等值线图批处理可视化
SurferApp.Visible=true
SurferApp.Window=srfWindowStateMaxinized
根据Surfer8.0绘制等值线图的流程,在VB代码中调用相应方法。

实现等值线图的数据网格化(G ridData)、空白(G ridBlank)、叠合(OverlayMaps)以及一些属性设置。

SurferApp.G ridData datafile:=datw file(i), xC ol:=2, yC ol:=3, zC ol:=4, Alg orithm:=2,
ShowReport:=False, OutG rid:=gridfile(i)
SurferApp.G ridBlank Ingrid:=grid file(i), BlankFile:=blnw ofile, OutG rid:=end file(i)
plotD oc.Shapes.SelectAll
plotD oc.Selection.OverlayMaps
通过对等值线图不同属性的设置,例如坐标轴刻度、等值线疏密、等值线标注、网格线、色标等属性,都可以生成自己想要的效果。

belEdgeDist=0
contourMap.Sm oothC ontours=3
Axes.SetScale

213 实现批处理程序调用
利用VB中的“F or…Next”循环语句,来实现Surfer的连续调用,调用后台Surfer的同时兼顾可视化交互显示,对每一次surfer绘图软件的调用结果,自动保存到指定的文件夹用以浏览器模块的调用:
Labell.Caption=“正在绘制第”+Str(i)+“个,共”+Str(maxnum)+“个”
plotD oc.ExportFileName:=outfile(i)
plotD oc.SaveAs(end file(i))
3 可视化界面设计[5]
可视化(Visualization)是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。

在本设计中,有文件数据处理、绘制等值线图和等值线图浏览器三个窗体。

(1)数据文件处理 主要考虑到数据文件的添加、编辑和转换(设计界面如图2)。

对于碾压混凝土重力坝的温度等值线图绘制来说,根据输入的空白文件和温度数据文件,程序自动调用这些文件进行读写操作,生成对应于各个施工期和运行期的底图文件。

(2)绘制等值线图 该部分即软件设计中的主体程序,运行过程其工作完全在后台调用Surfer进行绘制,实
现方法已在第2部分中说明。

图3为运行过程中的前台界面。

图2 数据文件处理运行界面Fig.2 The running inter face of data file
processing
图3 绘制等值线图运行界面
Fig.3 The running inter face of drawing of contour maps
68水 力 发 电 学 报2008年
(3)等值线图浏览器 为等值线图的浏览工具。

利用这个窗体,我们可以直观地分析以上程序所绘制的等值线图。

其浏览方式有播放浏览和选择浏览。

我们既可以按照自己给定的播放间隔时间有序浏览全部等值线图,也可以根据自己的需要查看任意一个图形。

在浏览过程中,图形上方会显示相应的存放路径和名称。

图4 等值线图浏览器运行界面
Fig.4 The running inter face of contour maps browser
4 结语
该等值线批处理可视化软件的编写主要体现出坝体具体施工进度和温度场的动态演示,本程序在编制的同时,考虑到成果二次编辑的需要,分别保存了BMP 格式和SRF 格式。

利用VB 与Surfer 之间的接口技术来代替以前繁杂的重复性工作,实践证明绘制100张等值线图仅用约500s ,只需少量的人工干预就可取得预期的效果。

该成果可广泛应用于有限元后处理中,对于有限元可视化分析软件的开发和完善也是一种启示。

参考文献:
[1] 郭俊丽.测氡数据处理软件设计[D].太原理工大学.2003,4:20-29.
[2] Internet 网址:http :ΠΠw w w.g oldens .2007.3.
[3] 宣瑞卿,朱介寿,郑沂森.C ++与Sur fer 的接口技术及其应用[J ].计算机应用,2004,(6):364~365.
[4] 陈永,张建海,刘会娟,等.基于Sur fer 的有限元后处理等值线图批处理程序开发[J ].物探化探计算技术,2005,(2):181~184.
[5] 龚沛曾,陆尉民,杨志强.Visual Basic 程序设计教程(6.0版)[M].北京:高等教育出版社,2001.243~260.78第5期吴坤占等:基于VB 和Sur fer 的等值线图批处理可视化。

相关文档
最新文档