面向工程领域的图形平台介绍

1. 概述

1.1. 什么是图形平台

    图形平台指的是某行业的某专业类软件所须要的基础框架及功能的统称,好比咱们常见的AUTOCAD,就是面向建筑,水暖,石油等专业行业的一个极具表明性的通用性图形平台。图形平台是一个底层的框架,在这个框架的基础之上,能够根据公司自身须要或者市场需求开发众多的相似的软件。开发一个强大的具有可维护性,复用性,扩展性的图形平台的技术难度很是高,必须具有深厚的技术储备,和一个契合度很高的开发团队。通常来讲,公司的图形平台做为基础工具,属于一个公司的核心资产,只会在它的基础上开发新的产品,通常不会对外出售源代码。算法

1.2. 国内图形平台的现状

国内具有开发图形平台实力的公司并很少,特别是可以开发高质量的图形平台的公司更是少之又少,国内公司通常是使用国外的图形平台作二次开发。国外有名的图形平台好比二维的AUTOCAD,三维的Revit等都封装了底层接口,为专业开发人员提供了二次开发方法或者函数库,开发人员使用这些图形平台,能够在必定程度上知足了开发和应用的须要,提升了应用系统的开发效率,可是因为是基于别人的源发平台,不可能与咱们自身的需求彻底无缝知足,因为没法获知其内数据组织结构和核心算法,深层开发和系统优化受到极大限制,一些国家处于战略方面的考虑,在图形平台高端效果和核心算法方面禁止或部分限制对我国的出口,形成事实上的技术壁垒和垄断,并且外国商业化的图形平台大都价格昂贵,根据开放程度一套售价数万或者数十万美圆,长期使用国外图形平台,势必要持续花费大量的资金,同时形成我国在这一领域缺少核心技术。数据库

2. 图形平台的通常结构

2.1. 图形平台的示意图

 

2.1.1. 数据库

   数据库是整个系统的核心,用来管理对象模型,是从专业角度抽象而来,整个图形平台是经过数据库驱动运转的,数据库包括建立对象,对象动态识别,对象的存储,对象的组织和对象的通信,这些对象是以相互继承的关系展开的,若是咱们作同一类软件话,整个平台最主要的做用就按照专业定义相应的数据库。微信

 

2.1.2. 图形

    图形的做用是用来展现数据库中存储的专业数据, 数据库中的专业数据和图形数据造成映射关系,使用者对图形的操做最终会反映到数据库数据的操做上。图形模块同时提供了加速优化算法,好比各类空间分割技术(八叉数,四叉数等),图形系统主要负责对图形的组织,管理与显示,具备图形表示的对象经过调用图形系统的功能,完成对象的显示。架构

2.1.3. UI

   用户界面主要完成对交互事件的组织与管理,并协同图形系统,实现对象的各类交互方式。系统在处理交互事件时,给出一个统一的流程,处理不一样的交互事件,如场景的各类显示方式,各类交互的建模方法,同时用户界面模块还包括语法解决模块,用来对键盘输入的字符进行解析。框架

2.1.4. 控制器

    在程序架构中,有一种典型的模式,叫作模型视图控制器(MVC)模式,这里的控制器就是关联数据库和图形的部分,控制器做为一种插件式的模块,把数据库和图形彻底隔离开,使他们二者完全接触耦合,可以分别的复用,好比,数据库若是彻底独立,则能够成为专门存储数据的地方,就叫作数据中心,若是图形彻底独立,则除了专门用于工程领域外,也能够用于三维仿真等其它领域。函数

2.2. 图形平台不一样模块的组织关系

    数据库作为图形平台的核心部分,控制着其它模块的运行,其它模块都要围着数据库转,图形平台各个模块之间能够设计成插件式的组织方式,插件式的组织方式有不少优势,好比能够控制错误,若是在某一模块出现错误,错误不至于影响其它模块,便于复用,开发不一样的产品的时候,可直接拖用,容易扩展,在原有插件的基础上开发新的插件。工具

2.3. 图形平台与产品的关系

2.3.1. 同一类产品

  对于同一类产品来讲,只需从新定义数据库便可,其它模块如图形模块,算法模块,都可复用,例如钢结构,若是作出了门刚这样的软件,那么再作栈桥这样的软件,只要把数据库按照栈桥的专业逻辑从新定义,其它全部模块均可以复用,专业需求和产品的关系以下:优化

 

 

2.3.2. 不一样类的产品

   因为整个图形平台是数据库驱动的,因此平台的核心就是定义数据库,若是不一样的产品差异太大,亦或彻底不一样的两个行业,好比建筑行业和石油行业,这样会致使整个数据库彻底没有共同点,那么数据库模块和控制器模块都不能复用,只有图形模块能够,具体项目须要具体对待。原则上不一样类的产品须要启用不一样的开发平台,固然不一样平台的设计思路仍是有必定共通行的。spa

3. 评估图形平台的难度及开发成本

   因为图形平台技术含量很高,工程量很大(想象一下AUTOCADRevit这类二维和三维图形平台的难度),而且须要大量的资金投入,不一样的行业须要的图形平台也不一样,因此在不知道需求的状况下,没法对公司须要的平台的难度和规模作出一个准确评估。这就要求公司决策层必定要明确设计方向和功能模块,确保完成一个成熟产品,而后从成熟产品里面提取出公共部分,就会造成一个图形平台。避免人力物力的无谓消耗,至关于无形中下降了开发难度和成本。插件

欢迎交流图形平台技术及3D的一切 微信 likeyou135  公众号 GraphicsPlatform

相关文章
相关标签/搜索