Dynamo For Revit & Revit API: View 隔离图元

前言

选择视图中的构件,把它们都隔离出来。

内容

从界面上做隔离相关的设置。
Dynamo For Revit & Revit API: View 隔离图元_第1张图片
从 API 上做隔离相关的设置。

namespace Autodesk.Revit.DB
{
     
    public class View : Element
    {
     
        // 相关隔离的 API
        public void ConvertTemporaryHideIsolateToPermanent();
        public void IsolateCategoriesTemporary(ICollection<ElementId> elementIds);
        public void IsolateCategoryTemporary(ElementId elementId);
        public void IsolateElementsTemporary(ICollection<ElementId> elementIds);
        public void IsolateElementTemporary(ElementId elementId);
        public bool IsTemporaryHideIsolateActive();
    }
}

在 Dynamo 里通过 Python 做隔离相关的设置。
效果:
Dynamo For Revit & Revit API: View 隔离图元_第2张图片
Python 代码:

# Load the Python Standard and DesignScript Libraries
import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

# The inputs to this node will be stored as a list in the IN variables.
dataEnteringNode = IN
view = UnwrapElement(IN[0])
showElement = UnwrapElement(IN[1])
document = DocumentManager.Instance.CurrentDBDocument
TransactionManager.Instance.EnsureInTransaction(document)
view.IsolateElementTemporary(showElement.Id)
TransactionManager.Instance.TransactionTaskDone()
# Place your code below this line

# Assign your output to the OUT variable.
OUT = [view, showElement]

你可能感兴趣的:(Dynamo,For,Revit,Revit,API)