/// <summary> /// Retrieves all user created Worksets. /// </summary> /// <returns name="Workset">Worksets</returns> public static IList <Workset> GetAll() { var doc = DocumentManager.Instance.CurrentDBDocument; var w = new Autodesk.Revit.DB.FilteredWorksetCollector(doc) .OfKind(Autodesk.Revit.DB.WorksetKind.UserWorkset) .Select(x => new Workset(x)) .ToList(); return(w.Any() ? w : Enumerable.Empty <Workset>().ToList()); }
/// <summary> /// Select all Worksets in the model. /// </summary> /// <param name="kind">Kind of a workset. By default "User Worksets" will be collected.</param> /// <returns name="Workset">List of worksets that passed the filter.</returns> public static IList <Workset> GetAllWorksetsByKind(string kind = "UserWorkset") { var doc = DocumentManager.Instance.CurrentDBDocument; var worksetKind = (Autodesk.Revit.DB.WorksetKind)Enum.Parse(typeof(Autodesk.Revit.DB.WorksetKind), kind); var worksets = new Autodesk.Revit.DB.FilteredWorksetCollector(doc) .OfKind(worksetKind) .Select(x => new Workset(x)) .ToList(); return(worksets.Any() ? worksets : Enumerable.Empty <Workset>().ToList()); }
/// <summary> /// Create Workset by Name. /// </summary> /// <param name="name"></param> /// <returns></returns> public static Workset ByName(string name) { if (name == null) { throw new ArgumentNullException(nameof(name)); } var doc = DocumentManager.Instance.CurrentDBDocument; var w = new Autodesk.Revit.DB.FilteredWorksetCollector(doc) .OfKind(Autodesk.Revit.DB.WorksetKind.UserWorkset) .FirstOrDefault(x => x.Name == name); var output = w == null ? new Workset(name) : new Workset(w); return(output); }
protected override SelectionState PopulateItemsCore(string currentSelection) { Items.Clear(); var allWorksets = new Autodesk.Revit.DB.FilteredWorksetCollector(DocumentManager.Instance.CurrentDBDocument) .OfKind(Autodesk.Revit.DB.WorksetKind.UserWorkset) .ToList(); if (allWorksets.Count == 0) { Items.Add(new DynamoDropDownItem(NoFamilyTypes, null)); SelectedIndex = 0; return(SelectionState.Done); } foreach (var w in allWorksets) { Items.Add(new DynamoDropDownItem(w.Name, w)); } Items = Items.OrderBy(x => x.Name).ToObservableCollection(); return(SelectionState.Restore); }