Класс, представляющий представление архитектуры
Используйте View класс для управления представлениями архитектуры для модели System Composer™.
Создание вида.
objView = createView(objModel)
createView метод является конструктором для systemcomposer.view.View класс.
Name - Наименование видаИмя представления, указанное как символьный вектор.
Пример: 'NewView'
Типы данных: char
Root - Группа корневых элементовКорневая группа элементов, определяющая представление, указанная как systemcomposer.view.ElementGroup объект.
Model - Модель архитектурыАрхитектурная модель, к которой принадлежит вид, заданная как systemcomposer.arch.Model объект.
UUID - Универсальный уникальный идентификаторУниверсальный уникальный идентификатор представления, заданный как символьный вектор.
Пример: '91d5de2c-b14c-4c76-a5d6-5dd0037c52df'
Типы данных: char
Select - Запрос выбораЗапрос выбора, связанный с представлением, указанный как systemcomposer.query.Constraint объект.
GroupBy - Критерии группировкиКритерий группирования, указанный в форме как строковый массив свойств '<profile>.<stereotype>.<property>'.
Пример: {"AutoProfile.MechanicalComponent.mass","AutoProfile.MechanicalComponent.cost"}
Color - Цвет архитектуры видаЦвет архитектуры вида, определяемый как символьный вектор. Цвет может быть именем 'blue', 'black', или 'green' или значение RGB, закодированное в шестнадцатеричной строке '#FF00FF' или '#DDDDDD'. Недопустимый цвет приводит к ошибке.
Пример: color = get(objViewArchitecture,'Color')
Description - Описание архитектуры видаОписание архитектуры представления, указанное как символьный вектор.
Пример: description = get(objView,'Description')
Пример: set(objView,'Description',description)
Типы данных: char
IncludeReferenceModels - включать ли ссылочные модели;true или 1 | false или 0Включать ли ссылочные модели, указанные как логические со значениями 1 (true) или 0 (false).
Пример: included = get(objView,'IncludeReferenceModels')
Типы данных: logical
modifyQuery | Изменение структуры представления запросов и групп свойств |
runQuery | Повторное выполнение запроса представления архитектуры для модели |
removeQuery | Удалить запрос представления архитектуры |
destroy | Удалить элемент модели |
В этом примере показано, как использовать бесключевую систему ввода для программного создания представлений архитектуры с помощью API.
1. Импортируйте пакет с запросами.
import systemcomposer.query.*;2. Откройте файл проекта Simulink ® для системы бесключевого ввода.
scKeylessEntrySystem
3. Загрузите пример модели в системный 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)

| Термин | Определение | Приложение | Дополнительные сведения |
|---|---|---|---|
| посмотреть | Вид показывает настраиваемое подмножество элементов в модели. Представления можно фильтровать на основе стереотипов или имен компонентов, портов и интерфейсов, а также имени, типа или единиц элемента интерфейса. Создание видов путем извлечения элементов вручную. Представления создают упрощенный способ работы со сложными архитектурами, фокусируясь на определенных частях дизайна архитектуры. | Для представления системы можно использовать различные типы ракурсов:
Точка зрения представляет перспективу стейкхолдеров, которая определяет содержание представления. | |
| группа элементов | Группа элементов - это группировка компонентов на виде. | Группы элементов используются для программного заполнения вида. | Программное создание архитектурных представлений |
| вопрос | Запрос - это спецификация, описывающая определенные ограничения или критерии, которые должны удовлетворяться элементами модели. | Используйте запросы для поиска элементов с критериями ограничения и фильтрации представлений. | Поиск элементов в модели с помощью запросов |
createView | deleteView | getView | openViews | systemcomposer.view.ElementGroup
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.