[.Net] Работа с материалами

Автор DragDen, 23.11.20, 20:48:07

« назад - далее »

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

DragDen

Доброго дня!

Возник такой вопрос - есть ли возможность через Renga API модифицировать перечень материалов и стилей, зарегистрированных в проекте? Из изучения интерфейсов, предоставляемых API, вроде есть возможность получения материала по его идентификатору через MaterialManager, однако возможности добавлять новые и вносить изменения в существующие материалы найти не удалось.
Конечно, через графический интерфейс это можно сделать, но интересует возможность реализовать это именно через Renga API.
Или, возможно, подобное можно реализовать каким-либо иным способом?
Заранее благодарен за ответ.

p3452

API Renga плох тремя "несуразностями".
1. Справка по API на английском языке!? (достаточно странно для "Российской BIM системы").
2. API ориентирован только на ЧТЕНИЕ (не менее "странно", учитывая низкий уровень автоматизации построений в программе).
3. Пастельные тона всего, что связанно с Renga - интерфейс, справка, документация, сайт,..., справка API Renga.

Tyan Evgeniy

Здравствуйте! Сейчас к сожалению нет возможности редактировать материал. Пока что реализовано только редактирование пользовательских свойств.
Опишите пожалуйста вашу задачу, речь о каком-то каталоге?

p3452

Цитата: Tyan Evgeniy от 24.11.20, 08:58:21Пока что реализовано только редактирование пользовательских свойств.

Прогресс!!!
А вот мне интересно, а добавить программно можно ЭТИ свойства?!
Или, добавь вначале руками ЭТИ свойства (объект с ЭТИМИ свойствами), а потом уже можешь программно их редактировать?

DragDen

Цитата: Tyan Evgeniy от 24.11.20, 08:58:21Здравствуйте! Сейчас к сожалению нет возможности редактировать материал. Пока что реализовано только редактирование пользовательских свойств.
Опишите пожалуйста вашу задачу, речь о каком-то каталоге?

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

Задача по сути весьма простая - на основе полученных из внешнего источника данных автоматически занести параметры материалов и стилей в проект, чтобы этого не приходилось делать вручную.

Цитата: p3452 от 24.11.20, 11:21:22Прогресс!!!
А вот мне интересно, а добавить программно можно ЭТИ свойства?!
Или, добавь вначале руками ЭТИ свойства (объект с ЭТИМИ свойствами), а потом уже можешь программно их редактировать?

Да, пользовательские свойства можно добавлять через Renga.IPropertyManager, методы RegisterProperty и затем - AssignPropertyToType.
Пример (на VB.NET):
Private PROP_GUID As Guid = Guid.Parse("ba44d2cc-6d51-42c9-a11a-e4c7416da212")
Private Sub RegisterProperty(app As Renga.Application)
    Dim prj As Renga.IProject = app.Project
    Dim propManager As Renga.IPropertyManager = prj.PropertyManager

    Dim propDesc As New Renga.PropertyDescription() With
        {
            .Name = "Доп.свойства",
            .Type = Renga.PropertyType.PropertyType_String
        }

    propManager.RegisterProperty(PROP_GUID, propDesc)
    propManager.AssignPropertyToType(PROP_GUID, Renga.ObjectTypes.Wall)
End Sub

Tyan Evgeniy

Цитата: DragDen от 25.11.20, 13:37:37Задача по сути весьма простая - на основе полученных из внешнего источника данных автоматически занести параметры материалов и стилей в проект, чтобы этого не приходилось делать вручную.

Спасибо! Уточните о каких стилях речь?
С материалами понятно. Задача такая есть в планах, но о сроках пока ничего сказать не могу(


p3452

DragDen,  спасибо за ответ и пример!
(Проблемы с английским, не позволяют нормально освоить  API Renga)