![autodeskrevit2016二次开发入门教程第四章图元过滤_第1页](http://file4.renrendoc.com/view/127a6dfe4c8695ad62cafc11bde331e2/127a6dfe4c8695ad62cafc11bde331e21.gif)
![autodeskrevit2016二次开发入门教程第四章图元过滤_第2页](http://file4.renrendoc.com/view/127a6dfe4c8695ad62cafc11bde331e2/127a6dfe4c8695ad62cafc11bde331e22.gif)
![autodeskrevit2016二次开发入门教程第四章图元过滤_第3页](http://file4.renrendoc.com/view/127a6dfe4c8695ad62cafc11bde331e2/127a6dfe4c8695ad62cafc11bde331e23.gif)
![autodeskrevit2016二次开发入门教程第四章图元过滤_第4页](http://file4.renrendoc.com/view/127a6dfe4c8695ad62cafc11bde331e2/127a6dfe4c8695ad62cafc11bde331e24.gif)
![autodeskrevit2016二次开发入门教程第四章图元过滤_第5页](http://file4.renrendoc.com/view/127a6dfe4c8695ad62cafc11bde331e2/127a6dfe4c8695ad62cafc11bde331e25.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Autodesk®Revit2016
二次开发入门教程
第4课时
第四章图元过滤第一节周婧祎北京谷雨时代教育科技有限公司上海比程信息科技有限公司上节回顾元素基础如何获取元素元素与元素类型元素的属性与重要方法元素参数概念与实例010304应用过滤器快速过滤器QuickFilter
本章内容05实例练习02元素收集器FilterElementCollector元素过滤器ElementFilter慢速过滤器SlowFilter
0607逻辑过滤器LogicalFilter01元素过滤器注意:无论应用的条件和过滤器的顺序是什么,Revit内部会对过滤器重新排序来减少元素的展开。RevitAPI提供了元素过滤器,用来遍历元素以及元素的ID.这些过滤器为各种不同的应用程序获取元素提供了更灵活更实用的接口。元素过滤器是一个检验一个元素是否符合某种标准的类。它被分为三个层次:
快速过滤器(Quickfilters)只检查记录的元素并防止元素在内存中展开。这种过滤器可以提高迭代的效率并减少内存的消耗慢速过滤器(Slowfilters)先在内存中获取和展开元素,再进行查询,因此在效率上会比较低。推荐的方法是慢速过滤器和快速过滤器结合起来用,这样会减少展开元素的数量。逻辑过滤器(Logicalfilters)由两个及以上的过滤器逻辑组成的过滤器01元素过滤器•查找、过滤、遍历元素。•基于Document;支持特定View和元素集•支持Filter及复杂的组合Filter。•Shortcut方法,快速返回。•支持集合的合并。·Quickfilters快速过滤器–
快速查找过滤器:性能好,内存占用低。·Slowfilters慢速过滤器–
性能较差,耗时多,内存占用多。·Logicalfilters逻辑过滤器–
多个过滤器的组合。02元素收集器用来迭代以及过滤元素的主要类是收集器,它有三种构造方式(如下图),可根据具体情况使用任意一种。收集器的三种构造函数构造函数描述FilteredElementCollector(Documentdocument)从一个文档构造,迭代会从文档所有的元素进行FilteredElementCollector(Documentdocument,Icollection<ElementId>elementIds)从一个文档和ElementID集合构造,迭代会从这传进来的集合中进行FilteredElementCollector(Documentdocument,ElementIdviewId)从一个文档和一个视图构造,迭代会从所有在传进来的视图中所见的元素中进行02元素收集器public
class
FilteredElementCollector
:
IEnumerable<Element>LINQpublic
static
class
Enumerable
{
public
static
IEnumerable<TSource>
Where<TSource>(this
IEnumerable<TSource>
source,
Func<TSource,
bool>
predicate);
public
static
IEnumerable<TSource>
Where<TSource>(this
IEnumerable<TSource>
source,
Func<TSource,
int,
bool>
predicate);}扩展函数FilteredElementCollector
collector
=
new
FilteredElementCollector(RevitDoc);ElementClassFilter
classFilter
=
new
ElementClassFilter(typeof(Wall));collector
=
collector.WherePasses(classFilter);var
basicWalls1
=
from
element
in
collector
let
wall
=
element
as
Wall
where
wall.WallType.Name
==
"基本墙"
select
wall;var
basicWalls2
=
collector.Cast<Wall>().Where(wall
=>
wall.WallType.Name
==
"基本墙");
LINQ扩展函数03应用过滤器过滤操作的步骤:1.新建FilteredElementCollector实例·varcoll=newFilteredElementCollector(_doc);2.添加过滤条件·coll.WherePasses(newElementClassFilter(typeof(Wall)));3.访问满足条件的对象·IList<Element>walls=wallTypeCollector1.ToElements();RevitAPI开发论坛
Revit开发帮助Revit开发讨论帖
Revit开发讨论中国BIM论坛
Revit开发源码下载Autodesk,Asia,Pte,Ltd.AutodeskRevit二次开发基础教程[M].上海市四平路1239号:同济大学出版社,2015.1-37参考文献贾合丰.
2016Autodesk最新开发计划培训课程资料贾合丰.
Revit开发进阶(基本篇2)谢谢观看!Autodesk®Revit2016
二次开发入门教程
第5课时
第四章图元过滤第二节周婧祎北京谷雨时代教育科技有限公司上海比程信息科技有限公司上节回顾元素过滤器ElementFilter元素收集器FilterElementCollector应用过滤器010304应用过滤器快速过滤器QuickFilter
本章内容05实例练习02元素收集器FilterElementCollector元素过滤器ElementFilter慢速过滤器SlowFilter
0607逻辑过滤器LogicalFilter04快速过滤器1)ElementCategoryFilterElementCategoryFilter是使用类别Category来查询元素的过滤器。·支持Element及ElementType·共有900+OST_DoorOST_Column….·快捷方法:OfCategory/OfCategoryId04快速过滤器2)ElementClassFilterElementClassFilter是使用类来查询元素的过滤器,它将会精确匹配传入的类或者该类的子类。通用的按元素类进行查找可替代其他Filter:·Room/Area/Space/…Filter·快捷方法:OfClass
注意例外!04快速过滤器3)ElementIsElementTypeFilterElementIsElementTypeFilter是用来匹配元素类型的过滤器,可以过滤出文档中所有的元素类型的元素或者过滤出所有非元素类型的元素。·快捷方法:WhereElementIsElementType WhereElementIsNotElementType04快速过滤器4)ExclusionFilterExclusionFilter是自动排除元素集的过滤器。·快捷方法:Excluding04快速过滤器5)FamilySymbolFilterFamilySymbolFilter是使用传入的族来得到其所有族类型的过滤器。04快速过滤器
常用子类:·Category·Class·CurveDriven·ElementType·OwnerView·Workset·FamilySymbol·BoundingBox·…05慢速过滤器1)ElementLevelFilterElementLevelFilter是使用关联的标高(Level)来匹配其关联或不关联的元素。05慢速过滤器2)ElementParameterFilterElementParameterFilter是使用一个或者多个参数过滤规则来匹配元素的过滤器·元素参数精确匹配·FilterRule的用途·ParameterFilterRuleFactory构造各种Rule·四种参数类型!·==,!=,>=,<=,>,<,…05慢速过滤器3)FamilyInstanceFilterFamilyInstanceFilter是使用族类型来匹配对应族实例元素的过滤器。05慢速过滤器4)CurveElementFilterCurveElementFilter是匹配线型元素的过滤器。如果想要找模型线、参考线等线型元素,使用这个过滤器会比较方便。05慢速过滤器
常用子类·CurveElement·Room/Area/Space·FamilyInstance·XXXUsage·ElementIntersect·ElementParameter·…06逻辑过滤器1)LogicalOrFilterLogicalOrFilter是过滤器的逻辑或集合,可以查找匹配符合任意一个过滤器条件的元素。2)LogicalAndFilterLogicalAndFilter是过滤器的逻辑与集合,可以查找匹配符合所有过滤器条件的元素。其他更多FilterRevitAPI开发论坛
Revit开发帮助Revit开发讨论帖
Revit开发讨论中国BIM论坛
Revit开发源码下载Autodesk,Asia,Pte,Ltd.AutodeskRevit二次开发基础教程[M].上海市四平路1239号:同济大学出版社,2015.1-37参考文献贾合丰.
2016Autodesk最新开发计划培训课程资料贾合丰.
Revit开发进阶(基本篇2)谢谢观看!Autodesk®Revit2016
二次开发入门教程
第6课时
第四章图元过滤第三节周婧祎北京谷雨时代教育科技有限公司上海比程信息科技有限公司章节回顾元素过滤器ElementFilter元素收集器FilterElementCollector如何应用过滤器快速过滤器QuickFilter慢速过滤器SlowFilter逻辑过滤器LogicalFilter010304应用过滤器快速过滤器QuickFilter
本章内容05实例练习02元素收集器FilterElementCollector元素过滤器ElementFilter慢速过滤器SlowFilter
0607逻辑过滤器LogicalFilter实例练习1:元素过滤ElementFilter(1)在范例图中计算过滤出所有型号为1200*1500mm,且标记为小于5的窗数量。识别并计算门窗总和。·FilteredElementCollector的使用·QuickFilter及SlowFilter·ElementParameterFilter·LogicalFilter实例练习2:元素过滤ElementFilter(2)·
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度国际快递运输与时效跟踪服务合同
- 2025年度屋顶租赁合同附屋顶广告权益共享协议
- 2025年度时尚女鞋品牌全国代理权购买合同样本
- 培养学生团队合作能力的美术教学计划
- 激活团队潜力的成功经验计划
- 学校年度班级工作计划表目
- 区域仓库布局的设计原则计划
- 2025年港物运输项目合作计划书
- 主管的职业素养与榜样作用计划
- 2025年激光转速测量仪项目建议书
- 视频会议室改造方案
- 2024年新人教版七年级上册历史全册课件 第1课 远古时期的人类活动
- 北师大版二年级数学下册全册10套试卷(附答案)
- 数字出版概论 课件 第六章 数字内容加工、管理技术
- 【中考真题】广东省2024年中考语文真题试卷
- 糖尿病并发症的早期筛查
- GB/T 32399-2024信息技术云计算参考架构
- 初中体育与健康 初二 水平四(八年级)田径大单元教学设计+快速跑教案
- 2025年湖南省长沙市中考数学模拟试卷(附答案解析)
- 五级人工智能训练师(初级)职业技能等级认定考试题库(含答案)
- 2022年内蒙古呼和浩特市中考化学真题(解析版)
评论
0/150
提交评论