---
title: "CreateIterator - Создать блок параметров навигации по объектам"
type: guide
api: [api7]
tags: [guide, api7, createiterator]
sources:
  - createiterator.html
---

*API экспортных функций > Функции работы с графическим документом  > Навигация по графическому документу  > Функции навигации *

Пример...
Аналог данной функции при использовании Automation - метод ksIterator::ksCreateIterator
Синтаксис:
```
reference CreateIterator(int searchType, reference parent);
Входные параметры:
searchType    - тип поиска объекта
parent    - указатель на объект (для движения по группе, внутри макроэлемента, по слою).
Типы объектов и интерфейсы...
Возвращаемое значение:
указатель на найденный объект    - в случае успешного завершения,
0    - в случае неудачи.
```
Описание:
1. Передвижение по модели документа (навигация) производится в соответствии с условиями, заданными в специальном блоке параметров. Он содержит тип движения, определяющий режим перемещения (например, по видам, слоям, всем объектам, объектам заданного типа и т.д.) и указатель комплексного объекта (макроэлемента, слоя, группы) при перемещении по составляющим его объектам. Итератор привязан к конкретному режиму графического редактора (например, документу, виду), поэтому вы не сможете использовать один и тот же итератор для навигации в разных видах, штампах и т.п. Итератор сохраняет свое действие до окончания сеанса работы с библиотекой. При переходе внутри библиотечной функции под управление КОМПАС-ГРАФИК, после возврата значение всех итераторов будет сброшено.
2. Итератор работает с атрибутами активного документа.
В случае движения по всем объектам или при движении по объектам определенного типа, можно определить порядок выдачи не только в порядке создания объектов как было прежде, но и в порядке отрисовки.
Для этого searchType нужно задать с минусом.
Например:
MACRO_OBJ - движение по макроэлементам в порядке создания;
-MACRO_OBJ - движение по макроэлементам в порядке отрисовки.
Для движения по всем объектам в порядке отрисовки в таблице Типы графических документов служит константа ALL_OBJ_SHOW_ORDER -1000 - все объекты, которые могут входить в вид, в порядке отрисовки.
Например:
ALL_OBJ - движение по всем объектам в порядке создания.
ALL_OBJ_SHOW_ORDER - движение по всем объектам в порядке отрисовки.
