当前位置: 首页 > news >正文

Revit二次开发选择过滤器,SelectionFilter

过滤器分为选择过滤器与规则过滤器
规则过滤器可以看我之前写的这一篇文章:
Revit二次开发在项目中给链接模型附加过滤器

选择过滤器顾名思义就是可以将选择的构件ID集合传入并加入到视图过滤器中,有一些场景需要对某些构件进行过滤选择,但是没有共同的逻辑规则进行筛选的情况下可以选择使用选择过滤器.

下面是我的代码,增加了截面填充突然与实体填充样式设置的代码:

  var selectionFilter = SelectionFilterElement.Create(doc, "OutRange");selectionFilter.SetElementIds(targetElementIds);doc.ActiveView.AddFilter(selectionFilter.Id);var graphics = doc.ActiveView.GetFilterOverrides(selectionFilter.Id);graphics.SetCutBackgroundPatternColor(new Autodesk.Revit.DB.Color(255, 0, 0));graphics.SetCutBackgroundPatternId(PatternId(doc));graphics.SetCutForegroundPatternColor(new Autodesk.Revit.DB.Color(255, 0, 0));graphics.SetCutForegroundPatternId(PatternId(doc));doc.ActiveView.SetFilterOverrides(selectionFilter.Id, graphics);doc.ActiveView.SetFilterVisibility(selectionFilter.Id, true);

获取实体填充PatternId的方法一起传上来:

/// <summary>
///     获取实体填充ID
/// </summary>
/// <param name="document"></param>
/// <returns></returns>
private ElementId PatternId(Document document)
{var collector = new FilteredElementCollector(document);collector.OfClass(typeof(FillPatternElement));var fillPatternElement =collector.First(q => (q as FillPatternElement).GetFillPattern().IsSolidFill) as FillPatternElement;return fillPatternElement.Id;
}

选择过滤器(SelectionFilterElement Class)的API:
在这里插入图片描述

http://www.lryc.cn/news/417452.html

相关文章:

  • 【Linux】进程概念—环境变量
  • 第十二章 Spring MVC 框架扩展和SSM框架整合(2023版本IDEA)
  • js中的全局函数有这些
  • Android SurfaceFlinger——重绘闪烁处理(四十六)
  • 罗马数字转整数 C++
  • Day20_2--介绍同步加载和异步加载
  • sftp做成一个池子
  • 全网最全-Netty从入门到精通
  • C#知识|文件与目录操作:对象的创建、保存、读取
  • 自定义 SwiftUI 中符号图像的外观
  • 循环神经网络和自然语言处理一
  • CSS技巧专栏:一日一例 20-纯CSS实现点击会凹陷的按钮
  • 20240807 每日AI必读资讯
  • 海外社媒账号如何让防关联?账号隔离的5大要点
  • 下一代 AI 搜索引擎 MindSearch:多智能体 + 系统2,模拟人类认知过程的 AI 搜索引擎
  • 一键生成专业PPT:2024年AI技术在PPT软件中的应用
  • Godot学习笔记8——PONG游戏制作
  • 软件RAID配置实战(2个案例场景)
  • # 基于MongoDB实现商品管理系统(2)
  • 国标GB28181视频平台LntonCVS视频融合共享平台视频汇聚应用方案
  • java基础I/O
  • 关于“八股文”在程序员面试中的角色及其对工作实际效用的讨论
  • 【算法设计题】基于front、rear和count的循环队列初始化、入队和出队操作,第6题(C/C++)
  • 端点区间影响
  • Leetcode3224. 使差值相等的最少数组改动次数
  • thinkphp之命令执行漏洞复现
  • 算法板子:匈牙利算法——二分图的最大匹配
  • 轻松拯救数据危机!四大必备的数据恢复软件免费版推荐!
  • windbg常用命令
  • Ubuntu(20.04 LTS)更换镜像源