---
title: "Интерфейс IArc3D"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, iarc3d]
sources:
  - iarc3d.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Вспомогательные объекты, 3D-кривые и элементы тела  > 3D-кривые и элементы тела  > Интерфейс IModelObjects  > IModelObjects - свойства *


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

Интерфейс параметров 3D дуги.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IArc3D
ILocalCSObject
Примечание:
Интерфейс можно получить у коллекции дуг, используя свойство IArcs3D::Arc3D или метод IArcs3D::Add.
С помощью метода IUnknown::QueryInterface у интерфейса можно получить интерфейс подчиненного объекта ЛСК ILocalCSObject.


## Angle1 - Начальный угол дуги 3D

Тип данных: double
Синтаксис Automation:
```
Angle1 = Object.Angle1    Получить свойство (* )
Object.Angle1 = Angle1    Установить свойство (* )
Angle1 = Object.GetAngle1()    Получить свойство (**)
Object.SetAngle1( Angle1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Angle1( &Angle1 )    Получить свойство
Object.put_Angle1( Angle1 )    Установить свойство
```


## Angle2 - Конечный угол дуги 3D

Тип данных: double
Синтаксис Automation:
```
Angle2 = Object.Angle2    Получить свойство (* )
Object.Angle2 = Angle2    Установить свойство (* )
Angle2 = Object.GetAngle2()    Получить свойство (**)
Object.SetAngle2( Angle2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Angle2( &Angle2 )    Получить свойство
Object.put_Angle2( Angle2 )    Установить свойство
```


