e1337e4016
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
468 lines
21 KiB
Markdown
468 lines
21 KiB
Markdown
---
|
||
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.
|