— У тебя не найдется черной гелевой ручки?
— Была где-то... Или не была... Я скоро вообще, наверное, разучусь писать без клавиатуры.
— Хорошо же тебе живется! Впрочем, мне тоже было хорошо. До сегодняшнего дня.
— А что же произошло сегодня ?
— Дробь.
— Не понял ?
— Ну, дробь. А, деленное на В, равняется С, и все такое прочее. Местами трехэтажное. Это нужно набрать и распечатать. А в Word все буквы выстраиваются только в одну строчку. В одну! Поэтому трехэтажными у меня сегодня выходят совсем другие выражения... И тут наша секретарша вспомнила, что ее мама когда-то подрабатывала перепечаткой диссертаций на машинке, и когда в тексте попадались формулы, она оставляла пропуски, а потом дорисовывала нужные закорючки от руки. Так вот, нет ли у тебя ручки ?
— Кажется, ручки у меня перевелись. Вымерли, как динозавры. Или как пишущие машинки.
— Это потому, что тебе до сих пор не приходилось набирать формулы.
— Это потому, что я знаю, как их набирать.
— А как ?
Как разработчик образов, вы должны точно контролировать вид и поведение создаваемых вами образов. Вы можете изменить стандартное поведение образа и усложнить его с помощью редактирования определенных формул. Многие объекты Microsoft Visio (к примеру, страницы, документы, шаблоны, направляющие и стили) также имеют формулы, которые вы можете редактировать.
Эта глава познакомит вас с базовыми концепциями и терминами формул Microsoft Visio.
Объекты Microsoft Visio сохраняются «внутри» в виде набора формул. Например, когда вы смотрите на образ в окне чертежа, вы видите его воспроизведенным графически, и он при этом ведет себя согласно своим формулам.
Когда вы смотрите на тот же образ в окне ShapeSheet, вы видите лежащие в его основе формулы, которые определяют вид и поведение данного образа на чертежной странице. Эти два окна просто дают вам разные взгляды на один и тот же образ. В окне чертежа некоторые изменения, которые вы производите с объектом, вызываются его формулами. Например, когда вы перемещаете образ Инструментом Указатель, приложение Microsoft Visio пересчитывает формулы, определяющие центр вращения образа pin на странице, поскольку эти формулы отвечают за расположение образа на странице.
Однако окно ShapeSheet дает вам более точный контроль над видом и поведением объекта, поэтому для изменений его поведения вы можете редактировать формулы объекта. Где бы вы ни меняли объект — в окне чертежа или в окне ShapeSheet — все видоизменения автоматически сохраняются, когда вы сохраняете документ Microsoft Visio, который содержит данный объект.
Вывод на экран окна ShapeSheet
Многие объекты Microsoft Visio — образы, группы, направляющие линии и точки, страницы, документы, стили, вставленные объекты из других приложений — имеют лежащие в их основе формулы, которые вы можете редактировать и тем самым менять поведение объекта. Для того, чтобы отредактировать формулы объекта, вы должны сначала вывести на экран окно ShapeSheet для этого объекта.
Когда окно ShapeSheet активно, поля меню содержат команды для работы с формулами объекта.
Вы можете редактировать формулы в выбранной ячейке или в поле формулы.
Каждая часть ShapeSheet изображает набор связанных формул.
Как вывести на экран окно ShapeSheet для объекта на чертежной странице
1. Укажите объект в окне чертежа.
2. Для того, чтобы указать образ внутри группы (если настройка его группового поведения позволяет это), сначала укажите группу, а затем —образ.
3. Выберите Window -> Show ShapeSheet.
4. Для того, чтобы вывести на экран инструментальную панель разработчика, выберите View -> Toolbars, а затем нажмите Developer.
Совет: Для того, чтобы добавить команду Show ShapeSheet к всплывающему меню образов (щелчок правой кнопкой мыши), выберите Tools -> Options, перейдите к следующей вкладке и укажите параметр Run In Developer Mode.
Этот параметр добавляет подменю расширений -> к меню инструментов.
Чертежные страницы, стили, документы Microsoft Visio и шаблоны в трафаретах тоже имеют формулы, которые вы можете редактировать.
Как вывести на экран окно ShapeSheet для страницы, стиля или документа
1. Выберите View -> Windows-> Drawing, Explorer. Появится окно Drawing Explorer.
2. Нажмите, чтобы открыть или закрыть папку.
3. В окне Drawing Explorer нажмите правой кнопкой мыши на документе, странице или желаемом стиле, а затем выберите из ниспадающего меню команду Show ShapeSheet.
Совет: Вы можете вывести на экран и окно ShapeSheet для страницы, выбрав Window О Show ShapeSheet и ничего не указав на странице.
Как вывести на экран окно ShapeSheet для шаблона на трафарете
1. В случае, если шаблон находится в самостоятельном трафарете, то выберите File -> Stencils -> Open Stencil и укажите трафаретный файл, который содержит необходимый вам шаблон. Убедитесь, что в диалоговом окне Open Stencil указан параметр Original или Сору. В случае, если шаблон находится в трафарете открытого документа Microsoft Visio, то выберите Window -> Show Document Stencil.
2. В трафаретном окне Microsoft Visio нажмите правой кнопкой мыши на шаблоне и выберите всплывающего меню команду Редактировать шаблон (Edit Master). Кроме того, вы можете вывести на экран чертежное окно шаблона, щелкнув правой кнопкой мыши на шаблоне в окне проводника Drawing Explorer и выбрав из всплывающего меню команду Edit Master.
3. В чертежном окне шаблона, ничего не указывая, выберите Window -> Show ShapeSheet. В случае, если указан параметр Developer Mode, то вы можете щелкнуть правой кнопкой мышина чертежном окне шаблона и выбрать команду Show ShapeSheet.
Вывод на экран различных разделов окна ShapeSheet
Окно ShapeSheet поделено на секции ячейками, которые содержат формулы, определяющие взаимосвязанные аспекты вида и поведения объекта. Внутри себя приложение Microsoft Visio не изображает на экране все возможные секции окна ShapeSheet. Некоторые секции остаются скрытыми просто для того, чтобы сберечь пространство экрана, другие появляются только тогда, когда они необходимы. Например, чтобы создать команду, которая будет появляться в меню образа, вы должны дополнить образ секцией действия Actions либо с помощью команды Insert -> Section в окне ShapeSheet, либо через режим автоматизации.
Как показать или скрыть секции в окне ShapeSheet
1. Нажмите на титульной панели окна ShapeSheet и выберите View -> Sections.
2. В диалоговом окне Разделы (Sections) укажите секции, которые хотите выбрать и отключите секции, которые хотите скрыть, а затем нажмите ОК. В случае, если секция выглядит тусклой, то она не доступна, поскольку не существует для этого объекта.
Как добавить секции, используя окно ShapeSheet
1. Выберите Insert -> Section.
2. В диалоговом окне Вставить секцию (Insert Section) укажите секции, которые хотите добавить к объекту, а затем нажмите ОК.
Секции отображаются в окне ShapeSheet в фиксированном порядке (не выше или ниже секции, которую вы можете видеть), поэтому вам придется прокрутить окно ShapeSheet, чтобы найти вновь вставленные секции.
Геометрические секции не похожи на другие типы тем. Объект может иметь несколько геометрических секций и только одну секцию других типов. Указав параметр Geometry в диалоговом окне Insert Section, вы добавите «пустую» геометрическую секцию, которая содержит ряд MoveTo и LineTo. Указав параметр Эллипс (Ellipse) или Бесконечная линия (Infinite Line), вы добавите геометрическую секцию, которая содержит ряд одного эллипса или бесконечной линии.
Совет: Вы можете расширить или сжать секцию в окне ShapeSheet, просто щелкнув на имени секции.
Что «контролируют» секции ShapeSheet
Каждая секция ShapeSheet контролирует некоторый аспект объекта Microsoft Visio. Как разработчику образов, вам необходимо знать, какие секции контролируют поведение, которое вы хотите изменить.
Как проверить образ в окне ShapeSheet
1. Укажите образ в чертежном окне.
2. Выберите Window-> Show ShapeSheet, чтобы вывести на экран окно ShapeSheet.
3. Выберите Window -> Tile, чтобы расположить бок о бок окно ShapeSheet и чертежное окно.
Выбор определенных рядов или ячеек в окне ShapeSheet выявляет соответствующий вертекс в чертежном окне.
Для этого, нарисуйте простой образ с прямыми линейными сегментами (к примеру, прямоугольник или многоугольник), а затем выведите на экран окно ShapeSheet. В окне ShapeSheet опробуйте любое из следующих действий и оцените воздействие на образ в чертежном окне:
Укажите геометрический ряд и выберите I-> или Insert -> Row After. Вводите свои значения в ячейки вставленного ряда. На образе появится новый вертекс с назначенными вами координатами.
Совет: В случае, если окно ShapeSheet изображает в ячейках значения, а не формулы (что часто случается с шаблонами, поставляемыми вместе с Microsoft Visio), то выберите View Ф Formulas, чтобы вывести на экран формулы. Вы можете вывести на экран ту секцию, которая была невидимой, или скрыть ту секцию, которая вас не интересует.
В чертежном окне вы можете поменять образ, используя чертежные инструменты и команды Microsoft Visio, а затем посмотреть, что происходит с формулами образа. Попробуйте любое из следующих действий:
В окне ShapeSheet попробуйте менять различные ячейки Protection от 1 до 0 и отмечайте изменения на указателях образа в чертежном окне. Делая ссылку, вы можете ввести в ячейки Protection слова TRUE или FALSE вместо 1 или 0, но ячейки всегда будут изображать либо 1, либо 0.
Формула — это выражение, которое содержит константы, функции, операторы и ссылки на ячейки. Приложение Microsoft Visio рассчитывает по формуле результат и переводит его в соответствующие единицы для ячейки, которая содержит формулу.
Некоторые формулы состоят из одной константы, но все формулы проходят через этот процесс пересчета и конвертации.
Выбрав определенную команду в меню View вы можете увидеть в окне ShapeSheet содержание любой ячейки, либо в виде значений, либо в виде формул.
Важно: Многое из того, что вы делаете с образами в режиме автоматизации, может быть сделано настройкой формул для этих же образов.
Ввод и редактирование формул в окне ShapeSheet
Вы можете редактировать формулу ячейки и менять то, как будет рассчитываться значение этой ячейки, в результате изменится поведение данного образа. Например, ячейка -> (Height) в секции Shape Transform содержит формулу, которую вы можете отредактировать и изменить при этом высоту образа.
Вы вводите и редактируете формулы в окне -> почти тем же способом, какой использовался в работе с любым «табличным» приложением.
Приложение Microsoft Visio считает формулой все, что находится в ячейке — даже числовую константу, ряд или ссылку, но многие ячейки Microsoft Visio требуют особого типа (к примеру, размер), поэтому, все, что вы вводите в них, подразумевает единицу измерения (к примеру, дюймы или сантиметры). Инструментальный набор Microsoft Visio автоматически конвертирует естественный результат формулы в эквивалентный результат того типа, который требуется ячейкой, содержащей формулу. Например, ячейка FlipX в секции Shape Transform требует булеановский результат — Истинно (TRUE) или Ложно (FALSE). Следовательно, в ячейке FlipX любая формула, которая дает в результате положительное число, конвертируется в значение Истинно, а любая формула, которая дает в результате ноль, конвертируется в Ложно.
Для того, чтобы ввести формулу, укажите ячейку и введите ее либо в самой ячейке, либо в панели формулы.
Выберите ячейку, а затем введите или отредактируйте формулу и нажмите клавишу Enter.
Нажмите кнопку Cancel, чтобы отменить изменения в формуле.
Совет: Нажмите правой кнопкой мыши на ячейке ShapeSheet, чтобы вывести на экран ее всплывающее меню, содержащее команды, которые вы можете использовать для редактирования ячейки.
Функция выполняет одну хорошо определенную задачу. Большинство функций используют фиксированное число аргументов в качестве входных данных, хотя некоторые функции их вообще не имеют, другие пользуются различным числом аргументов, а есть и такие, которым необходимы параметрические аргументы. Несмотря на то, что тип и число аргументов зависят от функции, все функции имеют один и тот же общий синтаксис:
FUNCTION(argument1, argument2, ... argumentN)
Функции, которые вы можете использовать в формулах Microsoft Visio могут быть:
Многие другие функции в приложении Microsoft Visio являются уникальными (к примеру, GUARD, GRAVITY или RUNADDON).
Важно: Некоторые функции, возникающие в формулах, генерируются приложением Microsoft Visio, но не указываются в диалоговом окне Insert Function. Эти функции начинаются с одной подчеркивающей линии (к примеру, _ELLIPSE_THETA). Они зарезервированы для внутреннего использования и не применяются в других формулах.
Операторы
Оператор выполняет операцию, обычно комбинируя два операнда для получения результата. Многие операторы могут быть классифицированы как арифметические (сложение, вычитание, умножение и т.д.) или как логические (больше чем, меньше чем или равный такому-то), хотя один оператор (причинная связь) комбинирует два условия в одно. Операнд может быть константой (одним значением) или выражением (содержащим одну или более функций), которые пересчитываются к одному значению.
Когда формула содержит более одного оператора, операторы пересчитываются в определенном порядке . Например, оператор умножения * рассчитывается раньше оператора сложения +.
Давайте рассмотрим следующее выражение: 4 + 5*6. Так как старшинство у умножения выше, чем у сложения, то сначала 5 умножается * на 6, а затем их произведение 30 прибавляется к 4, выдавая результат — 34. Вы можете изменить порядок пересчета, группируя выражения в круглых скобках. Например: (4 + 5) * 6. Так как выражение 4 + 5 заключено в круглые скобки, оно будет рассчитываться первым, и только потом сумма 9 умножается на 6, выдавая результат — 54.
В случае, если выражения вставлены в круглые скобки, то приложение Microsoft Visio начинает счет с выражения в самом внутреннем наборе круглых скобок и затем переходит к более внешним выражениям.
Единицы измерения в формулах Microsoft Visio
Приложение Microsoft Visio рассчитывает результат формулы по разному в зависимости от ячейки, в которую вы внесли эту формулу.
Обычно ячейки, которые отвечают за расположение образа, размеры или угол, требуют пары число-единица измерения, то есть эта пара состоит из числа и единиц измерения, необходимых для интерпретации числа. Например, формула в ячейке Width имеет результат — 5. Но это может означать и 5 дюймов, и 5 сантиметров в зависимости от того, какие единицы измерения используются в данном чертеже. Другие ячейки не имеют присущих им единиц измерения и рассчитываются до условия («истинно», «ложно») или до индекса в зависимости от природы ячейки. Например, если формула в ячейке FillForegnd равна 5, то это означает, что из Палитры цветов чертежа берется цвет 5. А если тот же результат мы видим в ячейке LockWidt, то это означает «истинно» (только 0 равносилен «ложно») и вызывает блокировку ширины образа.
Для большей эффективности всегда указывайте в ваших формулах необходимые единицы измерения. Не полагайтесь на то, что приложение Microsoft Visio снабдит вас правильными единицами. В случае, если вы не указываете единицу измерения рядом с числом, результат будет рассчитываться с использованием внутренних единиц, определенных для ячейки, — а это могут быть страничные единицы, чертежные единицы или угловые единицы.
Страничные единицы измеряют размеры на печатаемой странице, включая типографскую систему мер. Страничные единицы обычно используются для толщины линий и размеров шрифта, которые не связаны с размерами чертежа.
Чертежные единицы указывают систему мер реального мира. Допустим, 50-метровый пруд (чертежная единица), который показан на бумаге 10-сантиметровым (страничная единица). К примеру, если вы введете в ячейку Ширина значение формулы, равное 50, а в чертежных единицах требуется пара — число и единица измерения — то приложение Microsoft Visio снабдит страницу набором чертежных единиц для режима умолчания и в соответствии с ними пересчитает формулу.
Угловые единицы измеряют угловые расстояния — вращение образа в градусах и радианах. В качестве внутренних единиц приложение Microsoft Visio использует дюймы для измерения расстояний, радианы для измерения углов и дни для измерения продолжительности.'
Многомерные единицы
Формула Microsoft Visio, которая умножает или делит пространственные единицы, выдает результат в многомерных единицах. Эти единицы могут сохраняться в некоторых ячейках. Например, если образ в чертежных единицах имеет 5 футов в ширину и 10 футов в высоту, то формула = Width * Height дает результат 50 ft ^2 (50 квадратных футов). Ячейки, которые могут сохранять многомерные результаты, таковы:
Функция FORMAT используется для демонстрации многомерных единиц с такими сокращениями, как sq. in.
Не забывайте, что умножение комбинирует значение, имеющее единицу измерения, и значение, не имеющее единицы измерения. В случае, если такой расчет приводит к умножению двух значений с единицами измерения, то многомерный результат может оказаться бессмыслицей. Например, если такая ячейка цвета, как FillForegnd, настроена на результат двух геометрических ячеек, вы получите сообщение #DIM error, пoскольку геометрические ячейки всегда имеют единицы измерения, а ячейка FillForegnd не может содержать многомерное значение.
Определение единиц измерения
Так как многие чертежи отображают физические объекты, вы можете определить единицы измерения в метрической системе и измерять углы в радианах, десятичных градусах или в градусах, минутах и секундах дуг. Кроме того, вы можете использовать стандартную типографскую систему мер — пики, кегли и цицеро. Для большей эффективности всегда определяйте единицы измерения, когда вводите формулу в ячейку, которая предназначена для пространственного значения.
Разработка качественных формул Microsoft Visio требует большего, чем просто верный синтаксис. Разработчик образов должен понимать, где образ получает свои формулы в режиме по умолчанию. Он должен знать преимущества и недостатки сохранения формул в определенных ячейках, а также уметь защищать выбранные формулы от небрежных изменений и контролировать пересчет формул для лучшего их выполнения.