地下室车道、车位的净高控制 是机电管综项目的重点之一
之前有群友问到,能不能开发个车位净高分析的插件
点击加群与歌手互动
jq.qq.com
本文对插件思路可行性进行测试
测试环境 Revit2016 + VS2017
单个车位测试:
实现代码:
实际运行环境:
模型准备:深化完成的机电模型,默认2.4m净高的车位模型
在机电模型中运行插件——框选链接模型中的车位族——程序遍历每个车位族,进行碰撞检测——检测到有碰撞时,记录车位编号&Id——导出数据
Jeremy关于ElementIntersectsElementFilter和BoundingBoxIntersectsFilter的快慢对比
The building code
thebuildingcoder.typepad.com
图标
进一步探索功能
1.在机电模型检测出编号001的车位净高不足时,API后台打开链接的车位模型文档,将001车位族的族类型修改为低100mm的那个,保存并重新链接,再进行检测净高,重复执行,直到满足净高。
直接得到下图效果:
参考叶雄进这篇博客:
用API能否修改Revit链接模型
blog.csdn.net
2.程序将车位的净高数据导出Excel,自动生成表格进行汇总统计
需要注意的
法兰/卡箍接口的管件,会对其boundingbox的范围有直接影响.
面贴合的情况(如图1第二根风管),也会被计入碰撞.
遇到的问题
如果车位族只是简单的模型线+模型文字的情况,可以获取四个顶角,创建一个临时的solid,再获取其boudingbox来进行碰撞检测
参考大气象的这篇文章:
Revit API创建几何实体Solid并找到与之相交的元素
www.cnblogs.com
总结
到此,可以证明此思路的可行性,所以后期应该会写出来
另外,后面可能会做车位族翻模的功能,翻模…
…
最后,想第一时间获取插件,欢迎加群交流!
关于歌手