基于3DMine的Web网页三维可视化插件设计与应用

2018-11-20 10:48巩瑞杰陈彦亭常龙新庞晔斌
现代矿业 2018年10期
关键词:块体插件矿产资源

巩瑞杰 陈彦亭 常龙新 陈 越 庞晔斌

(1.河北钢铁集团司家营铁矿有限公司:2.河北钢铁集团矿山设计有限公司)

当今社会互联网的发展使资源高度共享,网络信息化已经成为各行业提高效率的首选。近年来,河钢矿业公司加快了信息化建设的步伐,以围绕矿山发展为目标,以自主创新为支撑,以提高管理水平和经济效益为目的,信息化建设的步伐稳步向前。数字矿山建设是公司提高矿山管控水平、改善各项技术经济指标以及提升矿山长远竞争力的有力手段,它是以计算机及网络为手段,把矿山的所有空间和有用属性数据实现数字化存储、传输、表述和深加工,应用于各个生产环节与管理和决策之中,以达到生产方案优化、管理高效和决策科学化的目的。三维空间模型的创建及拓展应用是数字矿山建设中关键性的基础环节,对数字化矿山成果展示、矿山工程设计与管理决策具有十分重要的意义。

1 3DMine软件及3DWEB插件

随着计算机软、硬件技术的不断发展,三维建模软件在地勘单位、设计院、矿山及高校得到广泛应用,比较有代表性的软件包括Dmine、3DMine、Supac、Micromine等。3DMine三维矿业工程软件是集地质勘探数据管理、矿床地质建模、构造模型、传统和现代地质储量计算、露天及地下矿山采矿设计、生产进度计划、露天境界优化及生产设施数据为一体的三维可视化软件系统。与传统的二维表达方式相比,该软件所作出的三维模型具有直观、形象、容易理解等特点[1]。

在3DMine软件的基础上,利用C++语言开发的Web网页三维可视化插件(以下简称3DWEB)可以使得3DMine软件制作的三维模型在Web网页窗口中显示,并能进行简单的功能操作,同时兼容显示MapGis、Autocad格式的二维图形。在不增加软件购置成本,使用人员不需要专业软件培训的情况下极大地扩展了3DMine软件的应用范围。

2 三维矿产资源信息管理系统

三维矿产资源信息管理系统是为了搭建矿产资源信息管理平台,提高企业数字化管理水平而研发的管理软件。它是在矿产资源信息数据仓库的基础上建立一个包括地质、测量、采矿、矿业权管理等在内的空间信息平台,使得矿产资源信息在统一的平台传输和集成,实现对公司下属各矿山矿产资源数据的统一管理,并根据矿山管理工作的需要实现逐级用户权限管理,打通矿山各部门之间、各矿山之间及矿山与矿业公司之间的数据共享脉络,建立数据流通“高速公路”,并在此基础上实现全公司的矿产资源信息动态管理、数据二次挖掘,为矿产资源信息提供高效率、科学化的管理和决策支持。3DWEB依托于三维矿产资源信息管理系统,访问系统后下载安装插件即可实现三维显示和相关操作。

3 程序设计

3.1 环境基础技术

3.1.1 Eclipse平台

Eclipse是一个开放源代码的、通用的、基于Java的可扩展的集成开发环境。尽管Eclipse主要是一个Java开发环境,但其最有特色的是插件体系结构,该结构确保了对其他编程语言的支持。3DWEB插件即选用C++编程语言。Eclipse本身的设计思想是通过集成大量的插件不断扩展其功能,以支持各种不同的应用。用Eclipse开发的插件可以适应多平台的需要,且具有良好的可扩展性和灵活性[2]。

3.1.2 Oracle数据库

数据库技术是信息时代的一项重要技术,随着数据库技术的不断提升,各种版本的数据库不断更新换代,目前市场上关系型数据产品主要有Oracle、SQL Server、DB2等。其中Oracle是一种适用于大型、中型和微型计算机的关系数据库管理系统,使用SQL(Structured guery language)作为数据库语言。考虑到其本身的安全性能、对大数据量处理的技术成熟的特性、可靠的系统恢复和数据恢复的能力,3DWEB中主体功能的数据存储选择Oracle数据库。

3.1.3 文件服务器技术

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写,用其来管理所有的文档、二维矢量和三维模型文件,旨在为WEB应用提供可扩展的高性能数据存储解决方案。它具有高性能、易部署、易使用、存储数据非常方便的特点。

