你好,游客 登录
背景:
阅读新闻

如何编程发现钢筋的碰撞和相交 - 我爱Revit —— 应用与二次开发专栏

[日期:2013-03-19] 来源:  作者: [字体: ]


问题:

现在在做一个钢筋冲突检测的功能,想判断当前项目中与指定钢筋发生冲突的对象的集合。

 我查阅了API ,找到两个过滤器可用来判断相交,ElementIntersectsElementFilter和ElementIntersectsSolidFilter。但是这两个方法都不适用于钢筋对象,因为钢筋的Geometry属性无法返回solid对象。


请问还有没有别的API可以实现钢筋的冲突检测?如果没有,不知道有没有别的什么方法或者建议,谢谢!

软件环境:Revit Structure 2012 简体中文版。 开发环境:VS 2010 (C#)


答:

Revit2013 以及之前的版本都没有提供直接的API用于钢筋的碰撞检查。 下面介绍一个应该可行的办法的思路。


有一个替代办法可以来获取钢筋的Solid。 钢筋是一个有粗细的条状对象,可以采用拉伸的办法模拟出钢筋的solid。拉伸路径可以从Rebar.GetCenterlineCurves()获取,截面时圆形,半径直接用钢筋的半径。
调用GeometryCreationUtilities.CreateExtrusionGeometry()函数来实现生成几何体的拉升。然后用这个solid,使用ElementIntersectsSolidFilter过滤器来判断与其它对象的相交关系。






收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