文章来源:万地科技

    前言

    目前绝大部分地形主要以“等高线”、“高程点”两种数据类型的CAD图面提供,而这两种数据类型中等高线提供的数据精度会比高程点更高。

    邻居:为什么说等高线的精度更高?

    老王:因为等高线上即使是直线也会有很多高程点,所以我们必须对等高线上的点进行优化,删除掉多余的高程点。

    等高线·类型

    高程点·类型

    项目概况

    地形面积 13.55平方公里(1355公顷)

    等高线数量 2017条

    等高线上点数量  6454018点

    难点

    每条等高线上高程点数量都很庞大,有的单条等高线上就有65000个高程点。

    如果用传统的方式获取和生成模型,无疑会给电脑设备带来巨大的荷载问题,有的软件根本无法支撑高程点数量如此庞大的地形模型。

    提取工具

    导出高程点

    文档格式  CSV(逗号分隔)(*.csv)

    数据格式 X+Y+Z

    数据单位 毫米(mm)

    通过Dynamo导入Revit

    创建地形

    1.通过“Data.ImportCSV”读取*.csv文件数据;

    2.处理*.csv文件数据中每行的XYZ坐标值,并合并成新的高程点数列(Point);

    3.使用“Topography.ByPoints”将高程点数列转换为“Topography类型”,再用“Topography.Mesh”获取并显示出地形上的三角网面(到此Revit中即可显示出地形)。

    创建等高线

    1.通过算法判断拆开获取每条等高线上的点,用于生成等高线;

    2.使用“NurbsCurve.ByControlPoints”将以上生成的点转成“NurbsCurve类型”;

    3.设置不同高程值所有覆盖的颜色范围值;

    4.使用“GeometryColor.ByGeometryColor”将每条等高线根据不同的标高覆盖不同的颜色。

    创建高程点族实例

    1.使用“Curve.PointsAtSegmentLengthFromPoint”将每条等高线按10米一段进行拆分,并获取拆分位置点坐标;

    2.使用“FamilyInstance.ByPointAndLevel”在Revit中将每个拆分点坐标处放置高程点族实例;

    3.使用“Element.SetParameterByName”将每个高程点族实例改为对应的高程值;

    4.使用“Element.OverrideColorInView”将每个高程点族实例根据不同的标高覆盖不同的颜色。

    运行Dynamo

    分别测试以下两种数量的地形:

    整体地形高程点数量:701354点

    (预计1.5小时)

    局部地形高程点数量:151194点

    (预计0.5小时)

    具体运算时间电脑配置而定。

    很长一段时间过后

    生成效果

    整体效果

    局部·常规色

    局部·彩色

    高程点·放大

1

评论0

请先
中建三局《施工现场设备管理标准化实施手册(2020版)》
中建三局《施工现场设备管理标准化实施手册(2020版)》
3分钟前 有人购买 去瞅瞅看

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站