Revit二次开发之“显示或隐藏3D视图中的元素“
2011-08-17 11:49
387 查看
判断3D视图{3D}
//显示或隐藏3D视图中的元素
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
//[Journaling(JournalingMode.NoCommandData)]
public class HideUnHideIn3DView : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIDocument uiDoc = commandData.Application.ActiveUIDocument;
Selection selection = uiDoc.Selection;
//根据Id找到元素的方法
ElementId elId = new ElementId(618621);
Element el = commandData.Application.ActiveUIDocument.Document.get_Element(elId);
Transaction ts = new Transaction(uiDoc.Document, "HideUnHide");
ts.Start();
Autodesk.Revit.DB.View view = uiDoc.Document.ActiveView;
//判断是不是3D视图
if (view.Name != "{3D}")
{
ts.RollBack();
return Result.Cancelled;
}
//判断在此视图下是否可以隐藏
if (el.CanBeHidden(view) == true)
{
ElementSet elementSet = new ElementSet();
elementSet.Clear();
elementSet.Insert(el);
if (el.IsHidden(view) == true)
{
view.Unhide(elementSet);
}
else
{
view.Hide(elementSet);
}
}
ts.Commit();
return Result.Succeeded;
}
}from:http://revit.5d6d.com/thread-1077-1-4.html
//显示或隐藏3D视图中的元素
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
//[Journaling(JournalingMode.NoCommandData)]
public class HideUnHideIn3DView : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIDocument uiDoc = commandData.Application.ActiveUIDocument;
Selection selection = uiDoc.Selection;
//根据Id找到元素的方法
ElementId elId = new ElementId(618621);
Element el = commandData.Application.ActiveUIDocument.Document.get_Element(elId);
Transaction ts = new Transaction(uiDoc.Document, "HideUnHide");
ts.Start();
Autodesk.Revit.DB.View view = uiDoc.Document.ActiveView;
//判断是不是3D视图
if (view.Name != "{3D}")
{
ts.RollBack();
return Result.Cancelled;
}
//判断在此视图下是否可以隐藏
if (el.CanBeHidden(view) == true)
{
ElementSet elementSet = new ElementSet();
elementSet.Clear();
elementSet.Insert(el);
if (el.IsHidden(view) == true)
{
view.Unhide(elementSet);
}
else
{
view.Hide(elementSet);
}
}
ts.Commit();
return Result.Succeeded;
}
}from:http://revit.5d6d.com/thread-1077-1-4.html
相关文章推荐
- Revit二次开发之“显示或隐藏视图中选中的元素”
- Revit二次开发之“显示或隐藏视图中的元素”
- Revit二次开发之“显示或隐藏视图中未选中的元素”
- Revit二次开发之“显示或隐藏视图中未选中的元素”
- Android开发-Listview中显示不同的视图布局
- Revit二次开发之“创建直线”并显示出来
- Qt Quick应用开发介绍 1-5(介绍_环境_核心原理_元素作为基本_加载和显示)
- Revit二次开发——从链接文件中选取指定元素
- Android开发-Listview中显示不同的视图布局
- 解决使用Spring Boot开发模板视图修改后刷新不显示问题
- android开发-Listview中显示不同的视图布局
- Revit二次开发入门——获取和修改元素参数
- adf开发出的table在IE8上面设置兼容性视图,导致显示标题和数据错位
- Android开发中使用WebView视图显示网页的注意点
- 《连载 | 物联网框架ServerSuperIO教程》- 13.自定义视图显示接口开发,满足不同的显示需求
- Revit二次开发--获取视图可见性中过滤器颜色
- Revit二次开发_快速显示隐藏剖面框
- rcp(插件开发)如何在一个透视图中显示多个视图
- 终结解密XAML开发—vs设计视图为什么显示不出来?
- ios开发设置navigationBar中显示成自定义图片同时不让push进去的子视图显示父视图中的图片