Класс, который представляет представление архитектуры
Используйте View
класс, чтобы справиться с представлениями архитектуры для модели System Composer™.
Создайте представление.
objView = createView(objModel)
createView
метод является конструктором для systemcomposer.view.View
класс.
Name
— Имя представленияИмя представления в виде вектора символов.
Пример: 'NewView'
Типы данных: char
Root
— Корневая группа элементаКорневая группа элемента, которая задает представление в виде systemcomposer.view.ElementGroup
объект.
Model
— Модель ArchitectureМодель Architecture, где представление принадлежит в виде 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')
Типы данных: логический
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. Откройте галерею 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)
Термин | Определение | Приложение | Больше информации |
---|---|---|---|
представление | Представление показывает настраиваемое подмножество элементов в модели. Представления могут быть отфильтрованы на основе стереотипов или имен компонентов, портов, и интерфейсов, наряду с именем, ввести, или модули интерфейсного элемента. Создайте представления путем получения по запросу в элементах вручную. Представления создают упрощенный способ работать с комплексными архитектурами путем фокусировки на определенных частях проекта архитектуры. | Можно использовать различные типы представлений, чтобы представлять систему:
Точка зрения представляет перспективу заинтересованной стороны, которая задает содержимое представления. | |
группа элемента | Группа элемента является группировкой компонентов в представлении. | Используйте группы элемента, чтобы программно заполнить представление. | Создайте архитектурные представления программно |
запрос | Запрос является спецификацией, которая описывает определенные ограничения или критерии, которым удовлетворят элементы модели. | Используйте запросы, чтобы искать элементы с ограничительными критериями и отфильтровать представления. | Найдите элементы в модели Используя запросы |
createView
| deleteView
| getView
| openViews
| systemcomposer.view.ElementGroup
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.