近来接手一个管廊的项目,做综合管廊的运维模型。需求也比较简单:放设备和加编码。
这里布置设备和加编码分别提供3种方法和2种方法供小伙伴们参考:
一、布置设备
-
使用插件布置
-
手动提取设备坐标点
-
使用LinkDWG节点包获取设备坐标点
二、加编码
1.手动提取分区信息
2.使用LinkDWG节点包获取分区信息
(某项目管廊内部)
布置设备
1.使用插件布置
红瓦的建模大师提供了很好的解决方案,识别图块就能完成设备的一键转化。
通过测试发现,插件转化设备有两点是非常赞的:一是不需要处理cad图块的插入点的问题,放置的设备就在图块图形的附近;二是对于线性设备(如灯具),无需处理设备放置后的旋转问题,自动根据图块的方向做了调整。
2.手动提取设备坐标点
这种方法主要思路就是利用cad数据提取功能提取图块(Block)的插入点坐标到Excel,再从Excel读取坐标数据在Dynamo中依点布置族实例。由于部分块参照的插入点远离图块图形,需要使用CAD外部程序,将图块的插入点改到图形本身附近,以保证设备布置在平面位置上的准确性。
改块基点:
提取数据:
整理数据:
将每种设备坐标数据整理到各自工作表中
读取坐标数据,布置设备,旋转实例:
3.使用LinkDWG节点包获取设备坐标点
这种方法与上面的手动提取数据原理上一样,只是形式不同。
这种方法前置的位置坐标数据输出与整理的工作直接交由节点包处理,布置实例则花了不到一分钟的时间。
后两种方法的数据提取,需保证在CAD中的坐标与Revit中对应,才能保证放置的实例的位置正确,图纸处理方法和LinkDWG的使用方法可参考Dynamo助力机电翻模(一)。三种方法各有优劣,可根据实际情况各取所需。
设备编码
设备编码上需要携带项目名称、专业、系统、舱室、防火分区、设备名称、实例编号信息
而防火分区的划分是一刀切式的,燃气舱的分区又与综合舱和电力舱的分区错开划分。
按照防火分区进行编码的主要思路是:将类型名称改为携带系统、设备名称的信息以通过类型名称读取该信息,在CAD中根据防火分区做闭合的多段线(Polygon),将多段线进行拉伸成BOX,再判断设备的位置(Point)与BOX判断是否相交以确定设备所在的防火分区,再统计实例个数赋予编号信息。
一开始走了不少弯路,是通过在Revit中以模型线的方式做多段线,这种方法虽然也能达到目的,但在实施的过程中却发现越到后面做模型线时Revit的相应速度越慢,每画一笔软件都要转圈响应等待,效率非常低。后来才转变思路在CAD中以更快速、轻量的方式做出防火分区闭合的多段线。
-
手动提取分区信息
运行效果:
2.使用LinkDWG节点包获取分区信息
使用LinkDWG节点包则又省去了前面手动导出多段线点坐标数据到Excel的工作。
完整程序:
运行效果:
测试过程中获取项目中所有实例的方法最初使用的是自带的All Elements In Active View节点,由于此节点在实例过多时运行效率很低,优化为使用Orchid节点包中的获取当前文档中所有可载入族的方法,再得到族类型和族实例,大大提高了程序执行效率。
由于拿到的管廊土建模型数据有限,故本文未在放置设备时Z方向上做探讨。
欢迎阅读,分享,交流,批评指正。
如转载请注明出处,否则追究法律责任(说说而已,全靠自觉)。
评论0