电力系统上的webdraw


现在的许多电力系统都是基于WEB平台运行的。所以在涉及到电力图,线路图,接线图,设备图,配网图,SCADA图形仿真监控图,电网拓扑图,电厂图农电网网等图形的系统时,由于图形系统的复杂性决定,许多电力系统在图形这一模块表现得相当薄弱,很多时候没有达到专业的水准,为什么呢?

因为缺少专业的实用的易用的方便的图形平台,现在要想在WEB系统上运行一些线路图,主接线图,在线绘制电力图等系统,那么北京图王软件的Visual Graph专业图形引擎平台是不二选择。

  

这个例子的VBS(JS)实现代码只有二十行左右,不得了啊!二十行多代码的代码就能实现如此丰富的专业功能:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<meta name="GENERATOR" content="Microsoft FrontPage 6.0">

<meta name="ProgId" content="FrontPage.Editor.Document">

<title>New Page 1</title>

<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>

<!--

Sub window_onload

vg1.Design ""

s = vg1.SystemParams.DefaultPath

vg2.Run s + "listview.tbl"

vg2.Width = 180

vg3.Run s + "toolbar.tbl"

vg1_OnSheetChange( vg1.vg.ActiveSheet )

vg3.vg.Execute "btnPaste.Enable=true"

vg4.Run s + "propedit.tbl"

vg4.vg.ActiveSheet.SetPropertyValue "selected", vg1.vg.ActiveSheet.Selection

End Sub

 

Sub vg1_OnSheetChange( ASheet )

if not ( vg2.vg is Nothing ) then

  vg2.vg.ActiveSheet.SetPropertyValue "cursheet", vg1.vg.ActiveSheet

end if

if not ( vg3.vg is Nothing ) then

  vg3.vg.ActiveSheet.SetPropertyValue "cursheet", vg1.vg.ActiveSheet

end if

End Sub

 

Sub vg1_OnSelectChange

if not ( vg4.vg is Nothing ) then

vg4.vg.ActiveSheet.SetPropertyValue "selected", vg1.vg.ActiveSheet.Selection

end if

vg3.vg.Execute "OnSelectChange()"

vg3.vg.Execute "btnUndo.Enable=CurSheet.Owner.CanUndo()"

vg3.vg.Execute "btnRedo.Enable=CurSheet.Owner.CanRedo()"

End Sub

 

Sub vg1_OnModifyChange( m )

if not ( vg3.vg is Nothing ) then

  vg3.vg.Execute "btnSave.Enable=CurSheet.Owner.Modified"

end if

End Sub

 

Sub vg1_OnRButtonDown( x, y )

vg1.vg.Execute( "menu=Create(systemparams.defaultpath+'popupmenu1.tbl', true, false);menu.ActiveSheet.CurSheet = ActiveSheet; px = 0; py = 0; GetCursorPos( px, py ); menu.Popup( px, py ); menu.Free()" )

End Sub

 

Sub vg1_OnError(s)

MsgBox s

End Sub

 

Sub vg2_OnError(s)

MsgBox s

End Sub

 

Sub vg3_OnError(s)

MsgBox s

End Sub

 

-->

</SCRIPT>

</head>

 

<body>

 

<table border="0" width="916" cellpadding="0" cellspacing="0">

  <tr>

    <td colspan="3" width="915">

<object classid="clsid:465BBD45-50E1-11D7-8803-00E09876BB62" codebase="http://localhost/onlinedraw/vg.cab#version=1,0,0,0" id="vg3" width="925" height="35" VIEWASTEXT>

</object>

    </td>

  </tr>

  <tr>

    <td width="192">

<object classid="clsid:465BBD45-50E1-11D7-8803-00E09876BB62" codebase="http://localhost/onlinedraw/vg.cab#version=1,0,0,0" id="vg2" width="182" height="463" VIEWASTEXT>

</object>

    </td>

    <td width="528">

<object classid="clsid:465BBD45-50E1-11D7-8803-00E09876BB62" codebase="http://localhost/onlinedraw/vg.cab#version=1,0,0,0" id="vg1" width="558" height="464" VIEWASTEXT>

</object>

    </td>

    <td width="204">

<object classid="clsid:465BBD45-50E1-11D7-8803-00E09876BB62" codebase="http://localhost/onlinedraw/vg.cab#version=1,0,0,0" id="vg4" width="182" height="463" VIEWASTEXT>

</object>

    </td>

  </tr>

</table>

 

</body>

 

</html>

 

由于是在Html与JS/VBS基于Visual Graph图形引擎平台开发而成的。我们看一下CAB插件包的大小,突然发现只有400k。更令人叫绝的是400k的CAB里面包括有所有界面源码(自己可以定制Onlinedraw的所有界面以及所有动作行为,作为电力系统当中的多样性,其400K就已经可以无限更改其行为,而且还很简单。)以及Visual Graph的核心:vg.dll。

       从这个例子,我们可以看到实现一个WEB上的电力绘图系统,电力图形系统,那是很方便快捷。其图形功能列举几项如下:

1.图形技术相当完善:多页面、多图层、表格图形混排、透明度、自由旋转、动画效果、自定义线型、网纹、箭头、自定义任意多个文字标注、自定义图元连接点、自定义光标、图形保护、控制点,支持图形的逻辑分组,允许图元嵌套构建更复杂的图元。

2.包含编辑与运行状态,可以任意操纵与控制图形变化,实现各种仿真与建模。

3.图形和图库是统一的XML格式,便于传输、存储和维护,支持WEB开发。

4.响应众多的图形操作事件,任意给图形添加属性成函数,任意自定义图形。

5.可以建立和分析图形间的任意拓朴连接关系,实现各种逻辑运算与控制。

6.内含面向对象的Visual Graph脚本语言,简洁易用的COM类库接口。

7.每个图形都是对象,拥有众多的属性和函数,可以方便地编辑和操纵。

8.支持报表开发,表格高度智能,可以制作超酷图形界面,轻松换肤。

9.非常容易地开发出任何复杂变化的图形,轻松实现自己的图形库。

10VBS、JS可以操控Visual Graph的一切,VG的内嵌脚本与VBS、JS可以交互控制。

 

北京图王软件