Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/iarc3d.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
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>
2026-05-26 20:00:05 +03:00

278 lines
11 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 - координаты точки.
Метод позволяет также задавать углы и радиус, которые будут построены путем проецирования точки на дугу.
```