---
title: "Интерфейс IPathPattern"
type: interface
api: [api7]
domain: [feature]
tags: [interface, api7, feature, ipathpattern]
sources:
  - ipathpattern.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Операции, массивы, эскизы, точки  > Массивы  > Интерфейс IFeaturePattern  > IFeaturePattern - методы *


## Интерфейс IPathPattern

Интерфейс параметров операции копирования вдоль кривой.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IFeaturePattern
IPathPattern
Интерфейс используется для операций:
| o3d_curveCopy | 37 | Массив операций по кривой |
| --- | --- | --- |
| o3d_curvePartArray | 40 | Массив компонентов по кривой для сборки |
| o3d_AuxCurveCopy | 506 | Массив вспомогательной геометрии по кривой |
| o3d_BodiesCurveCopy | 530 | Массив тел по кривой |
Интерфейс можно получить в коллекции массивов IFeaturePatterns.


## BoundaryInstancesStepFactor - Интерпретация значения шага

Тип данных: BOOL
Синтаксис Automation:
```
BoundaryInstancesStepFactor = Object.BoundaryInstancesStepFactor    Получить свойство (* )
Object.BoundaryInstancesStepFactor = BoundaryInstancesStepFactor    Установить свойство (* )
BoundaryInstancesStepFactor = Object.GetBoundaryInstancesStepFactor()    Получить свойство (**)
Object.SetBoundaryInstancesStepFactor( BoundaryInstancesStepFactor )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BoundaryInstancesStepFactor( &BoundaryInstancesStepFactor )    Получить свойство
Object.put_BoundaryInstancesStepFactor( BoundaryInstancesStepFactor )    Установить свойство
Значения свойства:
TRUE    - шаг – расстояние между крайними экземплярами,
FALSE    - шаг – расстояние между соседними экземплярами.
```


## ByStep - Способ построения массива

Тип данных: BOOL
Синтаксис Automation:
```
ByStep = Object.ByStep    Получить свойство (* )
Object.ByStep = ByStep    Установить свойство (* )
ByStep = Object.GetByStep()    Получить свойство (**)
Object.SetByStep( ByStep )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ByStep( &ByStep )    Получить свойство
Object.put_ByStep( ByStep )    Установить свойство
Значения свойства:
TRUE    - по шагу,
FALSE    - вдоль всей направляющей.
```


## Count - Количество экземпляров

Тип данных: long
Синтаксис Automation:
```
Count = Object.Count    Получить свойство (* )
Object.Count = Count    Установить свойство (* )
Count = Object.GetCount()    Получить свойство (**)
Object.SetCount( Count )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Count( &Count )    Получить свойство
Object.put_Count( Count )    Установить свойство
```


## Curves - Массив кривых - траектория копирования

Тип данных: VARIANT
Синтаксис Automation:
```
Curves = Object.Curves    Получить свойство (* )
Object.Curves = Curves    Установить свойство (* )
Curves = Object.GetCurves()    Получить свойство (**)
Object.SetCurves( Curves )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Curves( &Curves )    Получить свойство
Object.get_Curves( &Curves )    Установить свойство
```
Примечание:
Если используется одна кривая, то тип VARIANT-а VT_DISPATCH.
Если используется несколько кривых, то тип VARIANT-а VT_ARRAY | VT_DISPATCH.


## ReverseDirection - Направление построения массива

Тип данных: BOOL
Синтаксис Automation:
```
ReverseDirection = Object.ReverseDirection    Получить свойство (* )
Object.ReverseDirection = ReverseDirection    Установить свойство (* )
ReverseDirection = Object.GetReverseDirection()    Получить свойство (**)
Object.SetReverseDirection( ReverseDirection )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ReverseDirection( &ReverseDirection )    Получить свойство
Object.put_ReverseDirection( ReverseDirection )    Установить свойство
Значения свойства:
TRUE    - обратное направление,
FALSE    - прямое направление.
```


## SaveInitialOrientation - Ориентация экземпляров массива

Тип данных: BOOL
Синтаксис Automation:
```
SaveInitialOrientation = Object.SaveInitialOrientation    Получить свойство (* )
Object.SaveInitialOrientation = SaveInitialOrientation    Установить свойство (* )
SaveInitialOrientation = Object.GetSaveInitialOrientation()    Получить свойство (**)
Object.SetSaveInitialOrientation( SaveInitialOrientation )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SaveInitialOrientation( &SaveInitialOrientation )    Получить свойство
Object.put_SaveInitialOrientation( SaveInitialOrientation )    Установить свойство
Значения свойства:
TRUE    - сохранять исходную ориентацию,
FALSE    - доворачивать до нормали к траектории.
```


## StartingPoint - Начальная точка для замкнутой траектории

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
StartingPoint = Object.StartingPoint    Получить свойство (* )
Object.StartingPoint = StartingPoint    Установить свойство (* )
StartingPoint = Object.GetStartingPoint()    Получить свойство (**)
Object.SetStartingPoint( StartingPoint )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_StartingPoint( &StartingPoint )    Получить свойство
Object.put_StartingPoint( StartingPoint )    Установить свойство
```


## Step - Значение шага (измеряется вдоль траектории)

Тип данных: double
Синтаксис Automation:
```
Step = Object.Step    Получить свойство (* )
Object.Step = Step    Установить свойство (* )
Step = Object.GetStep()    Получить свойство (**)
Object.SetStep( Step )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Step( &Step )    Получить свойство
Object.put_Step( Step )    Установить свойство
```
