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

ADN Club => Revit API => Тема начата: v13 от 08-12-2020, 23:28:01

Название: Пути в классе ServerPath при открытии модели с Revit Server
Отправлено: v13 от 08-12-2020, 23:28:01
Здравствуйте, столкнулся с проблемой, не могу прописать путь к модели на 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. Уже все варианты перепробовал, подскажите пожалуйста
Название: Re: Пути в классе ServerPath при открытии модели с Revit Server
Отправлено: Александр Ривилис от 09-12-2020, 12:22:46
https://www.revitapidocs.com/2015/c304ffcf-b3ae-46be-e361-a80bec83b5c0.htm
Там нет ни слова про возможность задавать в виде http://...
Название: Re: Пути в классе ServerPath при открытии модели с Revit Server
Отправлено: v13 от 09-12-2020, 16:05:24
О Спасибо!, как я не увидел...
Название: Re: Пути в классе ServerPath при открытии модели с Revit Server
Отправлено: v13 от 17-12-2020, 02:35:22
Здравствуйте еще раз, пошел все проверять и перепроверять но с мертвой точки не сдвинулся.
Для упрощения выложил модель по пути: //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
Название: Re: Пути в классе ServerPath при открытии модели с Revit Server
Отправлено: Александр Игнатович от 17-12-2020, 22:13:41
У меня вот так получилось:

(https://i.postimg.cc/8jwsk4g1/revit-server.png) (https://postimg.cc/8jwsk4g1)

Код - 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)
Название: Re: Пути в классе ServerPath при открытии модели с Revit Server
Отправлено: v13 от 18-12-2020, 00:54:56
Да!! Спасибо работает!!! значит класс ServerPath какой-то дефективный, видимо ModelPath и его служебные функции (как ModelPathUtils) это универсальный метод подачи пути для открывания моделей как с диска так и с ревит сервера
Название: Re: Пути в классе ServerPath при открытии модели с Revit Server
Отправлено: Александр Игнатович от 18-12-2020, 01:03:37
Возможно, его конструктор по ошибке в .NET API проник, кто ж знает. Может он тебе дальше понадобится для каких-то других операций. Я вот сегодня впервые попробовал программно с Revit сервера файлы открывать :-)
Название: Re: Пути в классе ServerPath при открытии модели с Revit Server
Отправлено: v13 от 20-12-2020, 15:26:28
Здравствуйте, у меня появляются новые вопросы которые, как мне кажется, довольно часто возникают у специалистов работающих с крупными моделями (много исполнителей и рабочих наборов) расположенными на revit server, скажите стоит ли переименовать эту тему в "Открытие модели методами RevitAPI" для аккумуляции вопросов и их решений или лучше создать новую?
Название: Re: Пути в классе ServerPath при открытии модели с Revit Server
Отправлено: Александр Ривилис от 20-12-2020, 15:43:51
v13,
У нас действует правило: "Один вопрос - одна тема".