ADN Club > Revit API
Параметры в спецификации
Alexander:
Доброго времени суток!
Возможно ли при создании спецификации самому задать параметры в столбцах?
Например, чтобы уровень был в отдельном столбце.
Спасибо!
Виктор Чекалин:
Александр, добрый день.
С помощью API вы сможете сделать не более чем пользователь может делать в интерфейсе.
Для ответа на ваш вопрос, нужно уточнить пару моментов:
1) Вы создаете спецификацию с помощью API с нуля или редактируете существующую?
2) Я правильно понимаю, что вы хотите добавить новое поле спецификации из произвольного параметра, при этом параметр вы хотите создать так же программно?
Alexander:
Виктор,
я создаю спецификацию с нуля.
Да, параметр я хочу создать программно.
Насколько я понимаю, семейство вместо параметра вставить не получится. Например, какую-нибудь дверь засунуть не в саму таблицу, а в её шапку.
Виктор Чекалин:
Александр,
Программно добавить новое поле в спецификацию можно с помощью метода ScheduleDefinition.AddField().
Чтобы добавить параметр, нужно воспользоваться одним из перегруженных методов и передать еще и идентификатор параметра, который вы хотите вывести.
Например, следующий код добавит в спецификацию поле Семейство и типоразмер в спецификацию.
--- Код: ---definition.AddField(ScheduleFieldType.Instance, new ElementId(BuiltInParameter.ELEM_FAMILY_AND_TYPE_PARAM));
--- Конец кода ---
Если же вы хотите добавить в спецификацию значение собственного параметра, то вам нужно найти идентификатор вашего параметра. Чуть позже найду способ как его найти.
А создавать программно сам параметр вы уже научились?
Кстати не совсем ясно зачем вам создавать параметр при создании спецификцаии. Значение этого параметра ведь будет пустым.
Alexander:
Виктор,
У меня есть несколько уровней, на каждом уровне объекты. Если я строю таблицу и использую AddField(schedulableField.instance), то он выдаёт определённый набор параметров. Я хочу чтобы каждый уровень был в шапке(например 1, 2, 3 и т.д. этаж).
Поэтому думал создать параметр в качестве уровня.
А параметр , насколько понимаю, создаётся с помощью sharedparameter.
Для наглядности таблица их excel(4, 0 это уровни):
Навигация
Перейти к полной версии