王大志 黄鹏
摘要:针对传统的石料场开采二维设计方法流程复杂、工作内容繁多的特点,提出了基于Civil 3D的石料场开采三维动态设计方法,包括建立原始地形曲面,对地层钻孔数据进行Kriging插值拟合并建立地层曲面,石料场开采量计算与分析,石料场边坡开挖设计,石料场边坡开口线坐标数据提取等。通过该方法建立的模型具有动态关联属性,可以根据设计参数的变更动态更新。工程应用表明:该方法简化了设计流程,提高了设计效率和设计精度,满足工程设计要求。提出的基于Civil 3D二次开发技术的模型边界曲面信息提取方法实现了从设计模型快速获取开口线施工放样数据,让设计和施工无缝衔接,提高了工程项目管理效率。
关键词:石料开采;Civil 3D; 三维动态设计; Kriging; 插值拟合; 开口线坐标; 二次开发技术
中图法分类号:TP391.9 文献标志码:A DOI:10.15974/j.cnki.slsdkb.2022.07.021
文章编号:1006 - 0081(2022)07 - 0122 - 07
0 引 言
随着计算机辅助设计(Computer Aided Design,简称“CAD”)技术的高速发展,土木工程设计正由二维CAD向三维CAD转变[1],土木工程领域出现了Civil 3D,GEOPAK,CATIA等三维CAD工程设计软件。相比二维设计,三维设计建立的实体模型更直观、准确、详实,可以在设计过程中消除碰撞,实体模型和设计数据相互关联,一处修改所涉及的部位便会自动修改。石料场开采设计通常采用的是传统二维CAD设计方法,通过在地形图中切剖面,计算开采量。该方法耗时耗力,计算精度低,设计修改不便。而采用三维CAD设计方法,可以克服上述缺点,不但能建立直观、准确的石料场模型,还可以快速计算开采量,提取料场边坡开挖数据[2]。因此,将三维CAD技术应用到石料场开采设计中,有广阔的应用前景。
国内的专家、学者,特别是工程技术人员,在将三维CAD技术应用到石料场开采设计方面,取得了丰硕的成果。杨伟[3]利用GeoBIM软件进行某水电站石料场三维地质建模,并利用三维地质模型进行石料场储量的计算,拓展了复杂石料场的分地层储量计算方法。王勇胜等[4]提出了一种基于CATIA的料场开采动态调整设计方法,提高了料场开采调整的计算精度和设计效率。华栋等[5]利用Civil 3D平台,开展了石料场开采规划设计工作,实现了准确计算剥离量、有用量及开采量。牛贝贝等[6]利用ItasCAD软件建立了石料场的三维地质模型,对不同岩性的块料分别进行了计算,确定了优先开采区。上述方法解决了石料场三维地质模型建立、储量计算等问题,但研究内容只涉及石料场开采设计的某一方面,未能系统阐述石料场开采设计方法,实现模型的施工放样数据提取。笔者在充分吸取上述成果的基础上,以防城港市防城区抽水蓄能电站项目石料场为研究背景,基于Civil 3D平台,结合石料场工程地质情况,建立了石料场三维地质模型,完成了石料场边坡开挖设计,并利用Civil 3D二次开发技术,实现了石料场边坡开挖数据提取,为后续边坡开挖施工放样提供数据支撑。
Civil 3D是一款面向土木工程行业,适用于勘察测量工程、道路工程、市政工程、水利水电工程、航道工程、地质矿产工程等多个不同行业领域的三维动态设计软件。生成的模型包含丰富的动态数据,便于在项目实施过程中快速进行设计变更,根据计算和分析结果做出决策,选择最优设计方案,快速、高效地创建与设计变更保持同步的可视化效果。它可以分析与调整测量数据、创建精确三维地形、设计各种路线及纵断面、生成道路模型并计算土方量等,能够帮助项目团队更加高效地设计、分析和可视化项目[7]。
Civil 3D二次开发是在其开放的.NET API基础上对用户界面、业务逻辑以及数据库访问进行扩展。允许用户根据自己的需求进行定制开发,扩展和延伸专业功能。Civil 3D提供的.NET API接口用于创建基于Civil 3D的.NET应用程序,实现用户自定义的创建、存取和操作绝大多数Civil 3D对象,包括点、等高线、曲面、纵断面、横断面、道路、管道等[8]。
1 基于Civil 3D的动态设计思路
通过Civil 3D的曲面及放坡功能建立石料场地形、地质曲面和边坡开挖曲面,计算石料场的开采量、边坡开挖设计参数,并动态调整终采平台高程,使石料场开采设计达到最优[9]。主要设计思路如下。
(1) 根据测量资料,形成地形曲面所需点文件;根据勘察资料,对钻孔数据进行统计、分析,形成地层曲面所需点文件。
(2) 利用Civil 3D软件,导入各类点文件,建立地形、地层曲面。对石料场剥离料、有用料进行统计分析。
(3) 根据初步确定的石料场多级边坡开挖坡比、开挖高度、马道宽度等参数,在Civil 3D部件编辑器中制作多级边坡部件,然后在图中进行装配,建立石料场开挖坡面。
(4) 建立体积曲面,计算石料场开采量。通过动态调整石料场终采平台高程,再次拟定多级边坡开挖参数并建立石料场开挖坡面,不断比选并获得最优设计方案。
(5) 利用Civil 3D二次开发技术,编程提取最终设计方案确定的石料场边坡开挖数据,用于后续石料场边坡开挖施工。
2 三维动态设计方法及软件开发
2.1 建立原始地形曲面
对石料场原始测量数据进行编辑,保存为Civil 3D能够识别的“*.txt”格式文件(图1)。在Civil 3D中,利用软件的“工具空间-瀏览-曲面-创建曲面”创建一个空的原始地形曲面,然后利用“定义-点文件-添加点文件”导入地形点数据,生成原始地形曲面(图2)。曲面建立后,对曲面进行观察,通过“曲面特性”和“编辑曲面样式”对曲面进行处理,去除错误的高程点,对等高线进行平滑处理,设置点、三角形、边界线、等高线、栅格、坡度等的样式,对高程、坡度、方向、流域进行分析[10]。
2.2 建立地层曲面
2.2.1 钻孔数据分析
为了控制工程造价,一般石料场地质钻孔数量较少,实际得到的钻孔数据都是离散的,必须采用一定的拟合方法,通过离散的地层钻孔数据来描述其空间分布规律,建立满足精度要求的地层曲面。
2.2.2 插值拟合
在实际工程中,一般采用样条法、Kriging法、反距离加权法、最小曲率法等插值算法拟合地质钻孔离散数据[11]。其中,Kriging法适用于各种类型离散数据,考虑了采样点间的相关性,网格化精度高。根据该工程实际情况,地质钻孔通常为不均匀离散分布,网格化精度要求高,因此选择Kriging法作为地层插值拟合的算法。
2.2.2.1 Kriging法原理
Kriging法又称“空间局部插值法”,是以变异函数理论和结构分析为基础,在有限区域内对区域化变量进行无偏最优估计的一种方法,是地统计学的主要内容之一[12]。在石料场区域内设置间隔25 m×25 m的等距网格,根据15个地质钻孔各个地层的坐标值,用Kriging插值计算方法,对区域内所有网格结点进行插值拟合,最终得到地层曲面数据(图3)。
2.2.2.2 Kriging法插值拟合步骤
2.2.3 生成地层曲面
2.3 石料场开采量计算与分析
在石料场开采二维设计中,一般采取平行断面法进行储量计算,储量计算上限和下限按照高程来控制。而在基于Civil 3D的三维设计中,在已经完成曲面建立的情况下,可以利用曲面的“高程分析”功能,通过相关参数设置,直接查询对应高程的体积,并生成分层体积表[14]。
2.4 石料场边坡开挖曲面
2.4.1 石料场边坡开挖设计
根据石料场区域工程地质条件和实际开挖剥离需求,计算边坡级数,并设计确定边坡坡比、坡高、马道宽度、支护形式等。
2.4.2 生成边坡开挖曲面
在Civil 3D中,可以直接通过放坡工具来创建多级边坡,也可以利用道路来创建多级边坡并生成边坡曲面。后一种方法直观、高效,具体步骤如下。
(1) 制作多级边坡部件。Civil 3D部件编辑器是一个图形编程软件,可定制各种部件,如道路、多级边坡、挡土墙、隧洞等。部件编辑器提供可视化的开发界面,操作简单且功能强大[15]。① 根据多级边坡设计数据定义坡比、坡高、马道宽度等每一级边坡的部件参数;② 添加点、连接等几何要素,并进行参数设定;③ 向多级边坡部件添加连接代码,以便于信息的提取;④ 将制定完成的多级边坡部件保存为“*.pkt”文件(图4)。
(2) 装配多级边坡部件并生成曲面。① 在Civil 3D中导入自定义的多级边坡部件;② 利用“创建装配-装配锚点-多级边坡部件”对多级边坡部件进行装配;③ 利用“创建道路-选择石料场坡底开挖轴线-选择建立的装配-建立道路曲面”来创建边坡开挖曲面(图5)。
生成石料场边坡开挖曲面后,可以在Civil 3D中建立体积曲面,计算石料场有用料开采量。如果计算出的开采量和该项目的需求量有出入,可以调整石料场坡底开挖轴线的高程及方向,再次按照上述步骤重新制定多级边坡部件并建立石料场边坡开挖曲面,通过不断比选,使最终的开采量符合需求量。
2.5 提取石料场边坡开挖数据
在基于Civil 3D的三维设计中,建立的三维模型都自带属性,可以通过二次开发,编程提取石料场边坡开挖模型的边界曲面信息,进而得到开口线坐标。
2.5.1 提取模型边界曲面信息原理
在Civil 3D中,三维实体模型是由点、线、面等子实体构成。模型的几何信息包括形体的形状、位置、大小、尺寸等,模型的拓扑信息包括形体的顶点、边、表面等相互之间的连接关系,二者构成一个有机的整体,共同形成对实体模型的完整描述[16]。
.NET API是通过边界表示法(Brep)来精确表达实体模型的几何信息和拓扑信息。因此,可以通过建立实体模型的Brep类库对象来访问实体模型的各个构成元素,如点、边、面的基本信息和顶点坐标数据。本文就是利用Brep类库对实体模型边界进行分析,从而得到石料场边坡开挖实体模型的开口线边界的顶点坐标数据。
2.5.2 提取模型边界曲面信息步骤
(1) 选择石料场边坡开挖实体模型中的开口线所在的开挖坡面子实体,利用Solid3d类的GetSubentityPathsAtGraphicsMarker函数获取子实体路径。
(2) 基于此子实体路径,建立一个新的边界表示对象(Brep),使子实体与自身的对象联系起来。
(3) 利用此边界表示对象,依次层层建立面(Face)、边界环(BoundaryLoop)、边(Edge)对象。最后,利用提取边对象的端点坐标,即得到开口线坐标数据(图6)。
以下是提取石料场边坡开挖模型的边界曲面信息主程序:
SelectedObject so = ss[0];//选择实体
Solid3d solid = Tx.GetObject(so.ObjectId, OpenMode.ForRead) as Solid3d;//建立三维实体对象
int gsM = so.GraphicsSystemMarker; //获取开挖坡面子實体GS标记
IntPtr Ptr = new IntPtr(gsM);
Point3d Pt = new Point3d(0, 0, 0);
Matrix3d Mt=new Matrix3d();
ObjectId[] Id = new ObjectId[2];
FullSubentityPath[] MysubentPath =
solid.GetSubentityPathsAtGraphicsMarker(SubentityType.Face, Ptr, Pt, Mt, Id);//获取子实体路径
using(Autodesk.AutoCAD.BoundaryRepresentation.Brep brep = new Autodesk.AutoCAD.
BoundaryRepresentation.Brep(MysubentPath[0])) {//建立一个边界表示对象
foreach(Autodesk.AutoCAD.BoundaryRepresentation.Face face in brep.Faces) {//建立一个面对象
foreach(Autodesk.AutoCAD.BoundaryRepresentation.BoundaryLoop lp in face.Loops) {//建立一个边界环对象
int edgCnt = 0;
foreach(Autodesk.AutoCAD.BoundaryRepresentation.Edge myEdge in lp.Edges){//建立一个边对象
ed.WriteMessage("\n Edge number {0}: " +
"\n Vertex 1: {1}" + "\n Vertex 2: {2}",
++edgCnt,myEdge.Vertex1.Point,myEdge.Vertex2.Point)//输出开口线坐标数据
}}}}
3 实例应用
砂石骨料场位于防城港市防城区抽水蓄能电站水电站坝址东北方向,距离砂石料系统运输约36.5 km,水电项目石料需求约650 000 m。石料场顶部地形平缓,地表大多为松树林,有少部分橄榄树和核桃树,自然坡度为4°~7°。分布高程850~1 250 m,长度约280 m,宽度约320 m,面积约89 600 m。石料场出露地层为白垩系下统砂岩与泥岩,局部夹薄层泥质粉砂岩。层状构造,岩层产状∶倾向135°,倾角33°~42°。
石料场地质勘察按照5个地质断面布置,每个断面分布3个地质钻孔,总共15个地质钻孔,孔深为6~12 m,揭露的地层从上至下分为3个地层,分别为残坡积土、强风化粉砂岩、中风化砂岩。残坡积土和强风化粉砂岩为剥离料,岩体较破碎,强度较低,力学性质差。中风化砂岩为有用料,岩体较完整,强度和承载力较高,工程地质性质较好。
根据拟合后的残坡积土层、强风化粉砂岩层、中风化砂岩层曲面数据,按照创建原始地形曲面的方法,从地面到地层分别创建残坡积土层、强风化粉砂岩层、中风化砂岩层地层曲面(图7)。
(1) 选择中风化砂岩层地层曲面,利用“曲面特性-高程-范围-指定范围间隔与基准高程-基准高程-范围详细信息”来设置石料场开采储量图(图8)。
(2) 选择中风化砂岩层地层曲面,利用“添加图例-高程-动态”来添加分层体积表,并通过“表格特性-编辑表格样式-特性-曲面范围体积”来生成分层体积表,并显示各高程范围的储量(表1)。
(3)按照上述方法,选择原始地形曲面,同样可以得到分层体积量,和中风化砂岩层地层曲面得到的分层体积量相减,得到剥离体积量。最终确定石料场规划储量约为161万m,其中剥离料为35万m,有用料为126万m,剥采比为1∶3.6,石料场开采累计曲线如图9所示。
石料场按照坡高30~40 m一级进行放坡;坡顶开口边坡多为残坡积土覆盖层,采取1∶2的坡比进行开挖,马道宽度为5 m,采取喷锚支护措施;下部边坡多为强风化粉砂岩和中风化砂岩,采取1∶1~1∶1.5的坡比进行开挖,马道宽度为3~5 m,采取喷混凝土支护;整个开挖区域外围设置截水天沟,马道设置排水沟(图10)。
4 结 论
依托Civil 3D强大的曲面处理功能和模型动态关联属性,可以快速开展石料场三维动态设计工作,简化了设计流程,提高了设计效率和设计精度。运用Civil 3D开展石料场三维动态设计工作有以下几个优点。
(1) Civil 3D利用不规则三角网(TIN)进行建模,直接利用野外实测的地形特征点、插值擬合点构造曲面三角形,组成不规则三角网面结构。三角网面直接利用实测数据作为网格结点,与地形特征相协调,保证了生成曲面的精度。在构网时,通过插入特征线的方式,保留了原有关键地形特征,能很好地适应复杂、多变地形。
(2) Civil 3D模型具有动态关联属性,在设计的任何阶段,通过修改边坡坡比、坡高、开挖要素线等参数来优化设计方案,该模型与变更参数相关的部分会实时自动更新。这种动态关联关系省去了传统二维设计中大量重复绘制工作,降低了设计出错率。
(3) Civil 3D设计模型建立后,可以自动生成施工平面图,如开挖平面图、开挖剖面图和土方施工图等,相比二维设计,省去了大量制图工作,节约了设计时间。
(4) 利用Civil 3D的.NET API二次开发功能,可以根据石料场开采设计实际需要,从建立的实体模型快速获取相关设计参数,指导后续施工,让设计和施工无缝衔接,提高了工程项目管理效率。
参考文献:
[1] 徐涛,孔斌,魏小平,等. 浅析CAD由二维向三维的转变[J]. 广西轻工业, 2008, 116(7): 36-37.
[2] 张治军, 陈敦科, 苏利军, 等. 基于CATIA平台的水电工程料场开采三维设计[J]. 人民长江, 2012, 43(19): 20-22.
[3] 楊伟. 三维地质建模在水电工程石料场储量计算中的应用[J]. 云南水力发电, 2017,33(1):26-30.
[4] 王勇胜, 张伟锋. 基于CATIA三维设计软件的料场开采设计方法[J]. 中国农村水利水电, 2016(10): 160-162.
[5] 华栋, 郭必文. Civil 3D在石料场开采规划中的应用[J]. 甘肃水利水电技术,2019,55(10): 53-54.
[6] 牛贝贝, 姚振国, 孙红义,等. 基于ItasCAD三维模型在块石料场储量计算中的应用[J]. 水利水电工程设计, 2020, 39(2): 27-29.
[7] 伍卫平. AutoCAD Civil 3D 2008实战教程[M]. 北京: 人民交通出版社, 2008.
[8] 何守望. 基于.NET的AutoCAD Civil 3D二次开发技术及应用[J]. 铁路技术创新, 2014(5): 42-44.
[9] 孙程. 基于GEOPAK Site的三维开挖辅助设计[J]. 人民长江, 2013, 44(17): 26-28,66.
[10] 张宜洛,邓展伟,郭创. 基于BIM技术的公路工程正向设计应用探究[J]. 公路,2020,65(9):176-182.
[11] 牛作鹏, 李国杰, 刘莉. —种基于Civil 3D平台的三维地质建模改进方法[J]. 水运工程,2019(10): 171-175.
[12] 弓小平, 杨毅恒. 普通Kriging法在空间插值中的运用[J]. 西北大学学报, 2008,38(6): 878-882.
[13] 董大忠, 胡素云, 关春林. 地质信息处理技术与应用[M]. 北京: 石油工业出版社, 2008.
[14] 李万红. 基于AUTO Civil 3D的三维地质建模与应用[J]. 人民长江, 2020, 51(8): 123-128.
[15] 武卫平, 李震, 左精力. AutoCAD Civil 3D 2018 场地设计实例教程[M]. 北京: 机械工业出版社,2018.
[16] 袁文辉. AutoCAD中实体曲面边界数据的提取及应用[J]. 机械研究与应用,2001, 14(3): 44-45.
(编辑:李 晗)
3D dynamic design method of quarry mining based on civil 3D
WANG Dazhi, HUANG Peng
(SPIC Guangxi Electric Power Co., Ltd., Nanning 530022, China)
Abstract:In view of the characteristics of complex process and various work contents of the traditional two-dimensional design method for quarry mining, a three-dimensional dynamic design method for quarry mining based on civil 3D is proposed, including the establishment of the original terrain surface, Kriging interpolation of the stratum drilling data, the establishment of the stratum curve surface, the calculation and analysis of quarry mining volume, and the excavation design of quarry slope, coordinate data extraction of the opening line of the quarry slope. The model established by this method has dynamic correlation attributes and can be updated dynamically according to the changes of design parameters. The engineering application shows that this method can simplify the design process, improve the design efficiency and accuracy, and meet the requirements of engineering design. The proposed model boundary surface information extraction method based on civil 3D secondary development technology can realize the rapid acquisition of open line construction setting out data from the design model, make the design and construction connect seamlessly, and improve the efficiency of project management.
Key words:exploitation of stone; Civil 3D; 3D dynamic design; Kriging; interpolation fitting; coordinate of opening line; secondary development technology