首页 ObjectARX在土石方工程三维设计中的应用

ObjectARX在土石方工程三维设计中的应用

举报
开通vip

ObjectARX在土石方工程三维设计中的应用 &nbsh1;   ObjectARX在土石方工程三维设计中的应用     王大志,黄 鹏 (国家电投集团广西电力有限公司,广西 南宁 530022) 0 引 言 随着近几年BIM(建筑信息模型)技术的兴起,越来越多的工程设计人员开始从二维设计转向三维设计。二维设计大多采用AutoCAD软件。该软件价格便宜、使用方便,且对计算机硬件配置要求较低,提供的二次开发接口便于用户扩...

ObjectARX在土石方工程三维设计中的应用

&nbsh1;

 

ObjectARX在土石方工程三维 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 中的应用

 

 

王大志,黄 鹏

(国家电投集团广西电力有限公司,广西 南宁 530022)

0 引 言

随着近几年BIM(建筑信息模型)技术的兴起,越来越多的工程设计人员开始从二维设计转向三维设计。二维设计大多采用AutoCAD软件。该软件价格便宜、使用方便,且对计算机硬件配置要求较低,提供的二次开发接口便于用户扩展其功能。因此,设计人员多倾向于在AutoCAD上开展土石方工程三维设计。然而,AutoCAD自带的三维内部命令仅能实现最基础的三维设计,例如:规则三维实体的建立、三维实体的简单剖切、绘制符合函数变化规律的三维多段线等;然而土石方工程三维设计涉及的三维实体模型复杂,对三维模型的数据获取要求高,因此,工程设计人员开始使用Civil 3D,Revit,Bentley,CATIA,GEOPAK等功能强大的软件开展土石方工程三维设计,但这些软件存在以下不足:① 价格昂贵,例如一套CATIA软件的使用费约为10万元,而一套AutoCAD软件的使用费仅约0.8万元;② 功能繁杂,熟练掌握软件应用需花费大量精力,且软件中很多功能使用率低;③ 三维设计工作流程繁多、效率低,例如Civil 3D进行复杂的放坡设计时,必须在配套的Subassembly软件上完成放坡截面装配设计,然后将数据输入到Civil 3D以完成后续设计[1];④ 对计算机硬件配置要求高,使用配置较低的电脑运行会出现卡顿;⑤ 核心功能不全,例如Revit的三维路线功能不全,需要使用dynamo插件先建立三维路线,再导入到Revit,而dynamo插件的安装又增加了软件的使用难度[2]。

因此,如果能直接在AutoCAD平台上进行土石方工程三维设计,工程设计人员将不需要花费大量精力去熟悉新的软件,而是把精力多放在设计上;同时,也能提高设计工作效率,带来较大的经济效益。国内仅有少数专家、学者利用AutoCAD平台开展土石方工程三维设计研究,取得了一定成果。周乐韬等[3]建立了地形三维实体和挖方三维实体,并通过布尔运算,得到基坑开挖设计三维实体,实现了基坑开挖的三维设计。李文昌等[4]利用AutoCAD内部命令,采用切割的方式,实现了单级边坡开挖的三维设计。廉杰等[5]利用AutoCAD二次开发技术建立三维实体地形,并通过拉伸挖填实体地形建立辅助三维实体,再通过布尔运算得到设计三维实体。然而,上述研究仅能实现基坑开挖、单级边坡开挖等简单体型的三维设计,未能实现土石方工程量的分类统计及施工控制点坐标的提取。在充分吸取上述研究成果的基础上,采用基于AutoCAD平台的ObjectARX二次开发技术,实现了土石方工程三维设计。

1 ObjectARX三维实体造型技术

ObjectARX是基于AutoCAD平台的二次开发软件包,它生成的ARX应用程序是一个DLL(动态链接库),对AutoCAD直接进行函数调用[6]。ObjectARX可以实现对AutoCAD底层进行二次开发,能够满足不同专业设计人员的开发需求。ObjectARX常用的开发环境为Microsoft visual studio,同时,还需要安装ObjectARX SDK;不同的AutoCAD版本对应不同的ObjectARX SDK版本。

ObjectARX三维实体造型技术包括实体生成、设计和查询[7]。实体生成使用AcDb类和AcGe类的相关函数。实体设计主要靠实体间的布尔运算来实现。布尔运算是数字符号化的逻辑推演法,包括合并、相交、相减[8]。该方法可以将简单的基本图形组合产生新的形体。实体的布尔运算有3种:① 并运算,求两个或两个以上实体的并集,即合并为一个实体;② 交运算,求两个或两个以上实体的交集,即生成实体的公共部分;③ 差运算,将一个实体集从另一个实体集中减去。实体查询是通过相关函数获取实体的信息,包括质量、体积、坐标等。

