---
title: "Интерфейс IConicSurface"
type: interface
api: [api7]
tags: [interface, api7, iconicsurface]
sources:
  - iconicsurface.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Поверхности  > Интерфейс ISurfaceContainer  > ISurfaceContainer - свойства *


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

Интерфейс поверхности конического сечения.
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IConicSurface
Примечание:
Интерфейс можно получить, используя свойство IConicSurfaces::ConicSurface и метод IConicSurfaces::Add.
Версия КОМПАС v22


## ApexCurve - Вершинная кривая

Тип данных: VARIANT
Синтаксис Automation:
```
ApexCurve = Object.ApexCurve    Получить свойство (* )
Object.ApexCurve = ApexCurve    Установить свойство (* )
ApexCurve = Object.GetApexCurve()    Получить свойство (**)
Object.SetApexCurve( ApexCurve )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ApexCurve( &ApexCurve )    Получить свойство
Object.put_ApexCurve( ApexCurve )    Установить свойство
КOMPAS v24
```


## BuildingType - Способ построения треугольника

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


## DirectionObjects1 - Первый список направляющих

Тип данных: VARIANT
Синтаксис Automation:
```
DirectionObjects1 = Object.DirectionObjects1    Получить свойство (* )
Object.DirectionObjects1 = DirectionObjects1    Установить свойство (* )
DirectionObjects1 = Object.GetDirectionObjects1()    Получить свойство (**)
Object.SetDirectionObjects1( DirectionObjects1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DirectionObjects1( &DirectionObjects1 )    Получить свойство
Object.put_DirectionObjects1( DirectionObjects1 )    Установить свойство
```
Примечание:
Направляющие передаются в виде SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH.


## DirectionObjects2 - Второй список направляющих

Тип данных: VARIANT
Синтаксис Automation:
```
DirectionObjects2 = Object.DirectionObjects2    Получить свойство (* )
Object.DirectionObjects2 = DirectionObjects2    Установить свойство (* )
DirectionObjects2 = Object.GetDirectionObjects2()    Получить свойство (**)
Object.SetDirectionObjects2( DirectionObjects2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DirectionObjects2( &DirectionObjects2 )    Получить свойство
Object.put_DirectionObjects2( DirectionObjects2 )    Установить свойство
```
Примечание:
Направляющие передаются в виде SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH.


## GetTrianglePoint - Получить точки треугольников, в которые вписаны начало и конец поверхности конического сечения

Синтаксис Automation:
```
BOOL GetTrianglePoint( BOOL BeginSide, ksConicSectionTrianglePointEnum PointIndex, double * X, double * Y, double * Z );
```
Синтаксис COM:
```
HRESULT GetTrianglePoint( BOOL BeginSide, ksConicSectionTrianglePointEnum PointIndex, double * X, double * Y, double * Z, BOOL * Result );
Входные параметры:
BeginSide    - TRUE - начальная сторона, - FALSE - конечная сторона,
PointIndex    - индекс точки из перечисления ksConicSectionTrianglePointEnum.
Выходные параметры:
X, Y, Z    - координаты точки,
```


## Inverse - Сменить направление построения поверхности

Тип данных: BOOL
Синтаксис Automation:
```
Inverse = Object.Inverse    Получить свойство (* )
Object.Inverse = Inverse    Установить свойство (* )
Inverse = Object.GetInverse()    Получить свойство (**)
Object.SetInverse( Inverse )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Inverse( &Inverse )    Получить свойство
Object.put_Inverse( Inverse )    Установить свойство
(отсутствуют).
```


## IsSelfIntersect - Проверять самопересечение

Тип данных: BOOL
Синтаксис Automation:
```
IsSelfIntersect = Object.IsSelfIntersect    Получить свойство (* )
Object.IsSelfIntersect = IsSelfIntersect    Установить свойство (* )
IsSelfIntersect = Object.GetIsSelfIntersect()    Получить свойство (**)
Object.SetIsSelfIntersect( IsSelfIntersect )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_IsSelfIntersect( &IsSelfIntersect )    Получить свойство
Object.put_IsSelfIntersect( IsSelfIntersect )    Установить свойство
(отсутствуют).
```


