如何编程发现钢筋的碰撞和相交

来源:互联网 发布:培训行业网络推广方案 编辑:程序博客网 时间:2024/04/27 23:22


问题:

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

 我查阅了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

原创粉丝点击