/// <summary> /// Sets the Default Visibility of a workset within a document. /// </summary> /// <param name="workset">A workset.</param> /// <returns name="visibility">Whether the workset is visible by default.</returns> public static bool GetDefaultVisibility(Workset workset) { //Get Revit Document object revitDoc doc = DocumentManager.Instance.CurrentDBDocument; // Get the workset’s default visibility WorksetDefaultVisibilitySettings defaultVisibility = WorksetDefaultVisibilitySettings.GetWorksetDefaultVisibilitySettings(doc); bool visibility = defaultVisibility.IsWorksetVisible(workset.internalId); defaultVisibility.Dispose(); return(visibility); }
public static void ApplyWorksetModifications(Document doc, List <WorksetParameter> worksets, ref TransactionLog log) { using (Transaction t = new Transaction(doc)) { if (t.Start("Add Worksets to Model.") == TransactionStatus.Started) { foreach (var w in worksets) { if (w.IsModified) { if (w.IsExisting && w.Id >= 0) { if (WorksetTable.IsWorksetNameUnique(doc, w.Name)) { WorksetTable.RenameWorkset(doc, new WorksetId(w.Id), w.Name); } var defaultVisibilitySettings = WorksetDefaultVisibilitySettings.GetWorksetDefaultVisibilitySettings(doc); defaultVisibilitySettings.SetWorksetVisibility(new WorksetId(w.Id), w.VisibleInAllViews); log.AddSuccess(w.ToString()); } else { Workset newWorkset = null; if (WorksetTable.IsWorksetNameUnique(doc, w.Name)) { newWorkset = Workset.Create(doc, w.Name); } else { log.AddFailure(w.ToString()); continue; } if (newWorkset != null) { var defaultVisibilitySettings = WorksetDefaultVisibilitySettings.GetWorksetDefaultVisibilitySettings(doc); defaultVisibilitySettings.SetWorksetVisibility(newWorkset.Id, w.VisibleInAllViews); log.AddSuccess(w.ToString()); } } } } t.Commit(); } } }
/// <summary> /// Sets the Default Visibility of a workset within a document. /// </summary> /// <param name="workset">The workset that you wish to set the visibility of.</param> /// <param name="visible">The visibility of the workset</param> /// <returns name="workset">A Revit workset</returns> public static Workset SetDefaultVisibility(Workset workset, bool visible) { //Get Revit Document object revitDoc doc = DocumentManager.Instance.CurrentDBDocument; using (Autodesk.Revit.DB.Transaction trans = new Autodesk.Revit.DB.Transaction(doc)) { trans.Start("Set Workset Default Visibility"); // Set the workset’s default visibility WorksetDefaultVisibilitySettings defaultVisibility = WorksetDefaultVisibilitySettings.GetWorksetDefaultVisibilitySettings(doc); defaultVisibility.SetWorksetVisibility(workset.internalId, visible); trans.Commit(); defaultVisibility.Dispose(); } return(workset); }