下载app免费领取会员
本次跟大家分享的内容是如何将地理信息数据呈现在revit中,换言之,项目周边地形数据不再需要自己一个个绘制,而是可以通过网上下载地图地理信息直接导入生成,解决的技术问题就是对于大场景周边建筑及道路的生成。本功能的实现是通过Elk软件包将GIS数据从OpenStreetMap引入Dynamo,从而将地图数据映射到Revit。

这是IE小文发布以来,我见过最简洁的标题......
Elk目前有两个主要组成部分:OSM和地形。
首先,我在openstreetmap.org导出并下载一部分地图。(当然,如果你有发现更为好用的网站下载更为详细的地理信息数据则更好)
Osm文件的数据结构大致如下所示,大致包含点位,范围边界等内容。
1.我们首先来看第一个节点OSM.Location,坐车载入的是文件位置,于是我们得到OSM,XML,Loc三个数据(point点位信息,路径信息以及范围坐标),代表的意义如下图所示。
2.SubFeatures,我们从OSM文件中提取我们需要的建筑类型,这里我们可以选择5building去生成实体,也可以采用连接字符串的方式提取building。({}代表所有类型)
3.OSM.OSMData,我们由上个节点select所得到的point值,可以用polygon形成各个建筑物轮廓,用polycurve生成道路。这里出现警告提示的原因是因为有些建筑的数据只有一两个point,无法形成多边形。但这个不会影响我们的生成结果,可以不去管他们。
当然,如果你想去除警告,可以从数组中删除掉三个点以内的数据,操作如下,我是用的pythonscript节点去除不满足要求的point,这样,警告就会消失(其实警告也不会影响我们的生成结果,可以不管)。
4.接下来,利用Curve.ExtrudeAsSolid将形成的轮廓拉升高度即可,如果地图所带的数据中有建筑物的高度则提取其高度即可,这里我任意生成了相应数量的数组来模拟建筑高度,结果如下图所示。
5.最后一步,将形体载入模型中,我们通常会用ImportInstance.ByGeometry,但是载入形成一个整体,且没有材质信息,无法修改,这里我们建议使用spring的Springs.FamilyInstance.ByGeometry节点。

文章来源:因恒科技
仅作分享交流,文章著作权归原作者所有。
转载请注明来源本文地址:https://www.tuituisoft/bim/19993.html
上一篇:没有了
下一篇:没有了