3.2 3DWEB程序总体结构

3DWEB插件是基于3DMine三维引擎所提供的SDK开发的ActiveX应用程序插件,插件继承了3DMine平台优秀的三维展示效果和先进的三维空间算法,不但提供了管理系统要求的全部三维分析处理功能,并在此基础上,开发了针对于管理系统独有的如文件下载解压、储量核实、炮孔数据约束统计等功能模块。用户对程序软件最直观的评价就是程序界面显示和交互,数据信息的显示应方便高效,而交互可以帮助用户更好地完成工作。实现软件界面交互的更高要求是界面的自定义配置以及三维显示。为实现上述功能,在程序的总体结构中将数据内容和实现功能按类别分为自动化可视框架类库、自动化实体对象类库、自动化基本算法类库、自动化三维操作类库,如图1。

图1 3DWEB总体结构

将矿山数据划分为2个类别:数据文件和信息记录。数据文件应包括各种原始资料和运用各种二维、三维软件产生的成果文件,这类数据的显示应体现体态特征以及空间关系,采用3DWEB控件可以在浏览器窗口调用数据文件执行显示,并可以提供回调函数提供操作;信息记录可以利用丰富的Web前端控件灵活地展示数据内部的关系。

3.3 软件的设计与实现

为了把复杂的问题简单化、直观化,选用面向对象的程序设计方法,将系统中所有的对象和操作都抽象为类和类的操作[3]。3DWEB控件依托于三维矿产资源信息管理系统运行,因此,主要的程序设计以实现各种功能的命令为主,划分为应用程序类、应用程序自动化类、自动化文档类、自动化对象类、自动化图层类。以应用程序类为例,操作中涉及的主要功能是初始化三维界面、加载需要查看的文件、查看文件、清除当前文件加载新的文件,因此,设计中主要用到以下几个功能:

BOOL CVisualwebApp::Initlnstance(); ∥对程序进行初始化

