问题:
现在在做一个钢筋冲突检测的功能,想判断当前项目中与指定钢筋发生冲突的对象的集合。 我查阅了API ,找到两个过滤器可用来判断相交,ElementIntersectsElementFilter和ElementIntersectsSolidFilter。但是这两个方法都不适用于钢筋对象,因为钢筋的Geometry属性无法返回solid对象。
请问还有没有别的API可以实现钢筋的冲突检测?如果没有,不知道有没有别的什么方法或者建议,谢谢! 软件环境:Revit Structure 2012 简体中文版。 开发环境:VS 2010 (C#)
答: Revit2013 以及之前的版本都没有提供直接的API用于钢筋的碰撞检查。 下面介绍一个应该可行的办法的思路。
有一个替代办法可以来获取钢筋的Solid。 钢筋是一个有粗细的条状对象,可以采用拉伸的办法模拟出钢筋的solid。拉伸路径可以从Rebar.GetCenterlineCurves()获取,截面时圆形,半径直接用钢筋的半径。
调用GeometryCreationUtilities.CreateExtrusionGeometry()函数来实现生成几何体的拉升。然后用这个solid,使用ElementIntersectsSolidFilter过滤器来判断与其它对象的相交关系。
转载请复制以下信息:
原文链接: http://blog.csdn.net/joexiongjin/article/details/8690989
作者: 叶雄进 , Autodesk ADN
|