本文整理汇总了C#中FilteredElementCollector.RemoveAt方法的典型用法代码示例。如果您正苦于以下问题:C# FilteredElementCollector.RemoveAt方法的具体用法?C# FilteredElementCollector.RemoveAt怎么用?C# FilteredElementCollector.RemoveAt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FilteredElementCollector
的用法示例。
在下文中一共展示了FilteredElementCollector.RemoveAt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetViewsToDelete
IList<Element> GetViewsToDelete(Document doc)
{
using (Transaction trans = new Transaction(doc))
{
// Collect all Views except ViewTemplates
// Add one drafting view to project before deleting
// all views because Revit will shut down when last view
// is deleted from project.
// Create a new Drafting view
ViewFamilyType viewFamilyType = new FilteredElementCollector(doc)
.OfClass(typeof(ViewFamilyType))
.Cast<ViewFamilyType>().First(vft => vft.ViewFamily == ViewFamily.Drafting);
trans.Start("Delete All Views/Sheets");
ViewDrafting view = ViewDrafting.Create(doc, viewFamilyType.Id);
view.ViewName = "TempDraftingView";
doc.Regenerate();
// Collect all Views except newly created one
List<ElementId> exclude = new List<ElementId>();
exclude.Add(view.Id);
ExclusionFilter filter = new ExclusionFilter(exclude);
IList<Element> views = new FilteredElementCollector(doc)
.OfClass(typeof(View))
.WhereElementIsNotElementType()
.WherePasses(filter)
.ToElements();
// Remove all ViewTemplates from views to be deleted
for (var i = 0; i < views.Count; i++)
{
View v = views[i] as View;
if (v.IsTemplate)
{
views.RemoveAt(i);
}
}
trans.Commit();
return views;
}
}