EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 817|回复: 7
打印 上一主题 下一主题

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

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12406

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-15 14:04:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

问题:


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

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


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对

相关帖子

工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言

13

主题

730

帖子

1691

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1691
2F
发表于 2014-2-14 10:15:58 | 只看该作者
顶...... 楼下跟上.....

7

主题

865

帖子

1435

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1435
7F
发表于 2014-2-19 14:55:38 | 只看该作者
路过!!! 不发表意见……

17

主题

877

帖子

1517

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1517
8F
发表于 2014-2-20 14:04:27 | 只看该作者
顶...... 楼下跟上.....
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-27 10:04

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表