Поиск элементов

Автор Тема: Поиск элементов  (Прочитано 2672 раз)

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

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

  • ADN OPEN
  • Сообщений: 23
  • Карма: 0
Поиск элементов
« : 27-04-2021, 09:14:52 »
Доброго времени. Возможно ли не "зашивать" категорию в плагин, а (через Windows Forms) дать пользователю возможность поиска всех элементов нужной категории (или выбрать из выпадающего списка категорию)?

Код - C# [Выбрать]
  1.  UIApplication uiapp = commandData.Application;
  2.             UIDocument uidoc = uiapp.ActiveUIDocument;
  3.             //Application app = uiapp.Application;
  4.             Document doc = uidoc.Document;
  5.  
  6.             //Create Filtered Element Collector and Filter
  7.             FilteredElementCollector collector = new FilteredElementCollector(doc);
  8.  
  9.             ElementCategoryFilter filter = new ElementCategoryFilter(BuiltInCategory.OST_DuctFitting);




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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Поиск элементов
« Ответ #1 : 27-04-2021, 14:25:20 »
Document.Settings.Categories - список категорий, делаешь выбор категорий, по выбранной создаешь ElementCategoryFilter

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

  • ADN OPEN
  • Сообщений: 23
  • Карма: 0
Re: Поиск элементов
« Ответ #2 : 27-04-2021, 17:08:13 »
Относительно недавно в этой теме, поясни, пожалуйста, как можно сделать выбор категорий, что нужно использовать?

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

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Поиск элементов
« Ответ #3 : 27-04-2021, 17:50:13 »
Ну это уже от твоей задачи зависит. Список категорий ты получишь, а дальше - нарисовать UI, WPF, WinForms или ещё как

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

  • ADN OPEN
  • Сообщений: 23
  • Карма: 0
Re: Поиск элементов
« Ответ #4 : 28-04-2021, 11:28:43 »
немного более детально представлю для разрешения вопроса. Нажав на кнопку, наименование (значение) категории сохраняется в переменную "selected". Как теперь можно по выбранной создать фильтр (как передать это самое значение) для создания коллекции элементов (и дальнейшего получения списка всех параметров этой категории)? Cкорее всего, нужно продолжать (1) в class.cs, но не до конца ясно, как это сделать?


« Последнее редактирование: 28-04-2021, 13:17:21 от wingsdraw »

Оффлайн andy_pu

  • ADN Club
  • Сообщений: 34
  • Карма: 2
Re: Поиск элементов
« Ответ #5 : 28-05-2021, 12:08:21 »
BuiltInCategory - это Enum, соответственно как Value лучше взять константу перечисления и потом преобразовать к типу (BuiltInCategory)Value. К примеру, OST_PipeCurves = -2008044.
Соответственно:
int v= -2008044;
Autodesk.Revit.DB.BuiltInCategory bc =(Autodesk.Revit.DB.BuiltInCategory)v;//OST_PipeCurves

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

  • ADN OPEN
  • Сообщений: 23
  • Карма: 0
Re: Поиск элементов
« Ответ #6 : 01-06-2021, 14:14:22 »
спасибо за ответ, попробую