Пути в классе ServerPath при открытии модели с Revit Server

Автор Тема: Пути в классе ServerPath при открытии модели с Revit Server  (Прочитано 5712 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн v13Автор темы

  • ADN OPEN
  • Сообщений: 23
  • Карма: 1
Здравствуйте, столкнулся с проблемой, не могу прописать путь к модели на Revit Server в классе ServerPath.
Полный путь: http://192.168.121.12/ОТЦ/06 ВК/TPU-NG_VK_ ALL_R_test.rvt
Сигнатура конструктора:
Код - C# [Выбрать]
  1. public ServerPath(
  2.         string centralServerLocation,
  3.         string path
  4. )

Непонятно, какая часть строки пути относится к centralServerLocation, а какая к path. Уже все варианты перепробовал, подскажите пожалуйста

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
https://www.revitapidocs.com/2015/c304ffcf-b3ae-46be-e361-a80bec83b5c0.htm
Там нет ни слова про возможность задавать в виде http://...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн v13Автор темы

  • ADN OPEN
  • Сообщений: 23
  • Карма: 1
О Спасибо!, как я не увидел...

Оффлайн v13Автор темы

  • ADN OPEN
  • Сообщений: 23
  • Карма: 1
Здравствуйте еще раз, пошел все проверять и перепроверять но с мертвой точки не сдвинулся.
Для упрощения выложил модель по пути: //192.168.120.66/test.rvt

Код - Python [Выбрать]
  1. centralServerLocation = r'RSN://192.168.120.66/'
  2. print DB.ModelPathUtils.IsValidUserVisibleFullServerPath(centralServerLocation) #Проверяю представляет ли данная строка допустимый путь к серверу. True
  3. path = r'test.rvt'
  4. sp = ServerPath(centralServerLocation, path)
  5. print sp.ServerPath #Проверяю является ли этот путь путем к серверу. True
  6. print sp.CentralServerPath #Свойство возвращает путь к центральному серверу Revit. RSN://192.168.120.66/
  7. uiapp.OpenAndActivateDocument(sp,OpenOptions(),True) # При открытии фаила Exception : Autodesk.Revit.Exceptions.FileNotFoundException: The document to be opened does not exist.


Пользуюсь тем же методом OpenAndActivateDocument при открытии модели с диска через ModelPath все работает:

Код - Python [Выбрать]
  1. path = r'\\dsi-revit\Share\temp\123КС temp.rvt'
  2. mp = ModelPathUtils.ConvertUserVisiblePathToModelPath(path)
  3. uiapp.OpenAndActivateDocument(mp,OpenOptions(),True)

Помогите пожалуйста, уже неделю хожу кругами. Код запускаю в RPS.
Ссылка на злополучный класс https://www.revitapidocs.com/2020/c304ffcf-b3ae-46be-e361-a80bec83b5c0.htm
В аргументы ServerPath пробовал подавать всевозможные комбинации строк данного пути //192.168.120.66/test.rvt

Отмечено как Решение v13 18-12-2020, 00:49:27

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
У меня вот так получилось:



Код - Python [Выбрать]
  1. path = ModelPathUtils.ConvertUserVisiblePathToModelPath("rsn://server/path/file.rvt")
  2. opts = OpenOptions()
  3. opts.DetachFromCentralOption = DetachFromCentralOption.DetachAndPreserveWorksets
  4.  
  5. uidoc.Application.OpenAndActivateDocument(path, opts, True)

Оффлайн v13Автор темы

  • ADN OPEN
  • Сообщений: 23
  • Карма: 1
Да!! Спасибо работает!!! значит класс ServerPath какой-то дефективный, видимо ModelPath и его служебные функции (как ModelPathUtils) это универсальный метод подачи пути для открывания моделей как с диска так и с ревит сервера

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Возможно, его конструктор по ошибке в .NET API проник, кто ж знает. Может он тебе дальше понадобится для каких-то других операций. Я вот сегодня впервые попробовал программно с Revit сервера файлы открывать :-)

Оффлайн v13Автор темы

  • ADN OPEN
  • Сообщений: 23
  • Карма: 1
Здравствуйте, у меня появляются новые вопросы которые, как мне кажется, довольно часто возникают у специалистов работающих с крупными моделями (много исполнителей и рабочих наборов) расположенными на revit server, скажите стоит ли переименовать эту тему в "Открытие модели методами RevitAPI" для аккумуляции вопросов и их решений или лучше создать новую?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
v13,
У нас действует правило: "Один вопрос - одна тема".
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение