/// <inheritdoc/> internal override int Execute(string args = null) { var readonlyViews = new List <ViewType>() { ViewType.ProjectBrowser, ViewType.SystemBrowser, ViewType.Undefined, ViewType.DrawingSheet, ViewType.Internal }; IList <Element> views = new FilteredElementCollector(_doc) .OfClass(typeof(View)) .WhereElementIsNotElementType() .Where(view => ConfirmRemoval(view as View)) .ToList(); if (views.Count > 0) { return(HelperMethods.RemoveElements(Name, _doc, views)); } return(0); bool ConfirmRemoval(View view) { if (view.GetType() == typeof(View) || (view.GetType().IsSubclassOf(typeof(View)) && view.IsTemplate && !readonlyViews.Contains(view.ViewType))) { return(true); } return(false); } }
/// <inheritdoc/> internal override int Execute(string args = null) { var readonlyViews = new List <ViewType>() { ViewType.ProjectBrowser, ViewType.SystemBrowser, ViewType.Undefined, ViewType.DrawingSheet, ViewType.Internal }; var openUiViews = _uiDoc.GetOpenUIViews(); var openViews = new List <ElementId>(); foreach (var ov in openUiViews) { openViews.Add(ov.ViewId); } IList <Element> schedules = new FilteredElementCollector(_uiDoc.Document) .OfClass(typeof(ViewSchedule)) .WhereElementIsNotElementType() .Where(sch => ConfirmRemoval(sch as View)) .ToList(); if (schedules.Count > 0) { return(HelperMethods.RemoveElements(Name, _uiDoc.Document, schedules)); } return(0); bool ConfirmRemoval(View view) { if (view.GetType() == typeof(ViewSchedule)) { if (readonlyViews.Contains(view.ViewType)) { return(false); } if (view.IsTemplate) { return(false); } if (view.Name.Contains("<")) { return(false); } if (openViews.Contains(view.Id)) { return(false); } if (((ViewSchedule)view).Definition.CategoryId.IntegerValue == (int)BuiltInCategory.OST_KeynoteTags) { return(false); } return(true); } return(false); } }
/// <inheritdoc/> internal override int Execute(string args) { var worksetList = new FilteredWorksetCollector(_doc) .OfKind(WorksetKind.UserWorkset) .ToDictionary(wSet => wSet.Name, wSet => wSet.Id); ElementFilter elementWorksetFilter = new ElementWorksetFilter(worksetList[args]); var elementsOnWorkset = new FilteredElementCollector(_doc).WherePasses(elementWorksetFilter).ToElements(); return(HelperMethods.RemoveElements(Name, _doc, elementsOnWorkset)); }
/// <inheritdoc/> internal override int Execute(string args = null) { var filters = new FilteredElementCollector(_doc) .OfClass(typeof(FilterElement)) .WhereElementIsNotElementType() .ToElements(); if (filters.Count > 0) { return(HelperMethods.RemoveElements(Name, _doc, filters)); } return(0); }
/// <inheritdoc/> internal override int Execute(string args = null) { var cl = new FilteredElementCollector(_uiDoc); IList <Element> constraints = cl.OfCategory(BuiltInCategory.OST_Constraints) .WhereElementIsNotElementType() .Where(ConfirmRemoval) .ToList(); if (constraints.Count > 0) { return(HelperMethods.RemoveElements(Name, _uiDoc, constraints)); } return(0); }
/// <inheritdoc/> internal override int Execute(string args = null) { #if !R2015 && !R2016 && !R2017 var ids = new FilteredElementCollector(_doc) .OfCategory(BuiltInCategory.OST_Coordination_Model) .ToElementIds() .ToList(); if (ids.Count > 0) { return(HelperMethods.RemoveElements(Name, _doc, ids)); } #endif return(0); }
/// <inheritdoc/> internal override int Execute(string args = null) { var filepath = _doc.PathName; if (filepath != null) { IList <Element> xRefLinks = new List <Element>(); var modelPath = ModelPathUtils.ConvertUserVisiblePathToModelPath(filepath); var wasException = false; try { var transData = TransmissionData.ReadTransmissionData(modelPath); var externalReferences = transData.GetAllExternalFileReferenceIds(); foreach (var xRefId in externalReferences) { var externalReference = _doc.GetElement(xRefId); if (ConfirmRemoval(externalReference)) { xRefLinks.Add(externalReference); } } HelperMethods.RemoveElements(Name, _doc, xRefLinks); } catch { wasException = true; } try { var linkTypesIds = new FilteredElementCollector(_doc).OfClass(typeof(RevitLinkType)).Select(l => l.Id).ToList(); HelperMethods.RemoveElements(Name, _doc, linkTypesIds); } catch { wasException = true; } return(wasException ? 0 : 1); } // Модель должна быть сохранена для удаления внешних ссылок MessageBox.Show(Language.GetItem(RevitCommand.LangItem, "m1"), MessageBoxIcon.Alert); return(0); }
/// <inheritdoc/> internal override int Execute(string args = null) { var roomLines = new FilteredElementCollector(_doc) .OfCategory(BuiltInCategory.OST_RoomSeparationLines) .WhereElementIsNotElementType() .ToElements(); if (roomLines.Count > 0) { return(HelperMethods.RemoveElements(Name, _doc, roomLines)); } else { return(0); } }
/// <inheritdoc/> internal override int Execute(string args = null) { IList <Element> lines = new FilteredElementCollector(_doc) .OfClass(typeof(LinePatternElement)) .Where(line => ConfirmRemoval(line) == true) .ToList(); if (lines.Count > 0) { return(HelperMethods.RemoveElements(Name, _doc, lines)); } else { return(0); } }
/// <inheritdoc/> internal override int Execute(string args = null) { IList <Element> mats = new FilteredElementCollector(_doc) .OfCategory(BuiltInCategory.OST_Materials) .Where(mat => ConfirmRemoval(mat) == true) .ToList(); if (mats.Count > 0) { return(HelperMethods.RemoveElements(Name, _doc, mats)); } else { return(0); } }
/// <inheritdoc/> internal override int Execute(string args = null) { var scBoxes = new FilteredElementCollector(_doc) .OfCategory(BuiltInCategory.OST_VolumeOfInterest) .WhereElementIsNotElementType() .ToElements(); if (scBoxes.Count > 0) { return(HelperMethods.RemoveElements(Name, _doc, scBoxes)); } else { return(0); } }
/// <inheritdoc/> internal override int Execute(string args = null) { IList <Element> elevMarkers = new FilteredElementCollector(_doc) .OfClass(typeof(ElevationMarker)) .WhereElementIsNotElementType() .Where(elevMarker => ConfirmRemoval(elevMarker as ElevationMarker)) .ToList(); if (elevMarkers.Count > 0) { return(HelperMethods.RemoveElements(Name, _doc, elevMarkers)); } return(0); bool ConfirmRemoval(ElevationMarker elevMarker) { return(elevMarker.CurrentViewCount == 0); } }
/// <inheritdoc/> internal override int Execute(string args = null) { var patternElements = new FilteredElementCollector(_doc) .OfClass(typeof(FillPatternElement)) .WhereElementIsNotElementType() .ToElements(); var draftPatterns = new List <Element>(); foreach (var patternElement in patternElements) { if (((FillPatternElement)patternElement).GetFillPattern().Target == FillPatternTarget.Drafting) { draftPatterns.Add(patternElement); } } if (draftPatterns.Count > 0) { return(HelperMethods.RemoveElements(Name, _doc, draftPatterns)); } return(0); }
/// <inheritdoc/> internal override int Execute(string args = null) { var openUIViews = _uiDoc.GetOpenUIViews(); foreach (var ov in openUIViews) { openViews.Add(ov.ViewId); } IList <Element> sheets = new FilteredElementCollector(_uiDoc.Document).OfCategory(BuiltInCategory.OST_Sheets) .WhereElementIsNotElementType() .Where(sheet => ConfirmRemoval(sheet) == true) .ToList(); if (sheets.Count > 0) { return(HelperMethods.RemoveElements(Name, _uiDoc.Document, sheets)); } else { return(0); } }
/// <inheritdoc/> internal override int Execute(string args) { IList <Element> groupTypes = new FilteredElementCollector(_doc) .OfClass(typeof(GroupType)) .Where(gType => ConfirmRemoval(gType) == true) .ToList(); var groups = new FilteredElementCollector(_doc) .OfClass(typeof(Group)) .ToElements(); // ungroup all groups if (groups.Count > 0) { using (var tr = new Transaction(_doc, "Разгруппировать все группы")) { if (tr.Start() == TransactionStatus.Started) { foreach (var element in groups) { var grp = (Group)element; grp.UngroupMembers(); } if (tr.Commit() != TransactionStatus.Committed) { tr.RollBack(); } } } } // delete group types if (groupTypes.Count > 0) { return(HelperMethods.RemoveElements(Name, _doc, groupTypes)); } return(0); }