矿山深部资源开采形成的采空区是矿山主要灾源之一[1],在有效探知其空间位置及三维形态等相关信息的基础上,精确构建其三维可视化模型是实现采空区安全管理和控制的重要基础性工作之一[2].当前,采空区三维模型构建采用的三维矿业软件主要有Surpac,3DMine及Dimine等,这些软件由于其良好的三维可视化环境及其可操作性,在矿业领域取得了广泛的应用[3-4].
采空区三维建模[5]可视化集成系统(以下简称集成系统)是由作者所在团队自主研发的,集采空区三维建模、信息管理及可视化安全分析与计算等功能于一体的集成系统,与当前主流的矿业三维软件相比,其在采空区三维建模、可视化安全管理与分析方面具有独特优势.实现集成系统与主流三维矿业软件间的三维实体模型数据交互,能够进一步完善其数据输入输出功能、提高其应用价值,具有重要现实意义.
3dm,dat文件及dtm文件是主流三维矿业软件,常用于保存三维实体数据的文件格式,它们既可以实现与其他图形格式文件的数据交换,也可以从中直接提取所需数据,但当前极少有针对其数据存储结构及规律进行的研究.本文在深度分析实体模型3dm,dat及dtm文件数据存储规律的基础上,研究开发了集成系统实体模型数据接口,实现了集成系统与主流矿业软件间的实体模型交互与共享.
1 接口功能及开发方法集成系统实体模型数据接口的开发是以实现集成系统与Surpac,3DMine,Dimine等主流三维矿业软件间三维实体模型交互为目的,其主要包含三个功能:三维实体模型3dm文件数据读取及文件生成;三维实体模型dat文件数据读取及文件生成;三维实体模型dtm文件数据读取及文件生成.集成系统三维实体数据接口的功能结构如图 1所示,其开发主要按照接口功能设计、接口文件的选取及解析、接口文件数据读取、接口文件生成和应用验证的技术路线实现,参见图 2.
接口文件的选取是决定接口研究难易程度及应用广度的重要环节之一,需要考虑三个方面的内容[6-7]:文件数据存储规律是否便于解析,文件数据读取与写入难易程度及文件应用广度.在整理分析当前主流三维实体模型存储文件格式(如表 1)的基础上,综合考虑上述三方面影响因素,选取3dm,dat及dtm三种三维实体模型文件作为实体模型数据接口文件(dxf文件已作为集成系统CAD接口文件实现了其读写操作),通过这三种文件格式能够有效实现集成系统与主流三维矿业软件间的实体模型数据交互.
3 dm文件作为一种常见的三维数据文件格式能够被Datamine,3DMine,3DMax等主流三维软件所识别,其具有广泛的应用性.通过解析明码3dm文件数据结构可以看出,该格式三维数据文件主要由三个部分构成:文件信息,点云信息及实体三角面片信息.文件信息主要介绍文件的存放路径、文件类型及文件版本等信息;点云信息包含构成实体模型的所有空间点的三维坐标信息,三列数据分别对应点的X,Y,Z坐标值;实体三角面片信息中每一条记录对应一个三角面片,包含了构成三维实体模型的所有三角面片信息,三列数分别对应三角面片的第一顶点序号、第二顶点序号及第三顶点序号,该序号为顶点在点云信息中的顺序号.三维实体模型3dm文件的数据存储结构如表 2所示.
三维实体模型dat文件能够被Surpac,Datamine,Minesight和Micromine等主流矿业软件识别,其在存储三维实体模型数据过程中分为_pts.dat和_tri.dat两类文件格式,分别存储了不同数据信息.
_pts.dat文件主要存储构成三维实体模型的所有空间点信息,其主要包含文件信息和点云信息.文件信息包含了该文件的创建软件及创建时间,文件包含的5个变量及变量存放占据位置长度、变量保留小数位;点云信息作为该文件的核心主要用以存储空间点的有关信息,其主要由五列数据构成,前三列按顺序分别存储了空间点的X,Y,Z坐标值,第四列为空间点所在的线串编号,第五列为空间点所在线段的编号._pts.dat文件数据存储结构如表 3所示.
_tri.dat用以存储构成三维实体模型的所有三角面片信息,其分为文件信息和三角面片信息.文件信息包含文件类型,文件四个变量及变量存放占据位置长度、变量保留小数位;三角面片信息包含四列数据,其中第一列数据表示三角面片的编号,后三列分别是构成三角面片的三个顶点在_pts.dat文件中的顺序号._tri.dat文件数据存储结构如表 4所示.
dtm文件即数字地形模型文件能够被Surpac,Dimine,3DMine等主流三维矿业软件识别[8-10],是实现三维实体模型数据存储的最主要文件格式之一,其在存储三维实体模型数据过程中同样将所有空间点的三维坐标数据和三角面片的构成、空间位置信息分别进行了存储,其中实体模型空间点三维坐标信息存储于dtm文件对应的str文件中,三角面片的构成及空间位置信息存储于dtm文件中.因此,解析dtm文件的数据存储结构主要包括两方面的工作:对应str线文件的数据存储结构解析;dtm文件的数据存储结构解析.
str线文件是Surpac等矿业软件用以存储线条、线段的文件格式,其数据存储结构分为文件信息及线段信息.其中文件信息主要为文件的生成信息及来源信息;线段信息包含四列数据,第一列数据为空间点所在线串编号,后三列数据分别为空间点的X,Y,Z坐标数据,“0, 0.000, 0.000, 0.000, ”表示一条线段的结束.str线文件的数据存储结构如表 5所示.
dtm文件用以存储实体模型的三角面片数据信息,其结构分为文件信息及三角面片信息.其中三角面片信息包含三维实体模型的所有三角面片信息,文件每一行记录对应一个三角面片,且文件由七列数据构成,第一列数据为三角面片序号,第二至四列数据为三角面片三个顶点在str线文件中的顺序号,后三列数据为该三角面片在空间上相邻的三个三角面片序号.dtm文件的数据存储结构如表 6所示.
以Microsoft Visual Studio 2010作为开发的工具,运用Visual C++编程语言设计开发了基于3dm文件、dat文件及dtm文件的实体模型数据接口,实现了采空区可视化集成系统与Surpac,3DMine,Dimine等主流三维矿业软件间的三维实体模型交互与共享.该三维实体模型数据接口的开发分为两个方面:接口文件数据读取功能的开发及接口文件生成功能的开发.
通过解析三维实体模型3dm,dat及dtm文件的数据存储规律发现,这三类文件在存储实体模型数据时均将模型空间点坐标信息及实体模型三角面片信息分别进行了存储,因此,将读取接口文件存储数据信息的过程分为三个步骤:从接口文件点云信息部分中读取所有空间点三维坐标信息,并按照读取顺序存入点Vector容器中;从接口文件实体三角面片信息部分读取每一个三角面片三个顶点的序号等信息;根据读取的三角面片顶点序号,从点Vector容器中提取对应点的三维坐标信息,将数据信息整理后保存于新定义的三角面片Vector容器中,并将该数据容器提供给集成系统实现三维模型的构建.
生成三维实体模型3dm,dat和dtm文件过程中,数据写入主要分为两个步骤:实体模型中所有空间点三维坐标信息数据写入及实体模型中所有三角面片信息数据写入.当以3dm文件存储三维实体模型数据时,所有数据信息写入同一文件对应位置;当以dat文件存储三维实体模型数据时,所有空间点云数据信息写入_pts.dat文件中,所有三角面片数据信息写入_tri.dat中;当以dtm文件存储三维实体模型数据时,所有空间点云数据信息按照线文件数据存储格式写入对应str文件中,所有三角面片数据信息写入dtm文件中.通过集成系统三维实体模型数据接口文件的数据读取及生成功能,能够有效实现集成系统与Surpac,3DMine,Dimine等主流矿业软件间的三维实体模型交互与共享,已知某采空区长62.5m,宽10m,高24.8m;采空区空间点云数据为26 858个,通过该数据接口实现交互的矿山某采空区三维实体模型在集成系统与Surpac,3Dmine及Dimine软件中的显示效果如图 3所示.由图 3可知,通过集成系统接口生成的dtm文件在Surpac,3DMine,Dimine等主流矿业软件中都能够正确显示,显示效果良好并能够进行相关计算.
1)在数据接口功能需求分析的基础上,设计了采空区三维建模可视化集成系统实体模型接口功能,并提出了其有效开发方法;在对比分析主流三维实体模型文件特征的基础上,选取了目前应用最广泛的3dm,dat及dtm文件作为三维实体模型接口的接口文件,并解析了该三种实体模型文件的数据结构及其存储规律.
2)以Microsoft Visual Studio 2010作为开发工具,运用Visual C++编程语言成功开发了采空区三维建模可视化集成系统实体模型接口,有效实现了集成系统与Surpac,Dimine,3DMine等主流矿业软件间的三维实体模型交互与共享,该数据接口的成功研发有效地完善了集成系统数据输入输出功能结构、提高了其应用价值,同时为该三种文件格式的研究人员提供了有益借鉴.
[1] |
罗周全, 刘晓明, 张木毅, 等.
大规模采场三维探测及回采指标可视化计算[J]. 中南大学学报(自然科学版) , 2008, 27 (2) : 323–330.
( Luo Zhou-quan, Liu Xiao-ming, Zhang Mu-yi, et al. Stope 3D monitoring and its mining index visible calculation[J]. Journal of Central South University (Science Technology) , 2008, 27 (2) : 323–330. ) |
[2] | Hu Y X, Li X B. Bayes discriminant analysis method to identify risky of complicated goaf in mines and its application[J]. Journal Transactions of Nonferrous Metals Society of China , 2012, 22 (2) : 425–431. DOI:10.1016/S1003-6326(11)61194-1 |
[3] | Huang P, Yang P, Chen Y Z, et al. Three-dimensional model of Cangshang gold mine based on surpac[J]. International Journal of Advancements in Computing Technology , 2011, 3 (11) : 299–306. DOI:10.4156/ijact |
[4] |
王绍锋.三维数字地质模型的研究与实现[D].沈阳:东北大学, 2005.
( Wang Shao-feng.Research and realization of three dimensional digital geologic model of ore body[D].Shenyang:Northeastern University, 2005. ) |
[5] | Wang S F, Wang D M, Cao K, et al. Distribution law of 3D fracture field of goaf and overlying strata[J]. Journal of Central South University , 2014, 45 (3) : 833–839. |
[6] | Elmenreich W, Pitzek S, Schlager M.Modeling distributed embedded applications on an interface file system.[C]//IEEE Proceedings of Seventh International Symposium on Object-Oriented Real-Time Distributed Computing.Vienna, 2004:175-182. |
[7] | Geng L Q, Zheng T, Bian Y, et al. Teaching reform of microcomputer principle and interface technology[J]. Journal of Advanced Materials Research , 2011, 6 : 1737–1740. |
[8] | Shan J L, Zhang B H, Bian C P. Application of interface technology to tdi ccd camera control system[J]. Journal of Microcomputer Information , 2011, 8 : 51–52, 27. |
[9] | Zhu Q B, Lei S Y. On the interface technology of intelligent equipment[J]. Journal of Control Engineering China , 2005, 5 (12) : 486–488. |
[10] | Säfsten K, Johansson G. Interface challenges and managerial issues in the industrial innovation process[J]. Journal of Manufacturing Technology Management , 2014, 2 (25) : 218–239. |