Revit二次开发_快速显示隐藏剖面框
2018-01-08 22:14
387 查看
难得不用加班,闲下来写两行代码。
最近遇到一种状况需要经常切换剖面框的可见性,于是想将剖面框的显示与隐藏做成一个按钮,方便切换。
其他类似元素想做成快速切换可见性应该可以使用类似做法。
这次的隐藏对象是剖面框,所以我直接就隐藏元素了。
以下核心代码:
View activeView = uidoc.ActiveView;
//过滤剖面框
FilteredElementCollector elemCollector = new FilteredElementCollector(doc);
elemCollector.OfCategory(BuiltInCategory.OST_SectionBox);
Element sectionBox = null;
//找到当前视图中可以隐藏的剖面框
foreach(Element e in elemCollector)
{
if (e.CanBeHidden(activeView))
{
sectionBox = e;
continue;
}
}
List<ElementId> sectionBoxIds = new List<ElementId>();
sectionBoxIds.Add(sectionBox.Id);
using(Transaction tran=new Transaction(doc, "快速隐藏工具"))
{
tran.Start();
//判断当前视图中剖面框是否被隐藏
if (sectionBox.IsHidden(activeView))
{
//取消隐藏
activeView.UnhideElements(sectionBoxIds);
}
else
{
//隐藏
activeView.HideElements(sectionBoxIds);
}
tran.Commit();
}
最近遇到一种状况需要经常切换剖面框的可见性,于是想将剖面框的显示与隐藏做成一个按钮,方便切换。
其他类似元素想做成快速切换可见性应该可以使用类似做法。
这次的隐藏对象是剖面框,所以我直接就隐藏元素了。
以下核心代码:
View activeView = uidoc.ActiveView;
//过滤剖面框
FilteredElementCollector elemCollector = new FilteredElementCollector(doc);
elemCollector.OfCategory(BuiltInCategory.OST_SectionBox);
Element sectionBox = null;
//找到当前视图中可以隐藏的剖面框
foreach(Element e in elemCollector)
{
if (e.CanBeHidden(activeView))
{
sectionBox = e;
continue;
}
}
List<ElementId> sectionBoxIds = new List<ElementId>();
sectionBoxIds.Add(sectionBox.Id);
using(Transaction tran=new Transaction(doc, "快速隐藏工具"))
{
tran.Start();
//判断当前视图中剖面框是否被隐藏
if (sectionBox.IsHidden(activeView))
{
//取消隐藏
activeView.UnhideElements(sectionBoxIds);
}
else
{
//隐藏
activeView.HideElements(sectionBoxIds);
}
tran.Commit();
}
相关文章推荐
- Revit二次开发之“显示或隐藏视图中的元素”
- 度量快速开发平台:网格部件焦点行数据实现窗体功能的显示与隐藏控制
- Revit二次开发之“显示或隐藏视图中未选中的元素”
- 【方正快速开发平台】如何显示格式中UIScript隐藏按钮(JAVASCRIPT)
- Revit二次开发之“显示或隐藏视图中选中的元素”
- 度量快速开发平台:网格部件焦点行数据实现窗体功能的显示与隐藏控制
- Revit二次开发之“显示或隐藏视图中未选中的元素”
- 安卓开发中的双日期选择控件(可隐藏日,只显示年月)
- Android开发之实现滑动RecyclerView,浮动按钮的显示和隐藏(二)
- 显示和快速隐藏Mac桌面所有图标
- mac下Finder寻找文件,显示隐藏文件,快速前往文件夹
- Mac OS X 系统下快速显示隐藏文件的方法(使用Automator创建workflow)
- C#开发微信 二维码鼠标滑动 图像显示隐藏效果(推荐)
- 安卓开发中的双日期选择控件(可隐藏日,只显示年月)
- Android开发:快速显示提示信息机…
- .Net语言 APP开发平台——Smobiler学习日志:如何快速实现类似于微信的悬浮显示二维码效果
- sql server 2012 报表开发(5) reporting service 动态显示和隐藏列
- iOS开发——状态栏隐藏与显示statusBar
- iOS开发 之 navigationbar 与 tabbar 的显示与隐藏
- 快速开发平台ES2007(3.5版本)web5秒后自动隐藏top