Revit二开–视图中隐藏revit链接
在Revit中隐藏类别 BuiltInCategory.OST_RvtLinks 会出现错误提示,原因是revit不支持隐藏这个类别。解决方法是隐藏RevitLinkInstance或者RevitLinkType。
隐藏RevitLinkInstance相当于在视图显示里面隐藏链接实例
隐藏RevitLinkType相当于在视图可见性里面隐藏链接类别
隐藏Revit链接类别 代码如下
/// <summary>
/// 隐藏revit链接
/// </summary>
[Transaction(TransactionMode.Manual)]
class Cmd_HideRevitInstance:IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
var uiapp = commandData.Application;
var uidoc = uiapp.ActiveUIDocument;
var doc = uidoc.Document;
var acview = doc.ActiveView;
var collector = new FilteredElementCollector(doc);
var revitlinktypes = collector.OfClass(typeof(RevitLinkType)).ToList();
Transaction ts = new Transaction(doc, "hide revitlink");
ts.Start();
acview.HideElements(revitlinktypes.Select(m => m.Id).ToList());
ts.Commit();
return Result.Succeeded;
}
}