欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207

一、背景

小伙伴们在进行revit开发时,可能有过滤族的需求。这里的族(Family)不是族类型(FamilySymbol)也不是族实例(FamilyInstance),那么如何过滤呢?

二、思路

不管是在项目环境中,或者嵌套族环境中,使用以下代码即可

//推荐
FilteredElementCollector collector = new FilteredElementCollector(doc);
IEnumerable<Element> eleList = collector.OfClass(typeof(Family))
  • 注意这里我们使用的OfClass方法,不要使用以下方法
//不推荐ElementFilter filter=new ElementCategoryFilter(BuiltInCategory.xxx);IEnumerable<Element> eleList = collector.WherePasses(filter).ToElements();
  • 这种方法只会获得指定BuiltInCategory下的族类型或者族实例
  • 如果我们想获得指定BuiltlnCategory下的所有族,可以使用如下方法
 public static List<Family> FilterFamilyByBuiltInCategory(Document doc,BuiltInCategory builtInCategory){List<Family> result=new List<Family>();//创建收集器FilteredElementCollector collector = new FilteredElementCollector(doc);IEnumerable<Element> eleList = collector.OfClass(typeof(Family)).Where(m => (m as Family).FamilyCategory.Id == new ElementId(builtInCategory));foreach (var ele in eleList){//由于可能会有空族的存在,所以这里需要将其排除掉if (ele.Name!=""){Family family = ele as Family;result.Add(family);}}return result;}

三、注意事项

需要Revit二次开发全流程教学 的朋友可以联系我qq:1056295111
1.我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出BIM相关软件开发以及编程干货
2.欢迎加入BIM行业开发交流1群,获取更多开发资料 群号:711844216

revit二开之获取嵌套族中的子族(过滤族)相关推荐

  1. Revit二开——Revit族“连接件说明“参数的获取

    Revit二开--Revit族"连接件说明"参数的获取 Revit族"连接件说明"参数在项目文档中获取的方法: 1.连接件说明参数 如下图所示(参数值为 aaa ...

  2. revit二开之过滤族(Family)

    一.背景 小伙伴们在做revit二开时,可能会有过滤族(Family)的需求,如何实现呢? 二.方法 通过以下代码,就可以过滤出指定FamilyName的族了. var famType = new F ...

  3. Revit二开--复制视图裁剪

    Revit二开–复制视图裁剪 在Revit使用过程中, 当我们想要把视图的裁剪范围调整为相同的大小和位置的时候,手动操作很难达到我们想要的结果,只能调整的尽可能的相似.还有人说可以事先调整好裁剪范围然 ...

  4. Revit二开--批量修改视图范围(revit宏)

    Revit二开–批量修改视图范围 团队协作建模过程中,中心文件的样板视图范围不满足你的需求怎么改, 方法一创建一个样板,把所有的目标视图应用样板即可. 方法二使用revit宏命令 遍历文档中的视图 然 ...

  5. Revit二开-设备连接(以消火栓为例)

    #Revit二开-设备连接(以消火栓为例) 在Revit建模过程中,系统自带的设备连接功能往往让我们对其又爱又恨,爱其自动连接,省掉了好几步操作,恨其傻缺无比,不解风情,不懂我们的想法和需要.例如消火 ...

  6. Revit二开——翻转喷头

    Revit二开--翻转喷头 Revit绘制喷淋时,有时需要翻转喷头调整喷头的方向,有的插件已经有此功能,不过是收费的,今天分享一下这个功能的实现思路及源代码. 实现过程: 1.通过喷头递归找到喷头连接 ...

  7. 金蝶二开笔记-在付款单据中获取科目余额表的数据

    二开中的一个需求,要在付款单页面获取科目余额表中的期末余额.刚开始接触金蝶财务系统,不懂里面的逻辑,换一种方式来获取到想到的数据. 通过金蝶自带的webapi接口.来获取科目余额表中的数据. 注意事项 ...

  8. revit二开之关联族参数的实现

    一.背景 小伙伴们在revit二次开发时,可能需要将子族的参数关联到其所在的嵌套族,那么如何实现呢? 二.思路 先明白三件事: 1.子族在嵌套族中是以FamilyInstance的状态存在的 2.关联 ...

  9. Revit二开 批量链接模型

    往往有时候提交项目需要整合各专业的模型,需要链接模型,模型太多不想一个个点,可以批量插入链接模型或重新载入模型,下面直接上代码: MagicTools批量链接功能: 载入模型用到 OpenFileDi ...

最新文章

  1. 同事说,我写Java代码像写诗
  2. 聊聊rocketmq的BrokerHousekeepingService
  3. linux 关闭开机 ftp,解决linux ftp匿名上传、下载开机自启问题
  4. C#-Home / 详解Asp.Net Sql数据库连接字符串
  5. php mysql记录用户行为_PHP实现用session来实现记录用户登陆信息
  6. 拯救颓废假期!快来和我们一起刷论文写笔记
  7. a卡显存测试软件_官方游戏性能堪比RTX 3080 苏姿丰:RX 6000 Big Navi是史上最强A卡...
  8. 基于jquery类库的绘制二维码的插件jquery.qrcode.js
  9. python之序列化与反序列化用法介绍json、pickle
  10. 什么样的人不适合互联网创业
  11. 手把手教你利用微软的Bot Framework,LUIS,QnA Maker做一个简单的对话机器人
  12. JSP作业5:servlet应用--图片验证码
  13. c++ protected 访问限定
  14. 软件基本功:避免难度写法,代码简单易懂才是高手
  15. 进销存web源码 php,PHP网络版进销存源码WEB进销存源码
  16. matlab交流电路仿真,单相交流调压电路Matlab仿真
  17. 2023东华大学计算机考研信息汇总
  18. python数据库编程dbf_dbf文件怎么打开(python读写dbf数据库)
  19. C语言练习9—统计单词中字母个数
  20. windows 操作系统安全运维所考虑的安全基线内容

热门文章

  1. java.lang.IllegalStateException: Migration didn‘t properly handle
  2. uni-app注册自动获取短信信息
  3. R语言ggplot2可视化在轴标签中添加上标(Superscript)和下标(subscript)实战
  4. Pandas入门超详细教程,看了超简单
  5. OneClock 不息屏的极简时钟,不仅仅是翻页时钟那么简单!
  6. 超声检测的不同扫描方式
  7. Jmeter01 -mac下的安装
  8. 上传截断_文件上传路径截断实例
  9. php实现文本替换,php如何实现汉字替换
  10. 春节高并发抢红包的技术升华综合实战(Node.js)