## MovementAxisLine - Осевая линия движения сечения

Тип данных: VARIANT
Синтаксис Automation:
```
MovementAxisLine = Object.MovementAxisLine    Получить свойство (* )
Object.MovementAxisLine = MovementAxisLine    Установить свойство (* )
MovementAxisLine = Object.GetMovementAxisLine()    Получить свойство (**)
Object.SetMovementAxisLine( MovementAxisLine )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MovementAxisLine( &MovementAxisLine )    Получить свойство
Object.put_MovementAxisLine( MovementAxisLine )    Установить свойство
```
Примечание:
Набор кривых для осевой линии передаются в виде SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH.
(отсутствуют).


## MovementDirectionObject - Направляющий объект для движения сечения

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
MovementDirectionObject = Object.MovementDirectionObject    Получить свойство (* )
Object.MovementDirectionObject = MovementDirectionObject    Установить свойство (* )
MovementDirectionObject = Object.GetMovementDirectionObject()    Получить свойство (**)
Object.SetMovementDirectionObject( MovementDirectionObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MovementDirectionObject( &MovementDirectionObject )    Получить свойство
Object.put_MovementDirectionObject( MovementDirectionObject )    Установить свойство
(отсутствуют).
```


## MovementType - Движение сечения

Тип данных: из перечисления ksConicSurfaceMovementTypeEnum
Синтаксис Automation:
```
MovementType = Object.MovementType    Получить свойство (* )
Object.MovementType = MovementType    Установить свойство (* )
MovementType = Object.GetMovementType()    Получить свойство (**)
Object.SetMovementType( MovementType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MovementType( &MovementType )    Получить свойство
Object.put_MovementType( MovementType )    Установить свойство
(отсутствуют).
```


## MovementVector - Направляющий вектор для движения сечения

Тип данных: Указатель на интерфейс IVector3D
Синтаксис Automation:
```
MovementVector = Object.MovementVector    Получить свойство (* )
MovementVector = Object.GetMovementVector()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_MovementVector( &MovementVector )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## SectionCurveCoefficient - Коэффициент

Тип данных: double
Синтаксис Automation:
```
SectionCurveCoefficient = Object.SectionCurveCoefficient    Получить свойство (* )
Object.SectionCurveCoefficient = SectionCurveCoefficient    Установить свойство (* )
SectionCurveCoefficient = Object.GetSectionCurveCoefficient()    Получить свойство (**)
Object.SetSectionCurveCoefficient( SectionCurveCoefficient )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SectionCurveCoefficient( &SectionCurveCoefficient )    Получить свойство
Object.put_SectionCurveCoefficient( SectionCurveCoefficient )    Установить свойство
Входные параметры:
ValueType    - Тип движения сечения из перечисления ksSideAngleTypeEnum.
```
Примечание:
Коэффициент определяет начальную и конечную величину для построения кривой сечения, заданной константным выражением.


## SectionCurveFormType - Способ задания формы кривой конического сечения

Тип данных: из перечисления ksConicSurfaceSectionCurveFormEnum
Синтаксис Automation:
```
SectionCurveFormType = Object.SectionCurveFormType    Получить свойство (* )
Object.SectionCurveFormType = SectionCurveFormType    Установить свойство (* )
SectionCurveFormType = Object.GetSectionCurveFormType()    Получить свойство (**)
Object.SetSectionCurveFormType( SectionCurveFormType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SectionCurveFormType( &SectionCurveFormType )    Получить свойство
Object.put_SectionCurveFormType( SectionCurveFormType )    Установить свойство
```


## SectionCurveLawObject - Закон. Эскиз с кривой, определяющей функцию y=f(x) кривой сечения

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
SectionCurveLawObject = Object.SectionCurveLawObject    Получить свойство (* )
Object.SectionCurveLawObject = SectionCurveLawObject    Установить свойство (* )
SectionCurveLawObject = Object.GetSectionCurveLawObject()    Получить свойство (**)
Object.SetSectionCurveLawObject( SectionCurveLawObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SectionCurveLawObject( &SectionCurveLawObject )    Получить свойство
Object.put_SectionCurveLawObject( SectionCurveLawObject )    Установить свойство
```


## SectionCurveLawType - Тип функции для построения кривой конического сечения

Тип данных: из перечисления ksLawTypeEnum
Синтаксис Automation:
```
SectionCurveLawType = Object.SectionCurveLawType    Получить свойство (* )
Object.SectionCurveLawType = SectionCurveLawType    Установить свойство (* )
SectionCurveLawType = Object.GetSectionCurveLawType()    Получить свойство (**)
Object.SetSectionCurveLawType( SectionCurveLawType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SectionCurveLawType( &SectionCurveLawType )    Получить свойство
Object.put_SectionCurveLawType( SectionCurveLawType )    Установить свойство
```


## SectionCurveOnSurface - Кривая на поверхности для задания формы кривой сечения

Тип данных: VARIANT
Синтаксис Automation:
```
SectionCurveOnSurface = Object.SectionCurveOnSurface    Получить свойство (* )
Object.SectionCurveOnSurface = SectionCurveOnSurface    Установить свойство (* )
SectionCurveOnSurface = Object.GetSectionCurveOnSurface()    Получить свойство (**)
Object.SetSectionCurveOnSurface( SectionCurveOnSurface )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SectionCurveOnSurface( &SectionCurveOnSurface )    Получить свойство
Object.put_SectionCurveOnSurface( SectionCurveOnSurface )    Установить свойство
```
Примечание:
Кривые передаются в виде SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH.


## SectionCurveTangentSurface - Кривая на поверхности для задания формы кривой сечения

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
SectionCurveTangentSurface = Object.SectionCurveTangentSurface    Получить свойство (* )
Object.SectionCurveTangentSurface = SectionCurveTangentSurface    Установить свойство (* )
SectionCurveTangentSurface = Object.GetSectionCurveTangentSurface()    Получить свойство (**)
Object.SetSectionCurveTangentSurface( SectionCurveTangentSurface )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SectionCurveTangentSurface( &SectionCurveTangentSurface )    Получить свойство
Object.put_SectionCurveTangentSurface( SectionCurveTangentSurface )    Установить свойство
(отсутствуют).
```


## SideAngle - Значение угла для построения угла треугольника

Тип данных: double
Синтаксис Automation:
```
SideAngle = Object.SideAngle( FirstSide, ValueType )    Получить свойство (* )
Object.SideAngle( FirstSide, ValueType ) = SideAngle    Установить свойство (* )
SideAngle = Object.GetSideAngle( FirstSide, ValueType )    Получить свойство (**)
Object.SetSideAngle( FirstSide, ValueType, SideAngle )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SideAngle( FirstSide, ValueType, &SideAngle )    Получить свойство
Object.put_SideAngle( FirstSide, ValueType, SideAngle )    Установить свойство
Входные параметры:
BOOL FirstSide    - TRUE - первая сторона, FALSE - вторая сторона,
ValueType    - тип движения сечения из перечисления ksSideAngleTypeEnum.
```


## SideAngleBuildingType - Условие построения

Тип данных: из перечисления ksConicSurfaceSideAngleBuildingTypeEnum
Синтаксис Automation:
```
SideAngleBuildingType = Object.SideAngleBuildingType( FirstSide )    Получить свойство (* )
Object.SideAngleBuildingType( FirstSide ) = SideAngleBuildingType    Установить свойство (* )
SideAngleBuildingType = Object.GetSideAngleBuildingType( FirstSide )    Получить свойство (**)
Object.SetSideAngleBuildingType( FirstSide, SideAngleBuildingType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SideAngleBuildingType( FirstSide, &SideAngleBuildingType )    Получить свойство
Object.put_SideAngleBuildingType( FirstSide, SideAngleBuildingType )    Установить свойство
Входные параметры:
BOOL FirstSide    - TRUE - первая сторона, FALSE - вторая сторона.
```


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

Тип данных:BOOL
Синтаксис Automation:
```
SideAngleDirection = Object.SideAngleDirection( FirstSide )    Получить свойство (* )
Object.SideAngleDirection( FirstSide ) = SideAngleDirection    Установить свойство (* )
SideAngleDirection = Object.GetSideAngleDirection( FirstSide )    Получить свойство (**)
Object.SetSideAngleDirection( FirstSide, SideAngleDirection )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SideAngleDirection( FirstSide, &SideAngleDirection )    Получить свойство
Object.put_SideAngleDirection( FirstSide, SideAngleDirection )    Установить свойство
Входные параметры:
BOOL FirstSide    - TRUE - первая сторона, FALSE - вторая сторона.
```


## SideAngleLawObject - Закон. Эскиз с кривой, определяющей функцию y=f(x) угла наклона боковой стороны треугольника сечения

Тип данных: Указатель на интерфейс IModelObject
Синтаксис Automation:
```
SideAngleLawObject = Object.SideAngleLawObject( FirstSide )    Получить свойство (* )
Object.SideAngleLawObject( FirstSide ) = SideAngleLawObject    Установить свойство (* )
SideAngleLawObject = Object.GetSideAngleLawObject( FirstSide )    Получить свойство (**)
Object.SetSideAngleLawObject( FirstSide, SideAngleLawObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SideAngleLawObject( FirstSide, &SideAngleLawObject )    Получить свойство
Object.put_SideAngleLawObject( FirstSide, SideAngleLawObject )    Установить свойство
Входные параметры:
BOOL FirstSide    - TRUE - первая сторона, FALSE - вторая сторона.
```


## SideAngleLawType - Тип функции для построения угла треугольника

Тип данных: из перечисления ksLawTypeEnum
Синтаксис Automation:
```
SideAngleLawType = Object.SideAngleLawType( FirstSide )    Получить свойство (* )
Object.SideAngleLawType( FirstSide ) = SideAngleLawType    Установить свойство (* )
SideAngleLawType = Object.GetSideAngleLawType( FirstSide )    Получить свойство (**)
Object.SetSideAngleLawType( FirstSide, SideAngleLawType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SideAngleLawType( FirstSide, &SideAngleLawType )    Получить свойство
Object.put_SideAngleLawType( FirstSide, SideAngleLawType )    Установить свойство
Входные параметры:
BOOL FirstSide    - TRUE - первая сторона, FALSE - вторая сторона.
```


## SideBuildingType - Способ построения стороны в треугольнике

Тип данных: из перечисления ksConicSurfaceSideBuildingTypeEnum
Синтаксис Automation:
```
SideBuildingType = Object.SideBuildingType( FirstSide )    Получить свойство (* )
Object.SideBuildingType( FirstSide ) = SideBuildingType    Установить свойство (* )
SideBuildingType = Object.GetSideBuildingType( FirstSide )    Получить свойство (**)
Object.SetSideBuildingType( FirstSide, SideBuildingType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SideBuildingType( FirstSide, &SideBuildingType )    Получить свойство
Object.put_SideBuildingType( FirstSide, SideBuildingType )    Установить свойство
Входные параметры:
BOOL FirstSide    - TRUE - первая сторона, FALSE - вторая сторона.
(отсутствуют).
```


## SideFaces - Список направляющих поверхностей стороны треугольника

Тип данных: VARIANT
Синтаксис Automation:
```
SideFaces = Object.SideFaces( FirstSide )    Получить свойство (* )
Object.SideFaces( FirstSide ) = SideFaces    Установить свойство (* )
SideFaces = Object.GetSideFaces( FirstSide )    Получить свойство (**)
Object.SetSideFaces( FirstSide, SideFaces )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SideFaces( FirstSide, &SideFaces )    Получить свойство
Object.put_SideFaces( FirstSide, SideFaces )    Установить свойство
Входные параметры:
BOOL FirstSide    - TRUE - первая сторона, FALSE - вторая сторона.
```
Примечание
Поверхности передаются в виде SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH.
