北京图王软件开发有限公司产品介绍 ――Visual Graph专业图形引擎 一、产品概述: Visual Graph是一套强大的交互图形开发平台,她能非常方便地建造基于图形的界面、制作各种图形元件、实现图形管理、图形建模、制作监控系统、表单系统、绘图系统、流程设计、CAD软件等。她提供功能非常强大的ActiveX控件,和其他流行的编程语言共同工作,极大地弥补了这些语言在图形处理方面的不足。也可以嵌入IE浏览器中,实现网上图形编辑和控制等。
Visual Graph专门处理交互图形,与具体业务无关,她提供了十分丰富规范的交互事件和图形控制命令,内置结构简单开放的脚本语言,使程序员能够专心编写后台系统等与图形无关的部分,体系结构十分清晰。 什么是Visual Graph: 1.1、这是一个控件: 一个 ActiveX标准控件。这种控件可以应用在Windows平台上的各种编程语言,甚至现在一般不太常用的Foxpro都支持它。在IE客户端,使用VBScript或者Jscript均可以操作它提供的接口类、函数和属性。完全功能的系统不含任何第三方技术,打包后文件大小才仅有300k。 1.2、这是一种二维矢量绘图工具: 通过三种简单的基本图形(文字、形状、线条),层层组合,可以开发无穷无尽强大的图库,图库就是该系统最大的特点之一,其他厂家的图形系统常常为了扩充某些功能,而把程序写死,导致程序今后可能经常需要修改,而且会越来越庞大,但 Visual Graph不需要这么复杂,只需要修改图库即可。此外系统支持多个绘图页面、图形之间可以建立拓扑关系、图形还可以按需要分组。 1.3、这是一种动态图形人机界面( HMI): 程序员可以通过 COM接口把自己的数据反映到图形上,使画面上的图形动作,例如仪表盘指针的偏转、开关的分合、液位的高低、轮子的转动、部件的动作等。图形用鼠标点击可以触发各种事件。传统的HMI人机界面一般是采用很多ActiveX控件堆放在一个画面上,每个ActiveX控件执行一个功能(例如曲线图控件、仪器仪表控件等),但是Visual Graph不需要这些,它的图库功能异常丰富,完全可以开发出诸如此类的“控件”(其实是组合图形),这种“控件”和整个图形画面浑为一体,非常便于缩放、打印、分层、旋转、组合复用,因此有着巨大的优势。 1.4、这是一种面向对象的脚本编程语言: 体系架构十分类似 Delphi,请看下表。大家知道,Delphi最强大的地方在于可扩充的VCL控件库(现在.net平台也借鉴了Delphi这种思想),同样,Visual Graph之所以强大,也在于它有类似的内核,从而可扩充图形库。
Delphi | Visual Graph |
窗口 (form) | 页面 (sheet) |
控件 (component) | 元件 (element) |
控件库 (dpl) | 图形库 (tbl) |
窗口也可以作为控件 | 页面也是元件 |
控件支持各种事件 | 图形支持各种事件 |
窗口支持各种事件 | 页面支持各种事件 |
属性 (property) | 属性 (property) |
私有函数 (private) | 私有函数 (private) |
公有函数 (public) | 公有函数 (public) |
引出函数 (published) | 引出函数 (published) |
可以开发出各种强大的控件 | 可以开发出各种强大的矢量控件 |
Delphi是由Borland公司推出的全新的可视化编程环境,提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,编程不再是枯燥无味的工作。 Delphi是新一代可视化开发工具,可在Windows3.x、Windows95、WindowsNTWindows98、Windows2000、WindowsXP、Windows2003等环境下使用。它拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。 1.5、这是一种画表格或做报表的控件: 由于表格也是由图形(文字单元)拼凑起来的。所以天然就可以处理表格。当一组文字单元相邻的时候, Visual Graph自动把它们识别为表格,从而实现像插入行列、分割、合并这样的功能。 2006年,表格部分在铁道部大量使用,所处理的复杂表格多达上千种之多,一般软件则难以胜任。 1.6、这是一种组态软件最佳开发工具: 组态软件一般由四大块组成:通讯、实时数据库、后台管理系统、前台组态系统。 Visual Graph的全部功能在组态软件中都可以充分使用到。而组态软件要求前台的全部功能也都能在Visual Graph中实现,两者恰好相等。 http://www.visual-graph.com/down/vg.zip 二、产品特性: Visual Graph 在可靠性、兼容性、易用性、扩展性、完备性、容错性等多方面均达到了较高的水平。 2.1可靠性: 用户主要是工业领域的有实力的软件公司或系统集成商,他们对软件的质量要求很高,首先,软件长期处于无人值守的运行状态下,所以,不能有任何隐患出现。其次,图形要及时响应硬件不断发出的指令,所以,反应速度要快。第三,要考察对方售后服务方面如何。我们现在已经拥有八十多家用户,其中很多都是行业内大名鼎鼎的软件公司或上市公司,每家公司在购买前都对我们进行了长期的考察。实践证明,用户对我们的产品质量和售后服务均非常满意。 2.2兼容性: 软件不仅能在目前主流操作系统,如Windows NT、XP上优化运行,而且还完美兼容Windows98。在编程语言方面,软件提供的接口不仅能够支持VB、VC、Delphi、FoxPro、PowerBuilder、C++Builder、 C#、VB.net、VC.net、IE等不同的工作环境,而且提供了全部类库。要知道,在某些语言中,一些特殊的接口是无法识别和使用的, Visual Graph为此进行了精细设计,既照顾了方方面面不同的语言环境,同时编写程序还非常方便。 2.3易用性: 程序员大都熟悉可视化编程,VB、Delphi、C#就是典型。Visual Graph设计思路和编程习惯非常类似这几种语言,对象的属性名称、函数名称都经过精心的设计,保证符合程序员的思维习惯。由于接口提供了完全的COM类库,当程序员在某个图形对象名后输入小数点时,立即出现下拉列表,里面列出了全部可用的属性和函数。图形文件采用标准XML而不是不可知的二进制格式,工作起来更放心。 2.4扩展性: Visual Graph在图库设计方面是无与伦比的,它不象许多图形软件只能设计简单的组合图形,也不象许多软件必须提供插件才能实现个别复杂的图形,它的基本图形元素虽然只有三种(字、形、线),却能够通过嵌套技术、脚本技术像变魔术般生成无穷无尽的万千图库,只要其他软件有的图形,在这里都能自行开发出来,不需要编写插件,这样就非常适合用于互联网。专业版更提供了特殊的方案,脚本可以回调程序员自己的函数,因此,Visual Graph不支持的技术,程序员可以自行实现。 2.5完备性: Visual Graph充分考虑了用户方方面面的需求,把许多技术做到了极致,超前设计了许多许多功能,更能细致入微地体贴用户。对于具体应用来说,许多功能暂时可能不需要,但给将来的发展却打下了良好的基础。 2.6容错性: Visual Graph充分考虑了用户打开的文件的有可能错误的,所以Visual Graph人性化地显示出错误提示。并且不会出现画面死机现象。如果画面脚本出现错误时,则会显示出脚本错误信息。 三、产品技术详解 3.1近十年的潜心研究、数十位图形专家的结晶 Visual Graph经过近十年的深入研究与应用,有预见性地开发了大量具有潜在应用的功能,长期与用户互相合作,大量吸取用户应用经验,十多年的应用研究试验,Visual Graph终于被打造成图形应用领域里面的超级引擎,不断前进,在技术与质量上赢得了众多合作伙伴的心。产品主要特点是: l 包含编辑与运行状态,可以任意操纵与控制图形变化,实现各种仿真与建模。 l 图形和图库是统一的XML格式,便于传输、存储和维护,支持WEB开发。 l 响应众多的图形操作事件,任意给图形添加属性成函数,任意自定义图形。 l 可以建立和分析图形间的任意拓朴连接关系,实现各种逻辑运算与控制。 l 内含面向对象的Visual Graph脚本语言,简洁易用的COM类库接口。 l 每个图形都是对象,拥有众多的属性和函数,可以方便地编辑和操纵。 l 支持报表开发,表格高度智能,可以制作超酷图形界面,轻松换肤。 l 非常容易地开发出任何复杂变化的图形,轻松实现自己的图形库。
(Visual Graph图形集成开发环境,随ActiveX控件提供给用户,方便用户了解产品性能) l 技术完善:多页面、多图层、表格图形混排、透明度、自由旋转、动画效果、自定义线型、网纹、箭头、自定义任意多个文字标注、自定义提示窗口、自定义图元连接点、自定义光标、图形保护、控制点,支持图形的逻辑分组,允许图元嵌套构建更复杂的图元,可以给图形添加属性或者函数。 l 混合编程:不仅其他程序可以操控Visual Graph的一切,而且Visual Graph的脚本可以调用其他语言的程序,也可以调用DLL,任意扩充内部函数,扩展功能。脚本语言的编程习惯和一般语言相同,各种属性、函数名称也都相同,尽量取悦于程序员,使迅速熟悉Visual Graph。 3.2来源于近百个软件公司使用的经验,五十多种图形功能特点: 1. 图形文件和图形库是统一的 XML 格式 一般图形软件的图库不外乎采用以下几种技术: ① 程序中自带图库。这适用于特定的专业领域,如果需求发生变化,程序必须改变,目前许多自行开发图形系统的软件公司采用这种技术,一来需求相对固定,二来实现也较为简单,这种技术的缺点在于,以后需求发生变化,程序经常需要修改。 ② 专门做一个图库设计工具软件,图库有专门的格式。这个已经比前面进了一步,起码用户似乎可以“自定义图库”了。给用户的感觉要好一点。但是这种技术的缺点在于,图库中的图形都是“组合图形”,只能做一些简单的状态变化。而象曲线图、饼图、棒图、仪器仪表等图形就无法实现了。 ③ 插件技术。这个就更进一步,目前在许多工业组态软件的图形系统中采用。为了实现上述各种复杂的组合图形,用外部程序辅助实现,有的是自己定义接口方式,好一点的采用 ActiveX 标准接口。这种技术的缺点在于,你常常需要很多外部插件,如果厂家没有提供某个图形,就需要请厂家帮忙解决,或者利用厂家提供的接口开发规范用 C++ 等语言编写插件。可想而知,这种技术几乎无法应用于互联网。而且用户受限于自己的开发水平,无法真正创造他想要的东西。此外,如果厂家采用标准 ActiveX 技术的话,还有一个先天性缺陷,那就是,这种外部插件无法自由缩放、自由旋转,无法和其他图形协调存在,另外还有整体打印方面的问题。 ④ 文档格式。许多厂家的图形文档采用自行规定的二进制格式,这种格式的文档读取速度较快,但是安全性、可维护性很差。在经常性的修改中,难免遇到电脑停电等事故,恢复正常打开电脑后,文件却可能无法读取了,因为是二进制格式,就不知道哪里出了问题,自从有了XML文档格式,采用它存储数据就成为最佳的选择方案,你用其他 XML 阅读软件甚至记事本就可以轻松编辑这种文档。 ⑤ Visual Graph 采用图形文档和图库文档统一的 XML 格式,你可以任意自由地画图,任意设计属性、函数、事件,这样相当于给图形赋予了生命,设计好的图形文件马上就可以被当作图库来使用,这样通过多层嵌套,就可以设计非常复杂的图形出来,这样紧凑的结构、巧妙的设计,也只有 Visual Graph 才有。 2.一个文档包括多个页面图形 你可以在一个文档内包含多个画面,而当这个文档被用作图库的时候,每个画面又被当作一个个元件来使用了,整个系统形成完备的整体。 3. 页面支持多图层,图层可以隐藏或锁定 画很大的图时,有可能需要建立多个图层,例如地理图上的道路、电力设施、水管、商店、政府部门等可以分别设定在不同的图层上,图层其实就是页面。 4. 基本图形只有三种(文字、形状、线条),却可以制作种类繁多的元件 一切复杂的图形元件都来自于这三类图形,基础图形越少,整个系统的架构越灵活可靠。如果把各种专用图符等放在系统内部,当作不同的类别实现,这样,系统结构就很松散而且难以学习了。 5. 可以进入元件内部编辑其细节 需要专门的图库编辑软件麽?不需要,只要在Visual Graph集成环境中,就可以随时进入元件的内部,修改其细节。 6. 线条编辑,允许插点,删点,画曲线,直线,独特的副线功能 允许在线条上插入顶点,删除顶点。线条的每个顶点除了有 x 和 y 两个坐标值以外,还有一个顶点属性值,用来描述这个顶点的画法。通过简单改变顶点的属性,一条折线可以变成曲线,可以变成两段不相连接的折线。此外,软件还可以通过添加副线,画出花样繁多的线条,如铁路线、长城线、国界线等等。 7. 直接在画面上编辑文字,文字自由旋转 文字编辑方式自然,即使文字单元有旋转,编辑方式不变,甚至输入光标也会跟着旋转。 8. 无数次的 Undo 和 Redo 能够对绝大多数操作进行几乎无数次的撤销和恢复,根据内存状况采用不同的调度策略,许多方面,尽管用户可能很少用到,但都严格地保证了安全。 9. 内置专门的 Visual Graph 图形语言 内置专门为图形系统设计的纯面向对象脚本语言,结构简单,语法只有简单的几条,变量也不需要定义,直接任意赋值。比起其他流行的编程语言,更加简洁明快、高效。 10. 每个图形允许定义背景图片,图片可以透明、缩放 每个基本图形都有图片和网纹属性,二者结合在一起,可以实现图片的拉伸、平铺、透明等。整个视图文件也有同样的背景图片和网纹设置。 11. 和许多绘图软件图形互相拷贝粘贴,可以编辑 EMF 格式的图形 EMF 是各种矢量图形软件相互交换格式的一种标准图形格式,象 Word 、 Visio 、 Autocad 、 Coreldraw 等都支持 EMF 格式的存取。 Visual Graph 可以把这些软件的图形拷贝后粘贴进来进行编辑,也可以把图形拷贝到这些软件中去进行编辑(特殊粘贴)。 12. 文档打印纸可以自由设定大小和缩放比例 打印无级缩放,多大的图形都可以放在一张纸上打印,而打印效果直观地显示在画面上,只要显示打印纸,就可以清楚看到打印纸的位置,你可以用鼠标改变它的位置和大小。打印纸越小,相对来讲打印出来的图形就越大,反之,打印纸越大,打印出来的图形就越小,而所包括的图形也更多。不需要模拟显示。 13. 打印和设备无关 画面打印情况只与打印纸、图形的相对位置有关,与设备无关。所有页面共用同一张打印纸。 14. 支持图形分组 允许建立若干个图形组,这些组被保存进文件,这样可以方便地对图形进行分组管理和编程。例如,在一幅地图上,把所有房子建立一个数组,把所有公用设施按照类别分别建立一个数组等。 15. 多种连接线,十分灵活,可以建立图形间的拓扑关系,自由添加连接点 有直线连接线,曲线连接线,平直连接线。元件内部可以自由设置任意个数的连接点,图形的连接点数目以及每个连接点关联的图形、连接点的位置都可以用程序访问,也可以用程序设置两个图形相连接。可以编写图形拓扑分析程序。 16. 多种箭头风格,并可以任意自定义箭头 内置常用几种箭头风格,满足大多数时候的需要,如果箭头不够,可以修改箭头库文件(arrows.tbl),实际上,箭头库也是图形文件,也可以在 Visual Graph 中进行编辑。 17. 自定义线型 线条有多种表现形式,可以修改每种线型的具体形状。 18. 自定义网纹 图形填充图案全都可以自行设计,还有透明网纹、过度填充网纹、图片填充网纹等,能够满足绝大多数需要,网纹可以自定义样式。 19. 支持多种网格类型定位,但优先连接关系定位 图形可以通过网格方便定位,默认情况下,图形左上角和网格保持对齐,如果图形在某处有连接点,优先把连接点放置在网格上。这也是为了更方便地绘制拓扑图。 20. 支持文字和其他图形两种对齐方案 文字是不允许用鼠标拖动重叠的,我们认为文字重叠就互相看不清楚了,所以就尽量防止这种状况的发生。所以操作若干文字单元左对齐就不会出现象其他图形那样堆叠的情况,而出现一种类似表格操作的形式。 21. 图形支持任意角度自由旋转,旋转中不改变图形其它逻辑 任何图形元件都可以任意角度自由旋转。旋转后,图形的逻辑关系不变,运算程序能够正常运行。例如棒图、饼图、曲线图、甚至页面上所有图形一起都可以随意旋转而正常工作。过渡填充、图片、箭头、文字标注、文字光标自动旋转。 22. 基本图形、图形元件均可以自定义文字标签 普通的矩形、椭圆等形状以及线条都可以添加一个文字标签,线条上的文字标签有多种排版方式,元件可以定义内部哪些文字单元是标签。作为标签的文字单元可以直接编辑,不用进入封装好的元件内部。 23. 自定义多类型存储属性(整数、小数、逻辑、字符串) 当程序员想给图形添加一些特定的数据时,可以给这个图形随便增加自定义属性,对自定义属性的读写、存储等操作和对固有属性没有区别。 24. 自定义任何属性,类似流行编程语言中“属性”的概念 把一些流行编程语言( Delphi 、 C# 等)的“属性”概念引入到 Visual Graph 中,从而使得系统变成了一种似乎无所不能的面向对象编程语言。你只需要简单地修改一个属性的值,就可以驱动图形做任何复杂的变化。 25. 自定义函数(私有、公有函数) 既然有脚本,就离不开自定义函数,函数按照作用域的不同,分为私有函数、公有函数、引出函数三种,如果一个函数只想被内部的其他图形访问,可以使用私有函数,如果允许外部图形访问,可以使用公有函数,如果这是一个触发事件,则可以使用引出函数。这些非常符合一般面向对象编程语言的习惯。函数与过程的区别仅在于是否在 return 后面有返回值。函数参数没有显式的类型,会根据调用者的参数决定。这样设计的结果,使得脚本在形式上更加简洁。 26. 众多的图形操作事件,例如在鼠标点击、移动、图形缩放、创建、删除时触发 每个图形都有自己的事件,例如,在运行状态下,当鼠标单击时,会优先执行最上面那个图形的鼠标单击事件中的脚本程序。图形创建时、删除时、绘制后、鼠标移入移出等都有相应的脚本事件。如果程序员只想把 Visual Graph 当作一般控件使用,也可以利用控件本身的众多事件。这两套事件体系是不一样的,每个图形都有自己的事件,这些事件是 Visual Graph 内部规定的,而 ActiveX 的事件是图形控件整体的事件,遵循国际标准接口。 27. 无级别缩放,比例巨大,局部放大,整页、宽度缩放 图形任意放大和缩小 ,由于采用浮点数,放大很多倍后,可以精确编辑图形。整页、宽度缩放主要应用于报表场合,当画面上显示打印纸的时候,就会看到它的作用了。当图形缩放的时候,字体会缩放,但是线条的宽度可以设定是否缩放(环境设置),有的时候,放大以后要对细节进行编辑,应该设定线条宽度禁止缩放,而打印的时候,则应该使用线条宽度缩放选项。有一种线宽( 0 )被设置成无论如何缩放,都只是一条细线,这用来描述某些轮廓。 28. 图形可以设定是否打印 打印区域内的某些图形可能仅为了显示之用,并不想打印出来,则可以设置图形不允许打印。 29. 整体或局部图形导出 BMP 、 EMF 格式图片 常常会有这样的需求,选择一部分图形,允许把这部分图形生成图片。 30. 支持读取互联网服务器图形文件 直接读取互联网上的图形文件,无需下载。 31. 支持图形从内存或数据库读写 整个 Visual Graph 文件是 XML 文档格式,程序员可以把文件存放在数据库中,进行读写。 每个图形也有自己的XML格式,可以单独存取。 32. 支持移动图形到屏幕中间,滚动屏幕,手抓屏幕滚动 有一些有关屏幕操作的函数,帮助程序员更好地控制画面显示的内容。 33. 用程序或者脚本绘图 这也是基本功能,可以用脚本或者其他程序动态生成各种图形、页面、单元组、甚至图形之间的连接关系。 34. 支持标尺,允许自行设计标尺 Visual Graph 的坐标体系是逻辑坐标体系,默认的标尺上面显示的也是逻辑坐标值,也就是屏幕象素的坐标,如果用户的系统要求使用不同的坐标系,可以自行换算,主要是改用自己的标尺就可以了。关于如何制作自己的标尺,也提供源代码作参考。系统提供了两种坐标系,一种是以左下角为原点的,另一种是以左上角为原点的。 35. 图形锁定和解锁,按住 ALT 键可以操作加锁的图形 图形基本功能,锁定后的图形,不能简单地用鼠标选中和编辑。 36. 支持自定义提示窗口 每个图形(包括页面)都有一个 Hint (提示)属性,设置这个值,当鼠标在图形上面停留一会,在鼠标附近就会出现一个小窗口显示这个字符串,每个图形文件都内置一个提示信息窗口 HintWindow ,用户可以对此进行编程,例如在 HintWindow 上面画图。 37. 元件自定义连接点 元件可以添加任意多个连接点,连接点可以设定是主动连接还是被动连接。 38. 元件自定义调控点 在元件设计时,可以放置任意多个控制点,将来这些控制点将允许用户鼠标拖动操作,当鼠标拖动操作的时候,会执行 OnNodeChange 事件,在元件内写好这个事件的脚本程序,元件就可以按照你的意愿变化形状了。如果一个元件定义了两个以上的调控点,并且这些调控点又同时是连接点时,这个元件将来不会出现选择框。 39. 支持各种仪器仪表、刀闸、开关、信号灯开发 给这些设备图形添加自定义属性,仪器仪表可以添加最小值、最大值、当前指针值等属性,改变这些属性,仪器仪表就会发生变化(例如指针旋转)。刀闸、开关可以添加开关属性,改变这个属性,开关的样式也发生相应的变化。信号灯可以添加当前状态属性,允许根据属性不同,信号灯的状态发生变化。这些在其他图形软件里面非得使用插件才能实现的功能,在 Visual Graph 看来,却是如此简单。 40. 支持各种按钮的开发 由于图形有鼠标左键按下和放开的事件,只要在鼠标按下的事件里让图形产生一个变化,在鼠标放开时恢复这个变化就可以了。 41. 支持曲线图、棒图、饼图开发 系统自带了这方面的例子或者图库,可以参照使用,自行修改。即使图形多么复杂,都不需要插件。 42. 支持报表开发,表格高度智能,移线、合并、插入或删除表格行列,多种表格边框 Visual Graph 对表格的概念有一个突破,所谓表格,就是若干文字单元拼凑而成的一组图形。可以移动里面的线条、划线分割、合并、插入或者删除表格行列,整体修改一部分表格的边框等等,这些操作由系统内部通过一定的智能规则判断实现。其中的任何一个文字单元都是独立的个体,这样,对于程序访问非常有利。如果熟练掌握了 Visual Graph,就不需要再用其他报表控件,尤其是在互联网上使用时,与图形界面自成一体,非常节省资源。 43. 允许混合编程,互相调用,不仅您的程序可以操控 VG 的一切技术,而且 VG 的脚本可以调用执行您的任何程序 在 Visual Graph 中出现的任何图形、任何属性、任何函数都是可以在自己程序中访问的。 另外, Visual Graph 可以访问程序员自己语言中的函数,这是一个非常特殊而且重要的功能,因为现有的脚本语言不可能穷尽所有的功能,事实上,它是一种非常简单的语言,所含功能性的函数很少,因此,在某些情况下,你可能需要扩充这种脚本语言的功能。例如日期访问、数据库访问等等。使你不用担心将来功能不够怎么办的问题。 44. 支持扩充功能函数 Visual Graph 可以调用外部函数库中的函数,例如 Windows API 函数、DLL函数等。 45. 可以制作对话盒、子窗口、弹出式窗口、菜单等窗口元素。 在很多情况下,用 Visual Graph 做这些窗口元素比起用编译语言做有更多的优势,因为它不是编译语言做死的,而是外置的,易于维护修改的,这样,以后可以轻而易举地变换软件的功能。只要制作好足够多的图形基础控件,甚至能做应用软件开发。 46. 元件的链接和嵌入 如果图上有大量相同的图形(比如很多刀闸),图形采取链接方式比较好,这样能够大大减少文件的体积,更快地载入文件。图库改变后,下次载入图形文件也相应会反映这种改变。 47. 提供图形的全部 COM 接口 COM 接口能够方便程序的编写,接口属性和函数在基本形态上和 Visual Graph 内部的脚本语言完全一致,这样有利于学习和记忆。只可能因所用编程语言的不同,而有些形式上的改变,例如在 VC 中,没有属性这个概念,所有的属性都被变成 Get 和 Set 函数了。 48. 可以设定图形的透明度 每个图形或者元件均可以设置透明度。 49. 可以修改为数众多的系统参数 系统字体、光标形状、箭头、线型、网纹等许多重要参数均可以改变(注意不是属性的改变,而是常量的改变),改变系统参数后,对所有图形均起作用。 50. 根据自己的需要选择合适的图形显示驱动程序 通过设置,可以使用不同的图形显示驱动程序,在速度或者精度等方面达到最佳平衡。 51. 包括一个功能非常齐全的属性列表控件,这样对于图形程序的开发就更方便了 只通过一条简单的命令,就可以把图形和属性列表控件联系起来,在属性列表控件中对图形进行全方位的编辑。这个属性列表控件也是一个图形文件,用户熟练以后可自行编辑修改。 52. 支持界面设计、插件等 可以自由开发诸如菜单、工具栏、按钮、列表框、下拉框、检查框等 windows 界面元素。支持 Visual Graph 插件开发。 53. 非常适合应用于互联网 软件发布包特别小(压缩以后只有 300k 左右),功能特别全,非常适合应用于互联网软件开发。 四、产品应用: 4.1电力行业 Visual Graph图形系统适合开发各种电力软件,如:SCADA系统、图形操作票系统、电网图形拓扑分析PAS软件、调度员培训模拟仿真系统、线损管理系统、无功优化控制系统、远程载波抄表系统等等…… 在电力系统的智能系统研究中,电网拓扑表示是人们一直普遍关心的问题,它的好坏直接关系到整个智能系统实现的难易程度、系统的可扩充性、可维护性及推理过程的效率等方面。好的电网拓扑结构应使电网拓扑信息能够完整地存储,很灵活地被访问。 Visual Graph实现了在图形绘制完毕能够按照元件与元件的相连关系对元件进行自动编号,自动形成拓扑结构,在网络接线图中可以看出母线既是电流潮流的汇入点,又是电流潮流的汇出点,所以一般电力图形应用系统将网络图看成母线组成的多个系统。这样就邻接表表示法而言是把母线作为网络中电气的连接点,即把电网的节点模型转化成母线模型。这给元件的自动编号和查询带来方便。在对元件进行搜索编号的过程中外层应用软件结合了深度优先搜索和广度优先搜索两种方法,其中以深度优先搜索为主。在电力程序中一般通过判断已编号元件端点是否落在某个未编号元件范围内,来实现元件编号,Visual Graph则提供了此类应用功能的广泛支持。 例如:在设计此拓扑搜索前,一般把元件大致分成三类: 具有一个节点编号的元件:所用变、母线、电容、电缆、避雷器、地线、PT、发电机(1、2节点同编号); 具有两个节点编号的元件:开关、刀闸、消弧线圈、手车刀闸、ct(1、2节点不同编号); 具有多个节点编号的元件:两卷变压器、三卷变压器。 在对元件进行编号时,首先对所有母线编号,然后分别对每一母线进行第一层宽度搜索,对母线1进行宽度搜索得到元件(J,C,H),对母线2进行宽度搜索得到元件(P,Q,U),其余母线依此类推,接下来分别以这些元件为起始点开始进行深度搜索,搜索终止条件为搜索到另一母线为止。P元件与母线2相连,则到此第一条母线1搜索结束,开始搜索第二条母线2。依次类推,每一元件当编号完成后不再重复查询。元件编号完成后,根据深度搜索方法很容易将元件间拓扑关系以表的形式存储起来,为以后图形分析打下基础。 4.2煤炭行业 Visual Graph图形系统适合开发煤炭监控软件、井下人员定位系统等图形界面,还可以开发基于WEB方式的煤矿安全监测系统等。 煤矿监测监控系统一般可监测监控瓦斯浓度、风速、负压、一氧化碳CO、二氧化碳CO2、烟雾、温度、风门开关等环境参数,煤仓煤位、水仓水位、压风机风压、箕斗计数、各种机电设备开停等生产参数;汇接管理胶带输送机控制保护装置和集中控制系统、轨道运输监控系统、电力监测系统、选煤厂集控系统、水泵监控系统、火灾监测系统及人员监测系统等,实现局部生产及管理环节的自动化。各种传感器和控制设备能够随着工作面推进动态移动,对工作面始终保持实时实地监测。 显示功能 图形显示,可显示:矿井采掘工作面及巷边平面图;模拟量、开关量位置图和实时数据显示图;模拟量实时跟踪曲线图和历史数据矩形图。数据文本表格显示,可以显示:模拟量实时数据;开关量实时数据;监测点报警,设置和故障。 网络功能: 可以将若干套监控系统组成局域网。实时监控各个煤矿的安全情况,具体到每个矿井的每个工作面,中心可以随时查到各矿当前或者历史的井下参数数据,并进行统计分析。可以把监控画面放到WEB上,让身在千里之外的管理层人员能实时看到所有煤矿的各种情况。 4.3工控仿真 Visual Graph图形系统适合开发工业组态软件的图形监控界面、仿真系统,可以应用于煤炭、石油、化工、楼宇等各种行业。比同类的其他软件画面效果更好,模块化程度更高,更加便于维护。目前已经有知名组态软件公司成为合作伙伴。 组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。组态软件应该能支持各种工控设备和常见的通信协议,并且通常应提供分布式数据管理和网络功能。对应于原有的HMI(人机接口软件,Human Machine Interface)的概念,组态软件应该是一个使用户能快速建立自己的HMI的软件工具,或开发环境。在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI应用,开发时间长,效率低,可靠性差;或者购买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。组态软件的出现,把用户从这些困境中解脱出来,可以利用组态软件的功能,构建一套最适合自己的应用系统。随着它的快速发展,实时数据库、实时控制、SCADA、通讯及联网、开放数据接口、对I/O设备的广泛支持已经成为它的主要内容,随着技术的发展,监控组态软件将会不断被赋予新的内容。 4.4地理信息(GIS) Visual Graph图形系统适合开发地理信息系统,完善的地图编辑功能、多图层、图形分级显示,有极其丰富的填充图案和线条形状。可以很好地转换现有的其他GIS平台的图形格式,软件价格低廉,优势明显。 GIS的软件是一个含若干程序模块的软件包。它主要包括数据输入和格式转换模块、数据编辑模块、数据管理模块、数据操作模块以及数据显示和输出模块等。其中,数据输入和转换模块负责空间数据及属性数据的输入,实现不同的GIS数据格式之间的互为转换; 数据编辑模块负责建立空间数据的拓扑关系,实现空间数据和属性数据的关联,完成数据的增加、删除和修改; 数据管理模块负责数据库的定义、建立、访问和维护; 数据操作模块负责对空间数据进行放大、缩小和漫游操作,对空间数据及属性数据进行双向查询,对空间数据进行缓冲区分析、叠加分析及网络分析等; 数据显示和输出模块负责显示或输出地形图、专题图、文档与表格。 GIS的数据是和空间地理要素相关的数据。GIS数据按类型可分为空间数据和属性数据。其中空间数据通常为几何图形或图像数据,属性数据通常为文档或表格数据。GIS数据按内容又可以分为基础数据,如地质、地貌、地形数据; 专题数据,如规划、房地产、交通、环保、公用事业、公安和消防等数据; 宏观数据,如综合统计指标数据。 Visual Graph则提供了GIS的所有有关图形的功能,用户只要提供空间数据库的信息,再结合Visual Graph图形引擎,一个GIS系统就出来了。 4.5图形拓扑 Visual Graph图形系统适合开发图形拓扑分析系统,图形之间可以建立多种连接关系,元件更可以自定义连接点,可以对网络结构进行任何复杂的分析。 4.6工作流 Visual Graph图形系统适合开发各种流程与拓扑分析等图形系统 为了实现组织的流程目标,有关业务活动依时序或逻辑关系相互连接构成业务流程。在 业务开展过程中,文档、信息或任务,依据组织规范在参与者之间传递、处理或 执行。业务流程中,实现了基于计算机自动化的全部或部分称为工作流。简单地讲,工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。而这一切都必须用图形来进行人机交换才能使复杂的工作流变得清淅简单易懂。 工作流(Workflow):就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。 工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。 工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。 工作流所需要的强大的图形拓扑功能正好是Visual-Graph强项,Visual-Graph图形引擎的精炼、快捷、强大、可靠、出色的图形运算与操作让工作流制作变得简单与容易。 2005年8月,北京用友软件工程有限公司在实施河北网通管理软件项目时,需要工作流功能,当时市场上当时工作流引擎也多如牛毛,因此决定还是选择一种合适的第三方控件来实现。但在试用国外产品时,渐渐发现其功能无法完全满足自己。后来,通过试用北京图王软件开发有限公司的Visual Graph图形引擎,发现该软件不仅能够满足自己的基本功能需求,而且由于内置图形脚本语言,所以扩充余地很大,即使有十分特殊的需求,它都能够满足。 Visual Graph专门的工作流引擎,内部包含的对图形拓扑关系的支持、任意图形的制作能力、完善的脚本语言体系,使得程序员可以定制自己的专用工作流平台。比较适合用友公司程序员长期使用,当然如果一家公司没有精力二次开发的话,使用Visual Graph会感觉需要做的工作比一般工作流控件要多。另外,如果需求固定、简单,就发挥不出Visual Graph灵活性带来的优点了,Visual Graph适合开发可变性较大、未来需求不确定的应用场合。 4.7矢量绘图 Visual Graph图形系统适合开发各种矢量绘图软件,例如建筑结构图、平面布置图、大桥施工图、消防设施分布图,以及各种CAD制图的转换,有专用软件可以把CAD格式转换进来,此外可以直接把Visio、Office中的矢量图拷贝到本系统(还是矢量图)。 计算机中显示的图形一般可以分为两大类——矢量图和位图。矢量图使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算获得的。例如一幅花的矢量图形实际上是由线段形成外框轮廓,由外框的颜色以及外框所封闭的颜色决定花显示出的颜色。由于矢量图形可通过公式计算获得,所以矢量图形文件体积一般较小。矢量图形最大的优点是无论放大、缩小或旋转等不会失真 4.8表格表单 Visual Graph图形系统适合开发各种表单、表格系统,尤其是其他软件无法实现的复杂表单、表格。铁道部信息中心在使用该系统后绘制了一千多幅表单,在web上使用,证明效果非常好。 4.9 WEB上的应用 Visual Graph ActiveX插件尺寸小(cab文件300k),功能全。对于各个领域在WEB上的应用都能很好地发挥。 现在系统的WEB化已经成为大部分人的认可,而使用了Visual Graph ActiveX的系统,将可以平缓无缝地移植到WEB来。 五、产品性能: Visual Graph 可以开发监控系统、MIS系统、电网拓扑分析系统、操作票系统、报表系统、CAD、GIS、图形管理、线损分析系统等等很多软件,可以在所有Windows系统上、所有流行的编程语言上畅通无阻,经过近十年近百家用户单位的大量使用,已经证明产品质量非常稳定可靠。 六、产品在市场上的特点: 下表是Visual Graph和一些常用软件的比较:
比较 | 相同点 | 不同点 |
Delphi、VB、C# 和Visual Graph比较 | 都是面向对象开发工具,控件都支持属性,也支持各种事件。都有开发、运行、调试功能。 | 前者的控件都是Windows窗口,后者的控件是矢量图形。前者是编程工具,后者是ActiveX组件。 |
Microsoft Visio和Visual Graph比较 | 都是绘图工具,都包含非常丰富的图形元件库。图形之间都有拓扑关系。都支持脚本编程。两种软件的图形都支持互相拷贝。 | 前者的每个图形元件库都是外挂的插件,整个系统庞大,适合办公使用,后者的每个图形元件库都是普通的图形文件,整体尺寸小,适合web使用。前者只用来绘图,后者还可以运行。 |
Macromedia Flash和Visual Graph比较 | 都是对矢量图进行操纵,图形可以编程,也可以动作,都支持脚本语言,都有专门的播放器。 | 前者侧重于界面效果,可以开发动画,后者侧重于实际行业应用,图形可以驱动,处理大型矢量图形、中文表格等,图形之间建立拓扑关系。 |
Autocad和Visual Graph比较 | 都可以对矢量图形进行编辑 | 前者适合行业制图领域,后者适合软件公司开发自己的绘图系统,一般是可控的、面向对象的图形系统。 |
组态软件和Visual Graph比较 | 都能对矢量图进行操纵,都支持开发和运行。都可以做工业人机界面,都可以开发工业应用。 | 前者是应用软件,面向最终用户,后者是开发平台,面向软件公司。对于设备图库,前者需要专业人员开发,而后者普通用户就可以自己“画”出来,前者适合做应用,后者适合在web上发布。 |
报表组件和Visual Graph比较 | 都可以制作报表,都有设计和预览,表格有丰富的操纵方式。 | 前者一般均是傻瓜式报表,模板均已规定好,矢量图形能力弱,后者适合公司开发自己的报表系统,模板需要自己设计,适合开发含图形的报表、中国式的报表或一般软件无法完成的报表。 |
七、产品开发技术流程: 标准的软件开发流程与高水平的软件开发管理水平: 20世纪90年代以来,由于新的软件技术的发展与信息应用的不断出现,随着计算机应用的日益普及和深入,人们对软件的需求量急剧增加,许多计算机软件公司的开发技术与管理水平却远远没有跟上软件技术的发展,使得软件开发的成本逐年剧增,更为严重的是,软件的质量没有可靠的保证。软件开发的速度与计算机普及的速度不相适应,软件开发技术已经成为影响计算机系统发展的“瓶颈”。而北京图王软件开发有限公司从成立以来就一直都注重软件开发技术与软件开发管理方面对软件的质量的影响。所以北京图王软件开发有限公司跟随着软件技术的发展与信息技术的应用,不停地提高软件开发技术与软件开发管理水平,从而可以保证Visual Graph软件产品的高品质。 早期所形成的计算机软件开发的错误方式,严重阻碍了计算机软件的发展,导致了20世纪60年代软件危机的发生。20世纪60年代后期,西方的计算机科学家开始认真研究解决软件危机的方法,提出借鉴工程界严密完整的工程设计思想来指导软件的开发与维护,并取得了可喜的成果,一门新的学科——软件工程学(Software Engineering)诞生了。软件工程学是一门介于软件科学、系统工程和工程管理学之间的边缘性学科。随着软件的发展和商品化,软件工程学的研究范围越来越广,分别形成了软件工程经济、软件工程方法、软件工程标准与规范、软件工程工具与环境等分支学科。北京图王软件开发有限公司一直按照国家的软件开发标准与国际软件工程标准来进行软件开发,在可行性分析、项目计划与质量管理、需求分析、总体设计、详细设计、程序设计、软件测试、系统实施、软件维护和文档规范等阶段严格执行软件工程规范,精益求精Visual Graph产品质量。 八、产品历史: V1.X:从图形应用方面,开发出一个完善的图形操作编辑开台,并且以独特技术加入表格功能,从而让Visual Graph拥有图形与表格的两方面的操作功能,从而赢得市场的承认。 V2.X:由于图形在组态当中的应用是相当前沿,而组态对图形技术要求很高,图形的动态操作,图形的预览操作与运行,图形事件响应等等,这些在版本2里面得到全方位的支持与扩展。 V3.X:ActiveX技术的发展,WEB技术的应用,Visual Graph需要被打造成一个体积轻型,接口结构简单,功能强大的ActiveX控件。在这个版本里面Visual Graph从本质上被转到互联网上应用,大量的原Visual Graph可以完美地移植到WEB上来。 V4.X:由于应用的深入与需求的变化复杂,于是创造性地在Visual Graph里面引入面向对象脚本,从而使拥有全方位的二次开发能力,从而使Visual Graph变成了一个控件变成了一个图形平台。 九、产品未来发展方向: 近十位图形应用专家从市场Visual Graph使用上、从图形技术发展上、从软件平台发展上、从市场图形应用上、从Visual Graph的应用前景上,对Visual Graph的未来发展方向作出了一致的决策: GIS图形应用方向:针对市场上GIS的使用情况,为GIS的开发应用加入许多GIS特有的功能与接口,让Visual Graph在GIS的中小型应用能应付自如。 矢量拓扑应用方向:加强图形三维运算能力与数据转换能力。