一、引言
在道路建模中,我们往往会遇到下图这种情况,某段里程道路边坡为A值,另一段里程道路边坡为B值,两里程中间边坡是一个渐变过程,边坡从A值过渡到B值,Civil 3D自带部件无法处理这种情况,需要采用部件编辑器进行定制编辑。
二、案例详解2.1
思路分析
自定义部件时,一定要先对编辑思路进行整理,才能事半功倍。对于过渡边坡段,已知起始桩号、起始坡度、终点桩号、终点坡度参数,要对过渡区域内某一桩号处的坡度进行确定,结合下图,利用相似三角形原理,通过计算就可以得出当前桩号处的坡度。
2.2参数设置
为方便后续部件导入Civil 3D中进行测试和修改,实现参数化编辑。在部件编辑起始对起始坡度、终点坡度等相关参数进行设定,同时设置曲面逻辑目标,实现放坡到地形曲面。
2.3
API函数及坡度计算
API函数:
baseline.regionStart:获取当前区域起点桩号;
baseline.RegionEnd:获取当前区域终点桩号;
baseline.station:获取基准路线上的当前桩号。
坡度计算:
根据已知参数,利用API函数,如下图进行编程,对当前桩号坡度进行计算,使边坡随着当前桩号的变化而变化,从而实现过渡边坡。
PositionInRegion=baseline.station-baseline.regionStart(当前长度)
RegionLength=baseline.RegionEnd- baseline.regionStart(区域长度)
SlopeDifference=Endslope-Startslope(坡度差值)
CurrentSlope=StartSlope+(PositionInRegion/RegionLength)*SlopeDifference(当前坡度)
需要强调,这里计算以递增为例,在递减情况下,原理不变,但相关算式有所改变。
2.4
绘制边坡及代码添加
完成计算就可以对边坡进行绘制,添加相应的点元素、线元素,将坡度参数设置为上一步中计算出来的当前坡度,实时关联,这样就实现了坡度根据桩号变化实时渐变。
同时,添加必要的点代码、连接代码,方便后续部件导入Civil 3D中的信息提取、样式控制及相关标注。
2.5部件测试
编写完成的部件必须导入至Civil 3D中进行测试检验,通过不断调整纠错,生成道路进行检验。部件导入后效果如下:
三、总结
部件编辑器通过编写流程图的方式,通过添加点、连接、造型图元,辅以API函数,能够巧妙解决建模过程中遇到各类复杂多变的断面,如渐变挡土墙、路面宽度变窄等。通过参数化定制部件,实现道路的精准建模,为后续模型信息提取、土方计算和工程量提取提供基础数据支撑。
中国 | 其它专业
3 关注
653 粉丝
100 发帖
93 荣誉分
∨
简介
二维码(建议尺寸80*80)