在实际应用过程中,首先调用AcDb3dSolid类的成员函数初始化三维实体,然后调用booleanOper函数进行布尔运算得到设计三维实体,最后以getSlice和getMassProp函数为基础,构造自定义的函数对三维实体进行剖切和查询,检查设计成果。

2 设计思路

土石方工程三维设计的思路是根据坡比、坡高、马道宽度、方向等设计参数,快速建立设计三维实体。首先,根据地形测量数据和地质钻孔数据建立原始工程地质三维实体。其次,通过设定边坡、基坑、堤坝、沟槽等挖填参数绘制放坡封闭横截面,再生成面域,然后以挖填体的走向线为扫掠路径,通过沿扫掠路径拉伸面域形成辅助三维实体。最后,辅助三维实体和原始工程地质三维实体进行布尔运算,获得设计三维实体。对于上述每个设计步骤,采用ObjectARX技术编制应用程序,进而实现在AutoCAD平台的土石方工程三维设计过程中调用(图1)。

图1 建立设计三维实体流程Fig.1 Processes of establishing a designed 3D solid

3 设计方法

3.1 原始工程地质三维实体建立

采用Delaunay三角剖分法绘制地形三角网曲面[9],如图2所示;利用Surfer软件对地层钻孔数据进行插值拟合,形成三维网格数据文件,并导出为“*.dat”格式,利用ObjectARX二次开发技术编程建立地层三角网面;建立扫掠、放样建模接口函数,沿Z轴拉伸各地层三角网面形成实体,并通过布尔运算生成原始工程地质三维实体模型[10],如图3所示。

图2 基于Delaunay三角剖分的地形三角网面Fig.2 Terrain triangulation based on Delaunay triangulation

图3 原始工程地质三维实体模型Fig.3 3D solid model of original engineering geology

3.2 辅助三维实体建立

3.2.1 走向线绘制

辅助三维实体是由符合坡比、坡高、马道宽度等设计参数约束条件的放坡封闭横截面沿走向线拉伸而形成的三维实体[11]。放坡封闭横截面是一个垂直于走向线的二维封闭图形。该图形靠设计边坡一侧的曲线由多级边坡设计参数确定。走向线是放坡封闭横截面在原始工程地质三维实体上的延伸方向线(图4)。

图4 放坡封闭横截面和走向线关系Fig.4 Relationship between sloping closed cross section and strike line

在建立放坡封闭横截面前,工程设计人员必须根据设计意图绘制出走向线。走向线类似于道路的路线,是一条由三维坐标点(包括X,Y,Z坐标)连接而成的三维多段线(AcDb3DPolyline)。

对于基坑开挖、边坡开挖、堤坝回填等项目,走向线上点的Z坐标一般位于同一高程,可以先在XY平面直角坐标系中绘制一条二维多段线(AcDb2DPolyline),然后将该二维多段线移至设计高程处得到走向线(图5)。

图5 基坑开挖、边坡开挖、堤坝回填项目走向线Fig.5 Strike lines of foundation pit excavation,slope excavation and embankment backfilling projects

对于沟槽开挖项目,走向线上的Z坐标一般不在同一高程,走向线的平面线形(俯视图投影线)和纵面线形(正视图投影线)由设计人员通过计算得出,沟槽开挖项目的走向线如图6所示。因此,沟槽开挖项目绘制走向线的方法是先从平面线形中提取X和Y坐标点,然后从纵面线形中提取Z坐标点,最后将坐标值代入绘图函数,绘制走向线[12],具体步骤如下。

图6 沟槽开挖项目走向线Fig.6 Strike line of trench excavation project

(1) 设置一个步长,从平面线形起点桩号至终点桩号,沿长度方向逐步提取平面线形的X坐标和Y坐标。坐标提取通过AcDbCurve类的“getPointAtDist”函数实现,该函数定义为:

getPointAtDist(double dist,AcGePoint3d& point)

其中,dist为沿曲线输入从曲线的起点桩号至需要定位的点的距离,point返回由dist定位的点。该函数在曲线上确定从曲线起点桩号沿曲线距离为dist的点,并在point中返回这个点。

(2) 按照先前设置的步长,从纵面线形起点桩号至终点桩号,沿长度方向逐步绘制辅助直线,并利用“intersectWith”函数提取辅助直线和纵面线形交点。该交点的Y坐标值即为走向线的Z坐标值,该函数定义为:

intersectWith(AcDbEntity*pEnt,AcDb::Intersect intType,AcGePlane&projPlane,AcGePoint3dArray &points,int thisGsMarker=0,int otherGsMarker=0)

其中,pEnt为与“this”实体相交的输入实体,intType输入要求的交叉点类型,points输出附加的交点,thisGsMarker输入交叉操作中涉及的“this”实体的子实体的GS标记,otherGsMarker输入交叉操作中涉及的pEnt指向的实体的子实体的GS标记。