## AssociationObject - Установить опорный объект для вершины

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
AssociationObject = Object.AssociationObject( Index )    Получить свойство (* )
Object.AssociationObject( Index ) = AssociationObject    Установить свойство (* )
AssociationObject = Object.GetAssociationObject( Index )    Получить свойство (**)
Object.SetAssociationObject( Index, AssociationObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AssociationObject( Index, &AssociationObject )    Получить свойство
Object.put_AssociationObject( Index, AssociationObject )    Установить свойство
Входные параметры
Index - индекс вершины из перечисления ksArc3DParameterEnum
Свойство позволяет связать вершину дуги с уже имеющимся точечным объектом.
```


## BuildingObject - Вспомогательный объект для построения

Тип данных: указатель на интерфейс IModelObject
Синтаксис Automation:
```
BuildingObject = Object.BuildingObject    Получить свойство (* )
Object.BuildingObject = BuildingObject    Установить свойство (* )
BuildingObject = Object.GetBuildingObject()    Получить свойство (**)
Object.SetBuildingObject( BuildingObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BuildingObject( &BuildingObject )    Получить свойство
Object.put_BuildingObject( BuildingObject )    Установить свойство
```


## BuildingType - Способ построения дуги 3D

Тип данных: из перечисления ksArc3DBuildingTypeEnum
Синтаксис Automation:
```
BuildingType = Object.BuildingType    Получить свойство (* )
Object.BuildingType = BuildingType    Установить свойство (* )
BuildingType = Object.GetBuildingType()    Получить свойство (**)
Object.SetBuildingType( BuildingType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_BuildingType( &BuildingType )    Получить свойство
Object.put_BuildingType( BuildingType )    Установить свойство
```


## BuildingVectorParameters - Параметры вектора

Тип данных: указатель на интерфейс IVector3D
Синтаксис Automation:
```
BuildingVectorParameters = Object.BuildingVectorParameters    Получить свойство (* )
BuildingVectorParameters = Object.GetBuildingVectorParameters()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_BuildingVectorParameters( &BuildingVectorParameters )    Получить свойство
Свойство позволяет задать направление дуги с помощью вектора.
```
Примечание
Свойство доступно только для чтения.


## Closed - Признак замкнутости дуги

Тип данных: BOOL
Синтаксис Automation:
```
Closed = Object.Closed    Получить свойство (* )
Object.Closed = Closed    Установить свойство (* )
Closed = Object.GetClosed()    Получить свойство (**)
Object.SetClosed( Closed )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Closed( &Closed )    Получить свойство
Object.put_Closed( Closed )    Установить свойство
```


## Direction - Направление построения дуги

Тип данных: BOOL
Синтаксис Automation:
```
Direction = Object.Direction    Получить свойство (* )
Object.Direction = Direction    Установить свойство (* )
Direction = Object.GetDirection()    Получить свойство (**)
Object.SetDirection( Direction )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Direction( &Direction )    Получить свойство
Object.put_Direction( Direction )    Установить свойство
Значения свойства:
TRUE    - дуга по умолчанию,
FALSE    - дополняющая дуга.
```


## DirectionPointIndex - Индекс вершины, для которой задано направление

Тип данных: из перечисления ksArc3DParameterEnum
Синтаксис Automation:
```
DirectionPointIndex = Object.DirectionPointIndex    Получить свойство (* )
Object.DirectionPointIndex = DirectionPointIndex    Установить свойство (* )
DirectionPointIndex = Object.GetDirectionPointIndex()    Получить свойство (**)
Object.SetDirectionPointIndex( DirectionPointIndex )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DirectionPointIndex( &DirectionPointIndex )    Получить свойство
Object.put_DirectionPointIndex( DirectionPointIndex )    Установить свойство
```


## GetPoint - Получить координаты точки дуги 3D

Синтаксис Automation:
```
BOOL GetPoint( ksArc3DParameterEnum Index, double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetPoint( ksArc3DParameterEnum Index, double * X, double * Y, double * Z, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Index - индекс вершины из перечисления ksArc3DParameterEnum.
Выходные параметры
X, Y, Z - координаты точки.
```


## Point3DParameters - Получить интерфейс параметров точки

Тип данных: указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
Point3DParameters = Object.Point3DParameters( Index )    Получить свойство (* )
Point3DParameters = Object.GetPoint3DParameters( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Point3DParameters( Index, &Point3DParameters )    Получить свойство
Входные параметры:
Index - индекс вершины из перечисления ksArc3DParameterEnum.
Свойство позволяет задать вершину дуги, используя способы построения точки.
```
Примечание
Свойство доступно только для чтения.


## Point3DParametersType - Тип параметров построения точки

Тип данных: из перечисления ksPoint3DTypeEnum
Синтаксис Automation:
```
Point3DParametersType = Object.Point3DParametersType( Index )    Получить свойство (* )
Object.Point3DParametersType( Index ) = Point3DParametersType    Установить свойство (* )
Point3DParametersType = Object.GetPoint3DParametersType( Index )    Получить свойство (**)
Object.SetPoint3DParametersType( Index, Point3DParametersType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Point3DParametersType( Index, &Point3DParametersType )    Получить свойство
Object.put_Point3DParametersType( Index, Point3DParametersType )    Установить свойство
Входные параметры:
Index - индекс вершины из перечисления ksArc3DParameterEnum
```


## Radius - Радиус дуги 3D

Тип данных: double
Синтаксис Automation:
```
Radius = Object.Radius    Получить свойство (* )
Object.Radius = Radius    Установить свойство (* )
Radius = Object.GetRadius()    Получить свойство (**)
Object.SetRadius( Radius )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Radius( &Radius )    Получить свойство
Object.put_Radius( Radius )    Установить свойство
```


## SetPoint - Установить координаты точки дуги 3D

Синтаксис Automation:
```
BOOL SetPoint( ksArc3DParameterEnum Index, double X, double Y, double Z );
```
Синтаксис COM:
```
HRESULT SetPoint( ksArc3DParameterEnum Index, double X, double Y, double Z, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры
Index    - индекс вершины из перечисления ksArc3DParameterEnum,
X, Y, Z    - координаты точки.
Метод позволяет также задавать углы и радиус, которые будут построены путем проецирования точки на дугу.
```
