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

ADN Club => Revit API => Тема начата: verlov.vv от 10-06-2020, 13:46:09

Название: Закрытие/открытие Рабочих наборов чепкз Dynamo
Отправлено: verlov.vv от 10-06-2020, 13:46:09
Добрый день! Есть вопрос по Revit API:
Как можно закрыть/открыть Рабочий набор в Revit, используя Revit API ?

Нашел пока только свойство РН : "worksect.IsOpen". Выдает только значение true/false. Является только параметром для чтения.
А вот как изменить это свойство, не нашел никакого метода. Может подсскажете?  :-\
Название: Re: Закрытие/открытие Рабочих наборов чепкз Dynamo
Отправлено: Александр Игнатович от 10-06-2020, 14:24:58
Похоже, что пока никак. С помощью API сейчас можно контролировать, например, какие рабочие наборы открывать при открытии проекта, при создании связанного файла, управлять видимостью, открыть/закрыть в текущем проекте нельзя :-(
Название: Re: Закрытие/открытие Рабочих наборов чепкз Dynamo
Отправлено: verlov.vv от 10-06-2020, 16:47:05
Похоже, что пока никак. С помощью API сейчас можно контролировать, например, какие рабочие наборы открывать при открытии проекта, при создании связанного файла, управлять видимостью, открыть/закрыть в текущем проекте нельзя :-(

У меня как раз стоит задача открывать и закрывать РН в связанных файлах. Может это можно сделать через WorksetConfiguration Class ?
Название: Re: Закрытие/открытие Рабочих наборов чепкз Dynamo
Отправлено: Александр Игнатович от 10-06-2020, 17:22:02
Тогда да, с помощью метода RevitLinkType.LoadFrom должно сработать, передать параметром WorksetConfiguration c нужными настройками открытия/закрытия пользовательских рабочих наборов
Название: Re: Закрытие/открытие Рабочих наборов чепкз Dynamo
Отправлено: verlov.vv от 16-06-2020, 22:11:06
Тогда да, с помощью метода RevitLinkType.LoadFrom должно сработать, передать параметром WorksetConfiguration c нужными настройками открытия/закрытия пользовательских рабочих наборов
Да, благодарю за подсказку. Все получилось. В итоге получилось вот так:
    wsConf = WorksetConfiguration(WorksetConfigurationOption.CloseAllWorksets)
    wsConf.Open(worksectionListId)
    linkType = doc.GetElement(worksect.GetTypeId())
    ERR = linkType.Load().GetExternalResourceReference()
    linkType.LoadFrom(ERR, wsConf)