Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Получить текущий состав (структуру) сборки ProductStructure
 
У документа T-Flex есть метод GetProductStructures, который позволяет получить коллекцию всех его структур (составов), т. е. коллекцию объектов ProductStructure.
Можно ли как-то получить текущую структуру (т. е. выбранную в окне состава изделия в самом T-Flex) в этой коллекции?
 
ainis, класс "ProductStructure" содержит свойство "IsShownInProductStructureWindow", но оно будет работать только при открытом окне "Состав изделия". По большому счету не важно, какая схема является активной в окне "Состав изделия". Вы можете определить целевую колонку по идентификатору. И если колонка существует, то можно получить данные. Например,
Код
foreach (var ps in document.GetProductStructures())
{
    var schemeId = new Guid("0971322f-b6bb-46ae-891e-1abb26e0a252"); // идентификатор схемы по умолчанию
    if (schemeId != ps.SchemeId)
        continue;

    var scheme = ps.GetScheme();
    var paramId = new Guid("65a997a7-d897-45f8-9723-501243b4ecf7"); // целевой идентификатор пользовательского параметра
    var descriptor = scheme.GetParameterDescriptor(paramId);
    if (descriptor == null)
        continue;

    // последующая обработка данных ...
}

Идентификатор параметра создается автоматически на момент добавления колонки. Получить его можно после выгрузки схемы. Для этого нужно нажать в левой области окна "Параметры состава изделия" на кнопку "Сохранить свойства как тип". Обратите внимание, привязка параметра к переменной модели осуществляется на уровне детали. Выгруженная схема должна быть включена как на уровне детали, так и на уровне сборки (дополнительную информацию см. в разделе Состав изделия, отчеты, спецификация).
T-FLEX CAD 17.0.82.0
Страницы: 1