Revit二开–红瓦族隐藏显示的方法
2019-04-23 本文已影响0人
using__
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
[Journaling(JournalingMode.UsingCommandData)]
class Cmd_HideElementInFamilyDoc : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIApplication uiapp = commandData.Application;
UIDocument uidoc = commandData.Application.ActiveUIDocument;
Document doc = uidoc.Document;
Selection sel = uidoc.Selection;
var views = doc.ViewCollector();
FilteredElementCollector collector = new FilteredElementCollector(doc);
var elelist = collector.WhereElementIsNotElementType();
Transaction ts = new Transaction(doc, "***********");
try
{
ts.Start();
foreach (var view in views)
{
if(view is ViewPlan ||view is ViewSection || view is View3D)
//ele.IsHidden(acview);
//acview.HideElements(new List<ElementId>(){ele.Id});
foreach (var item in elelist)
{
if (item.IsHidden(view))
{
view.UnhideElements(new List<ElementId>() { item.Id });
}
}
}
ts.Commit();
}
catch (Exception)
{
if (ts.GetStatus() == TransactionStatus.Started)
{
ts.RollBack();
}
//throw;
}
return Result.Succeeded;
}
}
作者:binbinstrong
来源:CSDN
原文:https://blog.csdn.net/binbinstrong/article/details/89382708
版权声明:本文为博主原创文章,转载请附上博文链接!