(3) 将从平面线形和纵面线形提取的坐标值合并,得到走向线的三维空间坐标点并绘制走向线。步长设置得越小,得到的走向线精度越高[13],如图7所示。

3.2.2 放坡封闭横截面绘制

建立辅助三维实体最关键的步骤是根据已确定的走向线绘制放坡封闭横截面。挖方项目和填方项目绘制放坡封闭横截面的方法各不相同,绘制方法如下。

(1) 挖方项目放坡封闭横截面。挖方项目放坡是从设计开挖高程坡脚点,根据坡比、坡高和马道宽度逐级往上放坡。在XY平面直角坐标系中,以坡脚点为原点,根据每级边坡的坡比、坡高、马道宽度等设计参数,逐级确定放坡封闭横截面边界点坐标(图8)。

图7 从平面线形和纵面线形提取坐标点绘制走向线Fig.7 Extracting points from horizontal and vertical alignments and draw strike lines

图8 挖方项目放坡封闭横截面边界点Fig.8 Closed cross section boundary points of cutting project grading

图8中,pt[0]既是坡脚点,也是走向线起点。从原点pt[0]开始,可以按照设计参数确定的约束关系,依次求得边界点坐标值。由于ObjectARX参数化绘图环境为Wcs坐标系,而求得的坐标值是在XY平面直角坐标系(Ucs坐标系)中的值,因此必须调用“acdbUcs2Wcs”函数,将求得的坐标值转换为Wcs坐标系中的值。最后,将转换后的坐标值代入绘图函数,绘制放坡封闭横截面,如图9所示。

图9 挖方项目放坡封闭横截面Fig.9 Closed cross section of cutting project grading

(2) 填方项目放坡封闭横截面。填方项目放坡一般从设计高程回填边缘,根据坡比、坡高和马道宽度逐级往下放坡。以走向线起点为原点,按照设计参数确定的约束关系,依次求得边界点坐标值(图10)。然后,按照挖方项目的方法,对坐标值进行转换后绘图,如图11所示。

图10 填方项目放坡封闭横截面边界点Fig.10 Closed cross section boundary points of filling project grading

图11 填方项目放坡封闭横截面Fig.11 Closed cross section of filling project grading

3.2.3 辅助三维实体的扫掠生成

在AutoCAD平台中,可以利用ObjectARX技术调用“extrudeAlongPath”函数实现扫掠指令,通过沿着指定的路径延伸轮廓形状,绘制出三维实体[14]。在绘制完成放坡封闭横截面后,调用该命令,以挖填体的走向线为扫掠路径,通过沿扫掠路径拉伸面域生成辅助三维实体(图12)。

图12 辅助三维实体建立Fig.12 Creating auxiliary 3D Solids

3.3 设计三维实体建立

三维实体之间的差集、并集和交集可以通过布尔运算函数来实现。对于挖方项目,将原始工程地质三维实体作为求差主体,和辅助三维实体求差集得到设计三维实体。对于填方项目,将辅助三维实体作为求差主体,和原始工程地质三维实体求差集得到设计三维实体(图13)。调用AcDb3dSolid类的“booleanOper”函数可以实现三维实体的布尔运算,该函数定义为

booleanOper(AcDb::BoolOperType operation,AcDb3dSolid*solid)

其中,operation输入布尔运算的类型,可能的类型有AcDb::kBoolUnite,AcDb::kBoolIntersect和AcDb::kBoolSubtract;solid输入指向其他实体的指针,用于执行布尔运算。

生成设计三维实体后,可以采用相关函数对实体进行渲染,得到实体真实效果。Render API是专门实现渲染功能的应用程序包,包括acRender.arx和avlib.lib文件。acRender.arx负责与AutoCAD通信,avlib.lib则包含了与acRender.arx通信的各种编程接口。Render API函数库提供了相应的渲染函数,每个函数能实现特定的渲染功能。

图13 设计三维实体建立Fig.13 Creating a designed 3D solid

3.4 设计三维实体信息查询

3.4.1 挖填设计工程量查询

在建立土石方工程设计三维实体后,需统计挖填设计工程量,为 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 比选、工程造价计算等工作提供依据。

首先,利用“booleanOper”函数求得开挖三维实体或回填三维实体。对于挖方项目,将原始工程地质的各地层三维实体和辅助三维实体分别求交集得到开挖三维实体。对于填方项目,将辅助三维实体作为求差主体,和原始工程地质三维实体求差集得到回填三维实

本文档为【ObjectARX在土石方工程三维设计中的应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
资教之佳
暂无简介~
格式:doc
大小:29KB
软件:Word
页数:15
分类:互联网
上传时间:2023-11-27
浏览量:3