Revit中如何通过柱子找到他连接的所有墙?
来源:互联网 发布:恶搞拍照软件 编辑:程序博客网 时间:2024/04/29 12:45
问题:如何通过柱子找到他连接的所有墙?
柱子和墙之间的关系无法直接通过API来获得,只能通过相交过滤间接来获得。
你可以直接用 ElementIntersectsElementFilter 或ElementIntersectsSolidFilter 这两个过滤条件类来实现。
这两个类的用法请参考RevitAPI.chm文档。
ElementIntersectsSolidFilter需要你给定一个Solid,然后就会找到与指定Solid相交的其他构件。
示例代码如下:
// Find intersections between family instances and a selected elementReference reference = uidoc.Selection.PickObject(ObjectType.Element, "Select element that will be checked for intersection with all family instances");Element element = doc.GetElement(reference);GeometryElement geomElement = element.get_Geometry(new Options());Solid solid = null;foreach (GeometryObject geomObj in geomElement){ solid = geomObj as Solid; if (solid != null) break;}FilteredElementCollector collector = new FilteredElementCollector(doc);collector.OfClass(typeof(FamilyInstance));collector.WherePasses(new ElementIntersectsSolidFilter(solid)); // Apply intersection filter to find matchesTaskDialog.Show("Revit", collector.Count() + " family instances intersect with the selected element (" + element.Category.Name + " id:" + element.Id + ")");
如此类推,你可以获取柱子的Solid,传给ElementIntersectsSolidFilter的实例来获取与柱子相交的构件,过滤出墙即可。
作者:叶雄进, Autodesk特聘二次开发咨询专家, 橄榄山软件首席研发
转载请注明原文出处:http://blog.csdn.net/joexiongjin/article/details/41090861
0 0
- Revit中如何通过柱子找到他连接的所有墙?
- Revit开发之通过墙的位置线和柱子的位置点进行旋转
- Revit开发通过轴网创建柱子
- revit二次开发之找到与管道连接的连接器名称
- 过滤Revit文件中所有的构件
- Revit 中如何通过程序, 如何来控制插入门的方向?
- Revit中如何通过API获取对象的位置坐标和旋转角度
- 给一个unitid找到他所有的父系单位id
- C# revit二次开发 一条语句找到所有的某种实例(一)
- C# revit二次开发 一条语句找到所有的某种实例(二)
- 如何在excel中完成 双纵坐标 柱状图的绘制 (柱子重叠的解决方法)
- 如何通过view找到所在的controller
- 改变ireport中柱状图的柱子宽度
- unity初级入门:如何找到unity中支持的所有事件
- 如何在linux系统中配置resin查询他的线程连接池
- MyEclipse中如何通过一个类名找到它所属的jar包
- 在myeclipse中如何通过jsp页面找到对应的java类文件
- Revit API遍历全部风管,找到与风管相关的墙开洞(向量计算)
- linux的同步与互斥
- 归并排序 递归法 C语言 实现
- 堆和栈的区别
- OpenStack Eventlet
- 如何看懂别人的项目代码
- Revit中如何通过柱子找到他连接的所有墙?
- 浅析JAVA设计模式之工厂模式(三)
- android安装时出现的几个问题
- 图文教程:Win7增加C盘容量及对分区再分区(一个盘分两个盘)
- 三角形的判断
- 1015. Reversible Primes (20)
- unix进程间的通信方式
- js继承
- 使用Eclipse+httpClient+Jsoup读取网页数据-初级