Вытащить элементы из спецификации

Автор Тема: Вытащить элементы из спецификации  (Прочитано 3361 раз)

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

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Забрать данные из ячейки в спецификации можно забрать через
Код - C# [Выбрать]
  1. .GetCellText(nRow, nCol);
(Таблица сгруппирована)
Можно как то по ячейке/строке получиться элементы, которые сгруппировались без дополнительных параметров?

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Вытащить элементы из спецификации
« Ответ #1 : 05-07-2019, 15:12:13 »
По самой строке вы можете получить элементы только путем анализа данных в ячейках с параметрами элементов.
Чтобы получить все элементы, обработанные спецификацией, достаточно использовать FilteredElementCollector, подав ему вторым параметром спецификацию (спецификация - это тоже Вид)

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Вытащить элементы из спецификации
« Ответ #2 : 05-07-2019, 15:22:50 »
По самой строке вы можете получить элементы только путем анализа данных в ячейках с параметрами элементов.
по сути тот же  FilteredElementCollector, только с условиями.

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Вытащить элементы из спецификации
« Ответ #3 : 06-08-2019, 13:34:01 »
К спецификации применены фильтры, можно их каким-нибудь образом вытащить, чтобы потом применить к FilteredElementCollector?

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Вытащить элементы из спецификации
« Ответ #4 : 06-08-2019, 15:50:55 »
К спецификации применены фильтры, можно их каким-нибудь образом вытащить, чтобы потом применить к FilteredElementCollector?
Это тупиковый путь, так как в настройках спецификации можно создать поля с расчетными и объединенными параметрами и вы вряд-ли сможете их обработать. Ну и плюс фильтрация и сортировка.
К тому же поля можно скрыть, и вы не сможете получить значения в них, так как читать вы их можете только с самой спецификации, которую вы видите глазами. Ну и куча других мелких проблем точно будет.
Я бы даже не стал пытаться пойти этим путем.

Но по секрету скажу - существует способ найти в какой строке какой элемент

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Вытащить элементы из спецификации
« Ответ #5 : 07-08-2019, 08:32:34 »
Поделитесь?))))
Фильтр сразу убирает лишние элементы для спецификации.

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Вытащить элементы из спецификации
« Ответ #6 : 07-08-2019, 09:45:41 »
Поделитесь?))))

Могу поделиться только гифкой =)

Скажем так - это моя коммерческая тайна и в этот раз делится не хочу

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Вытащить элементы из спецификации
« Ответ #7 : 07-08-2019, 10:09:42 »
Александр Пекшев aka Modis, Видела ее у Джереми)))
Коммерческая тайна это хорошо))) Есть мысли как сделать, но не нравится такое решение самой)

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Вытащить элементы из спецификации
« Ответ #8 : 09-08-2019, 14:03:19 »
Можно как-то найти значение ячейки в скрытом столбце?
.IsHidden = false не помогает.

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Вытащить элементы из спецификации
« Ответ #9 : 09-08-2019, 14:11:36 »
Можно как-то найти значение ячейки в скрытом столбце?
К тому же поля можно скрыть, и вы не сможете получить значения в них, так как читать вы их можете только с самой спецификации, которую вы видите глазами

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Вытащить элементы из спецификации
« Ответ #10 : 09-08-2019, 14:19:36 »
Я разобралась. Переменная не на ту область памяти ссылалась =) Надо было заново его считывать =)