ModelBuilder имеет встроенную логику, определяющую, какие процессы в модели должны запускаться в первую очередь и обеспечивать данные, необходимые для успешного выполнения последующих, зависимых процессов. Это происходит автоматически, когда вы выполняете подключения, используя выходные данные одного инструмента в качестве входных данных для другого инструмента. Но иногда вам может потребоваться контролировать последовательность операций между двумя связанными, но все же раздельными процессами. В таких случаях контролировать последовательность операций можно с помощью предварительно заданных условий. Процесс можно заставить работать после другого процесса, сделав выходные данные первого процесса предварительным условием для второго процесса. Предварительным условием для работы инструмента можно сделать любую переменную. В свою очередь, любой инструмент может иметь несколько предварительных условий.
Как задать предварительное условие
В этом примере два отдельных, но связанных между собой процесса будут соединены с помощью предварительного условия, согласно которому один процесс выполняется перед другим. В первой строке процессов происходит создание нового набора классов объектов в новой файловой базе геоданных. Во втором процессе происходит перенос класса пространственных объектов в область исследования, где выходные данные записываются во вновь созданный набор классов объектов.

Если приведенная выше модель будет выполняться как есть, то контролировать порядок операций не получится. Инструмент Вырезание может быть выполнен даже раньше, чем будет создано его выходное местоположение, что приведет к ошибке.
В представленной ниже модели переменную Выходной набор классов объектов надо назначить в качестве предварительного условия для инструмента Вырезание. Выполнив это условие, инструмент Вырезание будет выполнен после того, как будут созданы Создать набор классов объектов и Выходной набор классов объектов.

Для того, чтобы сделать переменную условием для инструмента, используйте один из возможных приемов:
- Щелкните на желаемой переменной и, удерживая левую кнопку мыши, переместите курсор на инструмент, а затем отпустите кнопку мыши, когда курсор будет находиться на вершине инструмента, чтобы создать соединительную линию предварительного условия между переменной и инструментом.
- Откройте инструмент либо двойным щелчком на инструменте, либо щелкнув правой кнопкой мыши и выбрав команду Открыть. Щелкните вкладку Свойства, а затем щелкните стрелку ниспадающего списка Предварительное условие и выберите из списка переменную. При необходимости можно о добавить несколько предварительных условий. Когда вы нажмете OK, между переменной и инструментом появится соединительная линия предварительного условия.