systemcomposer.view.ElementGroup

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

    Описание

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

    Создание

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

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

    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. Откройте галерею Architecture Views.

    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