Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: Павел Тер-Микаэлян от 07-02-2024, 12:10:52

Название: Открыть или закрыть рабочий набор в открытом документе
Отправлено: Павел Тер-Микаэлян от 07-02-2024, 12:10:52
Добрый день.
Подскажите пожалуйста, есть некий активный документ (он открыт с закрытием всех рабочих наборов). Теперь я хочу в этом открытом документе открыть все рабочие наборы.
Но свойство workset.IsOpen доступно только для чтения.

Пробовал данный сценарий, но он не работает для уже открытых документов:
Код - C# [Выбрать]
  1.  UIApplication uIApplication = commandData.Application;
  2.  Document doc = uIApplication.ActiveUIDocument.Document;
  3.  ModelPath modelPath = ModelPathUtils.ConvertUserVisiblePathToModelPath(doc.PathName);
  4.  List<WorksetId> worksetIds = WorksharingUtils.GetUserWorksetInfo(modelPath)
  5.                                                          .Select(q => q.Id)
  6.                                                          .ToList();  
  7.  OpenOptions openOptions = new OpenOptions();
  8.  WorksetConfigurationOption worksetConfigurationOption = WorksetConfigurationOption.OpenAllWorksets;
  9.  WorksetConfiguration worksetConfiguration = new WorksetConfiguration(worksetConfigurationOption);
  10.  worksetConfiguration.Open(worksetIds);
  11.  openOptions.SetOpenWorksetsConfiguration(worksetConfiguration);
  12.  uIApplication.Application.OpenDocumentFile(modelPath, openOptions);
  13.  

То есть, у меня уже открыт документ и я хочу в нем менять состояние открытости рабочих наборов.
Название: Re: Открыть или закрыть рабочий набор в открытом документе
Отправлено: Александр Игнатович от 07-02-2024, 12:43:31
Посмотри WorksharingUtils.CheckoutWorksets и WorksharingUtils.RelinquishOwnership
Название: Re: Открыть или закрыть рабочий набор в открытом документе
Отправлено: Павел Тер-Микаэлян от 07-02-2024, 14:12:43
Нет, это не то. Похоже, единственный способ открыть рабочие наборы, это создать в них элементы и отобразить их через showElements, в этом случае рабочий набор автоматически должен открываться.