AFX_MANAGE_STATE(AfxGetStaticModuleState();∥ 模块切换时的状态保护指向当前模块状态

Void RemoveTempFile(); ∥删除三维界面中的临时文件

BCGCBProDllInitialize(); ∥初始化BCG动态库资源

Typedef int (__cdecl *MineResInit)(); ∥加载资源序列

GetContextMenuManager()->AddMenu(_T("string Manager"),IDR_POPUP_MANAGE_STRING); ∥层管理器

m_AppCUI.ResetRibbon(); m_AppCUI.cleanToolbar(); ∥清除以前的设置

在自动化文档类、自动化对象类、自动化图层类中以STDMETHODIMP和HRESULT函数为主,如

STDMETHODIMP CAutoDoc::get_WorkPath (BSTR * ppVal) ∥文档路径

STDMETHODIMP CAutoDoc::Save () ∥文档保存

HRESULT CAutoDoc::DownRemoteFtpFile() ∥调用FTP文件用于采场现状自动更新

HRESULT CAutoDoc::CalcDynamicReserve() ∥表格动态保留

4 功能实现

4.1 显示功能

三维信息交换共享是矿业公司与矿山之间实现传达指示、汇交资源和生产信息的业务要求。在三维矿产资源信息管理平台上进行交换的信息流具有多种类型和表现形式。根据信息的类型、重要程度、在实际工作中的应用等属性,对之采用不同的处理方式。三维模型是其中最直观、实时效果最好、数据量集成最多的一种信息流类型。3DWEB的研发使得各类常见的矿山三维矢量模型文件和DWG、Mapgis等矢量数据格式可以直接在网页窗口中进行展示,不需要借助专业的三维模型制作软件。如图2所示,在三维矿产资源信息管理系统的三维显示界面中下载3DWEB插件并安装程序,然后在系统中查询到需要查看的图件或三维模型,点击查看按钮即可显示,操作者可以通过移动鼠标来查询不同位置的模型属性。

图2 3DWEB显示功能

4.2 编辑功能

三维模型编辑功能的基本操作主要包括:

(1)全屏缩放,聚焦到当前三维数据坐标系。

(2)清屏,清空屏幕中的所有数据。

(3)Gourand渲染,对实体或约束显示的块体进行Gourand渲染,使图形的颜色更加细腻,地表模型可以根据高程进行颜色渲染,块体模型可以根据品位属性进行颜色渲染。

(4)平移,按住鼠标左键可以移动空间图形。

(5)距离量测,查询图中任意两点之间的距离。

(6)图层管理器,层浏览器是用来显示当前载入图形工作区的线、实体和数据库等文件,不同特性的对象可划分为不同的图层,通过图层管理器可以控制各要素图层的开关。

(7)属性管理器,显示图形区内图形的相关属性,比如图层、线型、颜色等,可以点击某项属性进行编辑更改。

(8)坐标网,为空间模型数据插入坐标网格。

(9)清除临时标记,清除绘制图元时临时产生的标记。

(10)按钮工具,包括俯视、前视、左视功能,分别查看图形的XY面、XZ面、ZY面。

(11)切割剖面,剖面线可以通过手动画线、指定高程值或勘探线等方式进行选择,将三维视图下的操作快速转换到二维视图下。

(12)退出剖面,即退出当前剖面状态。

(13)画线,根据需要绘制多段线。

(14)注记,根据需要添加文字注释。

3DWEB编辑功能示意见图3。

图3 3DWEB编辑功能

4.3 计算功能

块体模型是国际上通用的储量计算方法中重要的理念,实际上也是一个数据库[4]。主要是在空间上确定一定尺寸的空间块体,利用规则的块体来充填不规则的矿体。每个相对应的块体都有一个质心点,这样,在质心点上可以存储所有属性;同时,引进次级模块的概念,保证矿体边缘的块体尽可能地与矿体界线(曲面)相一致,从而得到准确的报告值。与地质统计学相结合,应用数学方法对品位分布进行估值,从而形成不同约束条件下的品位模型[5]。3DWEB很好地继承了这一功能,可以直接在网页三维展示窗口中利用块体模型准确地进行资源量和品级报告。如图4所示,加载块体模型之后,手工圈定任意感兴趣的矿体或动用区域,多段线必须闭合,然后单击“储量报告”按钮,设置后系统将以报表的形式在显示窗口中输出闭合线圈定范围内的矿体或动用区域的资源量,若为动用区域还可以利用自动更新功能直接更新采场现状,展示动用后的采场形态,并列表给出每个位置的动用资源量。该功能可以快速得出矿体任意位置的矿产资源情况,展示采场工作面最新推进情况,同时辅助用户准确定位,满足各级领导和生产计划部门对矿产资源情况的掌握。

矿山地质数据库是矿山资源评估和采矿设计的基础,是矿山生产管理的重点。为

图4 3DWEB计算功能

了提高矿床勘探程度,达到储量升级,为编制矿山生产计划,进行采矿生产设计和施工管理提供重要依据,公司地质技术人员以爆区炮孔取样化验作为主要生产勘探手段。炮孔数据库的建立方法与钻孔数据库类似,用3个数据表来记录炮孔的开孔、测斜和化验信息。数据库可以直接在三维显示窗口中打开,并自动统计分析闭合线区域内的炮孔数据信息,包括有用组分,有效样品数,品位最大值、最小值、平均值和变化系数信息,以有用组分为分类条件分别统计。

5 结 论

3DWEB插件在3DMine软件的基础上,利用C++语言开发而成,与操作系统间的整合性与兼容性良好。安装插件后,使用人员不需要安装专业的3DMine软件和MapGis、Autocad等专业绘图软件即可在网页中显示上述软件绘制的模型或图形,降低了企业办公成本。软件界面友好,风格统一,而且在服务器和客户端都提供了插件下载窗口,大大方便了用户的使用,操作简单,提高了专业软件的利用率,使用人员不需要经过专门的软件培训即可实现对相关软件绘制图形或所做模型的查看与简单操作,将专业制图软件的应用范围从技术层扩大到了公司的管理层,但是该插件目前只依托于三维矿产资源信息管理系统运行,这是它的局限性。3DWEB插件对于矿山常用地质专业软件的推广使用和矿山信息化建设的提高具有重要意义。

猜你喜欢
块体插件矿产资源
一种新型单层人工块体Crablock 的工程应用
隧洞块体破坏过程及稳定评价的数值方法研究
自编插件完善App Inventor与乐高机器人通信
自然资源部发布《中国矿产资源报告(2018)》
矿业权出让转让及矿产资源开发整合审计主要内容和方法
哈萨克斯坦矿产资源使用法将作重大修改——哈萨克斯坦《矿产资源与矿产资源使用法典(草案)》解析
基于jQUerY的自定义插件开发
结构面对硐室稳定性的影响
块体非晶合金及其应用
基于Revit MEP的插件制作探讨