Создайте и отредактируйте аннотации программно

Аннотации являются визуальными элементами, которые можно использовать, чтобы добавить описательные примечания и выноски к модели. В дополнение к аннотациям только для текста можно создать аннотации что:

  • Открытые веб-сайты

  • Выполните команды MATLAB®

  • Изображения на дисплее

  • Визуально дифференцируйте области блок-схем

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

Создайте аннотацию программно

Программно создайте, измените и просмотрите аннотацию.

Откройте новую модель.

open_system(new_system)

Создайте аннотацию со свойствами по умолчанию с помощью Simulink.Annotation функция.

a = Simulink.Annotation(gcs,'This is an annotation.');

После создания аннотации используйте запись через точку, чтобы установить значения свойств. Например, примените шрифт с 18 точками и голубой фон к аннотации.

a.FontSize = 18;
a.BackgroundColor = 'lightBlue';

Чтобы просмотреть и кратко подсветить новую аннотацию, используйте view функция.

view(a)

Программно найдите и измените существующие аннотации

Программно найдите и измените свойства аннотации.

Откройте vdp модель.

vdp

Чтобы найти аннотации в модели, используйте find_system функция.

h = find_system(gcs,'FindAll','on','Type','annotation');

Чтобы идентифицировать аннотации, запросите текст в аннотациях при помощи get_param функция.

get_param(h,'PlainText')
ans = 2x1 cell
    {'Copyright 2004-2020 The MathWorks, Inc.'}
    {'van der Pol Equation'                   }

Предположим, что вы хотите применить голубой цвет фона к 'van der Pol Equation' аннотация.

Получите Simulink.Annotation объект путем определения соответствующего индекса массива.

a = get_param(h(2),'Object');

Используйте запись через точку, чтобы установить значение BackgroundColor свойство.

a.BackgroundColor = 'lightBlue';

Удалите аннотацию

Программно удалите аннотацию.

Откройте vdp модель.

vdp

Чтобы получить указатели для аннотаций в модели, используйте find_system функция.

h = find_system(gcs,'FindAll','on','Type','annotation');

Чтобы идентифицировать аннотации, запросите текст в аннотациях.

get_param(h,'PlainText')
ans = 2x1 cell
    {'Copyright 2004-2020 The MathWorks, Inc.'}
    {'van der Pol Equation'                   }

Удалить заголовок модели ('van der Pol Equation'), получите Simulink.Annotation объект, который соответствует второму указателю.

a = get_param(h(2),'Object');

Удалите аннотацию из модели.

delete(a)

Создайте аннотации, которые содержат гиперссылки

Для аннотаций обогащенного текста можно использовать форматирование HTML, чтобы добавить гиперссылку на текст в рамках аннотации.

Откройте новую модель.

open_system(new_system)

Создайте две аннотации, переместив одну из аннотаций так, чтобы она не перекрывала другой.

a1 = Simulink.Annotation(gcs,'This is an annotation.');
a2 = Simulink.Annotation(gcs,'This is another annotation.');
a2.Position = [0 20 28 34];

Чтобы создать гиперссылку в аннотации, установите Interpreter к 'rich' и задайте гиперссылку в Text свойство.

a1.Interpreter = 'rich';
a1.Text = 'Go to <a href="www.mathworks.com">www.mathworks.com</a>.';

Можно также встроить функции MATLAB в гиперссылку.

a2.Interpreter = 'rich';
a2.Text = '<a href="matlab:magic(4)">Generate magic square</a>.';

Для получения дополнительной информации см. Создание гиперссылок который Функции Запуска.

Добавьте изображение в модель

Добавьте изображение в свою модель, такую как логотип, путем создания аннотации только для изображения.

Откройте новую модель и создайте аннотацию в нем.

open_system(new_system)
a = Simulink.Annotation(gcs,'This is an annotation.');

Измените аннотацию, чтобы отобразить только заданное изображение.

img = fullfile(matlabroot,'toolbox','matlab','imagesci','peppers.png');
setImage(a,img)

Создайте область программно

Создайте аннотацию области в модели.

Откройте vdp модель.

open_system('vdp')

Создайте область, которая включает некоторые блоки в модели.

add_block('built-in/Area','vdp/This is an area','Position',[120,100,230,200])

Создайте и скройте аннотацию разметки

Чтобы создать аннотации, которые могут быть легко скрыты, создайте аннотации разметки.

Откройте новую модель.

open_system(new_system)

Создайте две аннотации и переместите вторую аннотацию так, чтобы она не перекрывала первую аннотацию.

a1 = Simulink.Annotation(gcs,'This is a model annotation.');
a2 = Simulink.Annotation(gcs,'This is a markup annotation.');
a2.Position = [0 20 28 34];

По умолчанию вы создаете аннотации модели, которые появляются в модели.

Измените вторую аннотацию в аннотацию разметки.

a2.MarkupType = 'markup';

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

set_param(gcs,'ShowMarkup','off');

Обе аннотации остаются, несмотря на скрытую аннотацию разметки.

ah = find_system(gcs,'FindAll','on','Type','annotation');
at = get_param(ah,'Text')
at = 2x1 cell
    {'This is a markup annotation.'}
    {'This is a model annotation.' }

Найдите аннотацию, выполняющую функцию обратного вызова

Если аннотация вызвала функцию обратного вызова выполняющегося в данного момента, используйте getCallbackAnnotation определить, какая аннотация вызвала его. Функция возвращает соответствующий Annotation объект. Эта функция также полезна, если вы написали функцию обратного вызова в отдельном файле MATLAB, который содержит несколько вызовов коллбэка.

Смотрите также

| | | |

Похожие темы