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