Exemple #1
0
        /// <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());
        }
Exemple #2
0
        /// <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());
        }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
        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);
        }