Создавая схемы в Visio, вы могли столкнуться с ситуацией, когда созданная схема ведет себя совсем не так, как ожидалось при масштабировании.

Сегодня мы рассмотрим способы, позволяющие добиться корректного масштабирования ваших фигур и схем в Visio.

В этой статье я рассмотрю работу с Visio 2007, в следующей повторю для Visio 2016.

В этой статье – мы рассматривали создание виртуальной организации в AD.

Давайте нарисуем простую схему её структуры в Visio.

2021-03-11_17-35-36.png

Схема примитивная, но для демонстрации сгодится.

Теперь выделим всю схему сделаем несколько копий и уменьшим их в несколько раз:

2021-03-11_15-53-47.png

Как видите ни шрифт, ни линии нормально не масштабируются.

Чтобы решить проблему с масштабированием шрифта нам потребуется использовать Таблицу свойств фигуры (На английском называется - ShapeSheet).

Создание масштабируемой фигуры (Shape)

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

Два раза щелкните на него и добавьте текст - 12345

Чтобы получить доступ к таблице вы должны выбрать надпись, а потом Окно – Показать таблицу свойств фигуры.

Чтобы было удобнее работать выберите пункт меню Окно -> Рядом

2021-03-10_17-29-01.png

В поле Width – введите

50mm

В поле Height – введите

20mm

Щелкните правой кнопкой мыши по пустому пространству в окне <ФИГУРА> И выберите «Добавить раздел…»

2021-03-10_17-35-58.png2021-03-10_17-35-58.png

Откроется окно:

2021-03-10_17-36-58.png

Поставьте галочку User-defined cells и нажмите Ok

В таблицу схемы была добавлена новая строка:

2021-03-10_17-40-16.png

Вместо User.Row_1 введите

Width_LineWeight

В поле Value

50mm

Щелкните правой кнопкой мыши по введенным данным и выберите – Вставить строку

2021-03-10_17-42-04.png

Новую строку заполните данными:

Width_CharSize = 10 mm

Добавьте строки

 

Height_LineWeight = 10mm
Height_CharSize = 100 mm
AntiScale = ThePage!PageScale/ThePage!DrawingScale

Найдите раздел Line Format

2021-03-10_17-48-18.png

В нём в поле LineWeight введите

=SETATREFEXPR(1 pt)*(Width/SETATREF(User.Width_LineWeight,SETATREFEVAL(Width))+Height/SETATREF(User.Height_LineWeight,SETATREFEVAL(Height)))/2*User.AntiScale

Найдите Character и поле Size и введите формулу:

=SETATREFEXPR(12 pt)*(Width/SETATREF(User.Width_CharSize,SETATREFEVAL(Width))+Height/SETATREF(User.Height_CharSize,SETATREFEVAL(Height)))/2*User.AntiScale

Данные формулы я взял отсюда, в этой статье можете подробнее прочитать как они работают.

Теперь если мы будем изменять масштаб, толщина линии будет изменяться соответственно.

Сделаем несколько копий схемы с разным масштабом:

2021-03-11_12-44-16.png

Как видите, всё выглядит как должно.

Этот метод удобен тем, что вы так же можете, например, изменить размер шрифта и он будет продолжать масштабироваться!

Создаем набор элементов

Прежде чем продолжить, создадим набор элементов.

Наборы элементов служат хранилищем для фигур и могут быть перенесены между разными ПК.

Выберем меню Файл -> Фигуры -> Создать набор элементов

2021-03-11_12-48-08.png 

В разделе фигуры появится пункт Набор элементов 2

 2021-03-11_12-49-27.png 

Перетащите созданную фигуру в левую панель - появится новый элемент

 2021-03-11_12-51-00.png

Щелкните правой кнопкой мыши на элементе и выберите «Переименовать образец»

2021-03-11_12-52-45.png

Введите «Прямоуг-к» можно ввести слово и целиком, но тогда не влезет в одну строчку.

Нажмите на кнопку сохранения и выберите куда сохранить файл и его имя:

2021-03-11_12-55-44.png

Набор элементов будет сохранен.

Аналогично создайте фигуры – текст, линия, эллипс.

Используя созданные фигуры заново создадим схему.

2021-03-11_15-48-43.png

Как видите, масштабирование работает как нужно.

Заключение

Сегодня мы рассмотрели масштабирование фигур в Visio.

Создали тестовую диаграмму и рассмотрели, как она себя ведет при масштабировании.

Создали новый элемент и задали для него пользовательские элементы и прописали формулы для задания толщины линий и размера шрифта.

Создали масштабируемые элементы и поместили их в набор элементов.

Используя набор элементов создали новую схему и продемонстрировали, что масштабирование корректно работает.