Инспектор систем

Автор Тема: Инспектор систем  (Прочитано 1189 раз)

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

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

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

  • ADN OPEN
  • ****
  • Сообщений: 374
  • Карма: 2
Инспектор систем
« : 12-02-2020, 14:58:34 »
Есть ли программная возможность добраться до Инспектора инженерных систем?

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

  • Administrator
  • *****
  • Сообщений: 734
  • Карма: 240
  • Skype: alexandr.ignatovich.itc
Re: Инспектор систем
« Ответ #1 : 12-02-2020, 15:00:12 »
Зависит от того, как именно добираться

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

  • ADN OPEN
  • ****
  • Сообщений: 374
  • Карма: 2
Re: Инспектор систем
« Ответ #2 : 12-02-2020, 15:03:39 »
Если вручную выбрать например вент. систему  , то инспектор показывает участки по расходам, определяя главное направление и ветви. До этого режима как то можно добраться?

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

  • Administrator
  • *****
  • Сообщений: 734
  • Карма: 240
  • Skype: alexandr.ignatovich.itc
Re: Инспектор систем
« Ответ #3 : 12-02-2020, 17:20:17 »
Инспектор включить программно не получится, ну, точнее, если только с помощью WinAPI.

Сами данные получить можно. Открывай в SDK MechanicalSystem для вент системы, PipingSystem для трубопроводной и ищи по слову Section, там увидишь свойство SectionsCount, методы GetSectionByIndex / GetSectionByNumber, а также GetCriticalPathSectionNumbers. Собственно получаешь нужные участки, представленные классом MEPSection, в нём, собственно, вся нужная информация по участкам сети.

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

  • ADN OPEN
  • ****
  • Сообщений: 374
  • Карма: 2
Re: Инспектор систем
« Ответ #4 : 12-02-2020, 17:22:55 »
Так я получу только главную ветвь по расчетному направлению (в инспекторе красной линией выделено), но как ветки получить (остальные линии, виделенные синими)

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

  • Administrator
  • *****
  • Сообщений: 734
  • Карма: 240
  • Skype: alexandr.ignatovich.itc
Re: Инспектор систем
« Ответ #5 : 12-02-2020, 17:25:18 »
там все участки есть, не только по critical path

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

  • ADN OPEN
  • ****
  • Сообщений: 374
  • Карма: 2
Re: Инспектор систем
« Ответ #6 : 12-02-2020, 17:38:57 »
То есть все что не относится из SectionsCount к GetCriticalPathSectionNumbers есть ветви?

GetCriticalPathSectionNumbers  прелестен тем что дает самый нагруженный путь именно в направлении потока воздуха. Но как сделать тоже самое для ветвей

Отмечено как Решение enot 17-02-2020, 13:55:12

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

  • Administrator
  • *****
  • Сообщений: 734
  • Карма: 240
  • Skype: alexandr.ignatovich.itc
Re: Инспектор систем
« Ответ #7 : 12-02-2020, 17:43:39 »
То есть все что не относится из SectionsCount к GetCriticalPathSectionNumbers есть ветви?

Ты мне чуть мозг не сломал.

Получаем секции из диапазона [0, SectionsCount) методом GetSectionByIndex, фильтруем те, у которых Number не входит в перечень, который возвернула GetCriticalPathSectionNumbers - это будут участки вне критического пути.

Оффлайн Agens

  • ADN OPEN
  • ***
  • Сообщений: 163
  • Карма: 0
Re: Инспектор систем
« Ответ #8 : 12-02-2020, 18:53:32 »
На картинке 5 Sections, GetCriticalPathSectionNumbers выдаст массив [2, 4, 5] ?


« Последнее редактирование: 17-02-2020, 10:12:06 от Agens »
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

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

  • ADN OPEN
  • ****
  • Сообщений: 374
  • Карма: 2
Re: Инспектор систем
« Ответ #9 : 17-02-2020, 10:32:01 »

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

  • ADN OPEN
  • ****
  • Сообщений: 374
  • Карма: 2
Re: Инспектор систем
« Ответ #10 : 17-02-2020, 10:32:28 »
---

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

  • Administrator
  • *****
  • Сообщений: 734
  • Карма: 240
  • Skype: alexandr.ignatovich.itc
Re: Инспектор систем
« Ответ #11 : 17-02-2020, 11:17:28 »
На картинке 5 Sections, GetCriticalPathSectionNumbers выдаст массив [2, 4, 5] ?

Ну да, только в реальной модели у тебя будет что-то вроде 57, 119, 123. Насколько я понял, у Revit сквозная нумерация секций по всем системам в проекте, поэтому аккуратно, не путай получение по индексу и номеру секции.

Не нашел в SDK этого примера
А я и не предлагал в примерах искать. Сначала стОит по документации классов/методов пошуршать.

Оффлайн Agens

  • ADN OPEN
  • ***
  • Сообщений: 163
  • Карма: 0
Re: Инспектор систем
« Ответ #12 : 17-02-2020, 13:09:59 »
там просто нужно поменять класс, т.к. PipingSystem наследует MEPSystem, а этот метод не будет виден, если не сделать приведение типов. (или DuctSystem)
у меня GetCriticalPathSectionNumbers всегда count=0, даже не знаю почему...
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

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

  • Administrator
  • *****
  • Сообщений: 734
  • Карма: 240
  • Skype: alexandr.ignatovich.itc
Re: Инспектор систем
« Ответ #13 : 17-02-2020, 13:44:51 »
у меня GetCriticalPathSectionNumbers всегда count=0, даже не знаю почему

Система должна быть собрана предельно аккуратно. В UI если не доступна кнопка инспектора систем, значит и через API GetCriticalPathSectionNumbers не отдаст


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

  • ADN OPEN
  • ****
  • Сообщений: 374
  • Карма: 2
Re: Инспектор систем
« Ответ #14 : 17-02-2020, 14:00:15 »
Александр Игнатович,
IsWellConnected  - это проверка что нет не подключенных элементов?