systemcomposer.view.ElementGroup

Класс, который представляет группу элементов представления архитектуры

    Описание

    Используйте ElementGroup класс для управления группами элементов в представлениях архитектуры для модели System Composer™.

    Создание

    Создайте вид и получите Root свойство.

    objView = createView(objModel);
    objElemGroup = objView.Root

    The createView метод является конструктором для systemcomposer.view.View класс и его Root свойство возвращает systemcomposer.view.ElementGroup который определяет вид.

    Свойства

    расширить все

    Имя группы элементов, заданное как вектор символов.

    Пример: 'NewElementGroup'

    Типы данных: char

    Универсальный уникальный идентификатор для группы элементов, заданный как вектор символов.

    Пример: '91d5de2c-b14c-4c76-a5d6-5dd0037c52df'

    Типы данных: char

    Элементы на виде, заданные как массив systemcomposer.arch.BaseComponent объекты.

    Подгруппы в группе родительских элементов, заданные как массив systemcomposer.view.ElementGroup объекты.

    Функции объекта

    addElementДобавление компонента к группе видов элементов
    removeElementУдалите компонент из группы видов элементов
    createSubGroupСоздайте подгруппу в группе видов элементов
    getSubGroupПолучите подгруппу в группе представления элемента
    deleteSubGroupУдалите подгруппу в группе представления элемента
    destroyУдалите элемент модели

    Примеры

    свернуть все

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

    1. Импортируйте пакет с запросами.

    import systemcomposer.query.*;

    2. Откройте файл проекта Simulink ® для системы входа без ключей.

    scKeylessEntrySystem

    3. Загрузите модель примера в System Composer™.

    zcModel = systemcomposer.loadModel('KeylessEntryArchitecture');

    Пример 1: Просмотр состояния аппаратного компонента

    Создайте отфильтрованное представление, которое выбирает все аппаратные компоненты в модели архитектуры и группирует их с помощью ReviewStatus свойство.

    1. Создайте запрос, чтобы выбрать все аппаратные компоненты.

    hwCompQuery = HasStereotype(IsStereotypeDerivedFrom('AutoProfile.HardwareComponent'))
    hwCompQuery = 
      HasStereotype with properties:
    
        AllowedParentConstraints: {1x3 cell}
                   SubConstraint: [1x1 systemcomposer.query.IsStereotypeDerivedFrom]
                  SkipValidation: 0
    
    

    2. Используйте запрос для создания представления.

    zcModel.createView('Hardware Component Review Status',...
     'Select',hwCompQuery,... % Query to use for the selection
     'GroupBy',{'AutoProfile.BaseComponent.ReviewStatus'},... % Stereotype property to qualify by
     'IncludeReferenceModels',true,... % Include components in referenced models
     'Color','purple');

    3. Откройте Галерею видов архитектуры.

    zcModel.openViews

    Пример 2: Вид поставщика системы определения местоположения FOB

    В этом примере показано, как создать вид произвольной формы, который вручную извлекает компоненты из системы определения местоположения FOB, а затем группирует их с помощью существующих и новых компонентов представления для поставщиков. В этом примере для программного заполнения представления используются группы элементов, группы компонентов в представлении.

    1. Создайте архитектуру представления.

    fobSupplierView = zcModel.createView('FOB Locator System Supplier Breakdown',...
        'Color','lightblue');

    2. Добавьте подгруппу под названием 'Supplier D'. Добавьте FOB Locator Module в подгруппу элементов представления.

    supplierD = fobSupplierView.Root.createSubGroup('Supplier D');
    supplierD.addElement('KeylessEntryArchitecture/FOB Locator System/FOB Locator Module');

    3. Создайте новую подгруппу для 'Supplier A'.

    supplierA = fobSupplierView.Root.createSubGroup('Supplier A');

    4. Добавьте каждую из Приемников FOB, чтобы просмотреть подгруппу элементов.

    FOBLocatorSystem = zcModel.lookup('Path','KeylessEntryArchitecture/FOB Locator System');
    
    % Find all the components which contain the name "Receiver"
    receiverCompPaths = zcModel.find(...
        contains(systemcomposer.query.Property('Name'),'Receiver'),...
        FOBLocatorSystem.Architecture);
    
    supplierA.addElement(receiverCompPaths)

    Подробнее о

    расширить все

    Введенный в R2021a