Категории

Категории в Renga - это объекты инженерных систем, называемые также "категориями", сгруппированные по видам инженерных систем (перечень ограничен). На базе категории может быть создан 1 или несколько стилей (см. о них следующий раздел).

В таблице ниже приведен перечень всех возможных категорий в Renga, информация - каким перечислением EntityTypes описывается категория группы, через какое свойство COM-оболочки проекта Renga.IProject данная категория доступна:

Название группы в RengaEntityTypeСвойство в IProject
Санитарно-техническое оборудованиеPlumbingFixtureCategoryPlumbingFixtureCategories
ОборудованиеEquipmentCategoryEquipmentCategories
Деталь трубопроводаPipeFittingCategoryPipeFittingCategories
Аксессуар трубопроводаPipeAccessoryCategoryPipeAccessoryCategories
Вентиляционное оборудованиеMechanicalEquipmentCategoryMechanicalEquipmentCategories
Деталь воздуховодаDuctFittingCategoryDuctFittingCategories
Аксессуар воздуховодаDuctAccessoryCategoryDuctAccessoryCategories
Электроустановочное изделиеWiringAccessoryCategoryWiringAccessoryCategories
Осветительный приборLightingFixtureCategoryLightingFixtureCategories
Электрический распределительный щитElectricDistributionBoardCategoryElectricDistributionBoardCategories

Создание категорий

С помощью API начиная с версии Renga 8.3 возможен импорт в проект новой категории из RST-файла (создаваемого с помощью STDL). За это отвечает метод ImportCategory у COM-оболочки проекта Renga.IProject. Метод принимает на вход идентификатор импортируемой категории объектов (см. таблицу выше) и абсолютный путь к RST-файлу, возвращаемый объект описывается стандартной COM-оболочкой Renga.IEntity. Далее на основе идентификатора импортированной категории можно создать стиль. Ниже обобщенный пример подобной операции:

[!ATTENTION] Для программного импорта стиля в модель необходимо иметь лицензию на редакцию Professional.

Renga.IProject project;
Guid categoryType = Renga.EntityTypes.MechanicalEquipmentCategory;
Guid typeId = Renga.EntityTypes.MechanicalEquipmentStyle;
string categoryRstPath;

var operation = project.CreateOperation();

operation.Start();
var category = project.ImportCategory(categoryType, categoryRstPath);
operation.Apply();

operation.Start();
var argsUnits = project.MechanicalEquipmentStyles.CreateNewEntityArgs();
argsUnits.TypeId = typeId;
argsUnits.CategoryId = category.Id;
var style = project.MechanicalEquipmentStyles.Create(argsUnits);