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>
278 lines
11 KiB
Markdown
278 lines
11 KiB
Markdown
---
|
||
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 - координаты точки.
|
||
Метод позволяет также задавать углы и радиус, которые будут построены путем проецирования точки на дугу.
|
||
```
|