---
title: "Размеры"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, bc2274179]
sources:
  - bc2274179.html
  - iangledimensions3d.html
  - iarcdimensions3d.html
  - idimension3d.html
  - idiametraldimensions3d.html
  - ilinedimensions3d.html
  - iradialdimensions3d.html
  - iangledimension3d.html
  - iarcdimension3d.html
  - ibaselinedimension3d.html
  - ilinedimension3d.html
  - idiametraldimension3d.html
  - iradialdimension3d.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Оформление *




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

Интерфейс коллекции угловых размеров 3D.
Иерархия:
IKompasAPIObject
IKompasCollection
IModelObject
IAngleDimensions3D
Описание:
Интерфейс позволяет получить и создавать угловые размеры в 3D документе.
Коллекция содержит угловые и угловые с обрывом размеры.
Данный интерфейс можно получить у контейнера условных обозначений, используя свойство ISymbols3DContainer::AngleDimensions3D.


## Add - Добавить угловой размер в коллекцию

Синтаксис Automation:
```
LPDISPATH Add( );
```
Синтаксис COM:
```
HRESULT Add( [out, retval] IAngleDimension3D** Result);
Возвращаемое значение:
- указатель на интерфейс углового размера IAngleDimension3D.
```


## AngleDimension3D - Указатель на угловой размер, заданный по индексу

Тип данных: указатель на интерфейс углового размера IAngleDimension3D
Синтаксис Automation:
```
AngleDimension = iObject.AngleDimension3D( Index );    Получить свойство (* )
AngleDimension = iObject.GetAngleDimension3D( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_AngleDimension3D( Index, &AngleDimension )    Получить свойство
Входные параметры:
Index (Variant)    - Индекс размера в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс размера.
```
Примечание:
1. В качестве индекса может использоваться индекс в коллекции и reference объекта.
2. Свойство доступно только для чтения.


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

Интерфейс коллекции размеров дуг окружностей 3D.
Иерархия:
IDispatch
IKompasAPIObject
IKompasCollection
IModelObjects
IArcDimensions3D
Примечание:
Интерфейс позволяет получить и создавать размеры дуг окружностей в 3D документе.
Данный интерфейс можно получить у контейнера условных обозначений, используя свойство ISymbols3DContainer::ArcDimensions3D.
Версия: Компас v20


## Add - Добавить размер дуги в коллекцию

Синтаксис Automation:
```
LPDISPATCH Add();
```
Синтаксис COM:
```
HRESULT Add( IArcDimension3D * * Result );
Возвращаемое значение:
- Указатель на интерфейс IArcDimension3D.
```


## ArcDimension3D - Получить размер дуги, заданный по индексу

Тип данных: Указатель на интерфейс IArcDimension3D.
Синтаксис Automation:
```
ArcDimension3D = Object.ArcDimension3D( Index )    Получить свойство (* )
ArcDimension3D = Object.GetArcDimension3D( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ArcDimension3D( Index, &ArcDimension3D )    Получить свойство
Входные параметры:
VARIANT Index    - Индекс объекта в коллекции. Поддерживаются следующие типы: VT_I4 - индекс объекта, VT_BSTR - имя объекта, индекс объекта в коллекции (тип VARIANT).
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс размера 3D.
Иерархия:
IDispatch
IDimension3D
Описание:
Интерфейс является дополнительным для размеров 3D.
Версия: Компас v20


## GetDimensionPoint - Получить координаты точек размера

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


## GetTextPosition - Получить положение размерной линии

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


## SetTextPosition - Установить положение размерной линии

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


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

Интерфейс коллекции диаметральных размеров 3D.
Иерархия:
IKompasAPIObject
IKompasCollection
IModelObject
IDiametralDimensions3D
Описание:
Интерфейс позволяет получить и создавать диаметральные размеры в 3D документе.
Данный интерфейс можно получить у контейнера условных обозначений, используя свойство ISymbols3DContainer::DiametralDimensions3D.


## Add - Добавить диаметральный размер в коллекцию

Синтаксис Automation:
```
LPDISPATH Add( );
```
Синтаксис COM:
```
HRESULT Add([out, retval] IDiametralDimension3D** Result);
Возвращаемое значение:
- Указатель на интерфейс диаметрального размера IDiametralDimension3D.
```


## DiametralDimension3D - Указатель на диаметральный размер, заданный по индексу

Тип данных: указатель на интерфейс диаметрального размера IDiametralDimension3D
Синтаксис Automation:
```
DiametralDimension = iObject.DiametralDimension3D( Index );    Получить свойство (* )
DiametralDimension = iObject.GetDiametralDimension3D( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_DiametralDimension3D( Index, &DiametralDimension )    Получить свойство
Входные параметры:
Index (Variant)    Индекс размера в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс размера.
```
Примечание:
1. В качестве индекса может использоваться индекс в коллекции и reference объекта.
2. Свойство доступно только для чтения.


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

Интерфейс коллекции линейных размеров 3D.
Иерархия:
IKompasAPIObject
IKompasCollection
IModelObject
ILineDimensions3D
Описание:
Интерфейс позволяет получить и создавать линейные размеры (от отрезка до точки и на плоскости) в 3D документе.
Коллекция содержит линейные размеры (от отрезка до точки и на плоскости).
Данный интерфейс можно получить у контейнера условных обозначений, используя свойство ISymbols3DContainer::LineDimensions3D.


## Add - Добавить линейный размер в коллекцию

Синтаксис Automation:
```
LPDISPATH Add( );
```
Синтаксис COM:
```
HRESULT Add( ksObj3dTypeEnum DimType, [out, retval] IBaseLineDimension3D** Result);
Входной параметр:
DimType    - тип объекта из перечисления ksObj3dTypeEnum.
Возвращаемое значение:
- указатель на интерфейс линейного размера IBaseLineDimension3D.
```
Примечание:
Для создания линейного размера от отрезка до точки нужно задать значение параметра DimType, равное o3d_baselineDimension3D.
Для создания линейного размера на плоскости нужно задать значение параметра DimType, равное o3d_lineDimension3D.


## LineDimension3D - Указатель на линейный размер, заданный по индексу

Тип данных: указатель на интерфейс линейного размера IBaseLineDimension3D
Синтаксис Automation:
```
LineDimension = iObject.LineDimension3D( Index );    Получить свойство (* )
LineDimension = iObject.GetLineDimension3D( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_LineDimension3D( Index, &LineDimension )    Получить свойство
Входные параметры:
Index (Variant)    - Индекс размера в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс размера.
```
Примечание:
1. В качестве индекса может использоваться индекс в коллекции и reference объекта.
2. Свойство доступно только для чтения.


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

Интерфейс коллекции радиальных размеров 3D.
Иерархия:
IKompasAPIObject
IKompasCollection
IModelObject
IRadialDimensions3D
Описание:
Интерфейс позволяет получить и создавать радиальные размеры в 3D документе.
Данный интерфейс можно получить у контейнера условных обозначений, используя свойство ISymbols3DContainer::RadialDimensions3D.


## Add - Добавить радиальный размер в коллекцию

Синтаксис Automation:
```
LPDISPATH Add( );
```
Синтаксис COM:
```
HRESULT Add([out, retval] IRadialDimension3D** Result);
Возвращаемое значение:
- указатель на интерфейс радиального размера IRadialDimension3D.
```


## RadialDimension3D - Указатель на радиальный размер, заданный по индексу

Тип данных: указатель на интерфейс радиального размера IRadialDimension3D
Синтаксис Automation:
```
RadialDimension = iObject.RadialDimension3D( Index );    Получить свойство (* )
RadialDimension = iObject.GetRadialDimension3D( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_RadialDimension3D( Index, &RadialDimension )    Получить свойство
Входные параметры:
Index (Variant)    - Индекс размера в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс размера.
```
Примечание:
1. В качестве индекса может использоваться индекс в коллекции и reference объекта.
2. Свойство доступно только для чтения.


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

Интерфейс параметров углового размера 3D.
Иерархия:
IKompasAPIObject
IModelObject
IAngleDimension3D
IDimensionText
IDimensionParams
Описание:
Интерфейс позволяет получить и задать свойства углового размера в 3D документе.
Интерфейс можно получить у коллекции угловых размеров в 3D документе, используя свойство IAngleDimensions3D::AngleDimension3D или метод IAngleDimensions3D::Add.
После задания параметров размера требуется вызвать метод IModelObject::Update.
Интерфейсы IDimensionText и IDimensionParams являются дополнительными. Их можно получить с помощью метода IUnknown::QueryInterface.
Примечание:
1.При создании углового размера используются прямолинейные и плоские объекты, которые являются сторонами угла.
Прямолинейные объекты:
•отрезок в эскизе,
•сегмент ломаной,
•вспомогательная ось,
•ребро тела или поверхности.
Плоские объекты:
•координатная плоскость,
•вспомогательная плоскость,
•грань тела или поверхности.
2.Свойство IDimensionText::NominalValue возвращает угол.


## DimensionType - Тип углового размера

Тип данных: из перечисления ksAngleDimTypeEnum
Синтаксис Automation:
```
DimensionType = Object.DimensionType    Получить свойство (* )
Object.DimensionType = DimensionType    Установить свойство (* )
DimensionType = Object.GetDimensionType()    Получить свойство (**)
Object.SetDimensionType( DimensionType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DimensionType( &DimensionType )    Получить свойство (* )
Object.put_DimensionType( DimensionType )    Установить свойство (* )
```


## GetCenterPoint - Получить координаты центра

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


## Inverse - Изменить направление размерных линий

Синтаксис Automation:
```
BOOL Inverse( );
```
Синтаксис COM:
```
HRESULT Inverse( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Функция позволяет изменять направление размерных линий на противоположное, сохраняя их длину.


## Length - Длина выносной линии

Тип данных: double
Синтаксис Automation:
```
Length = Object.Length    Получить свойство (* )
Object.Length = Length    Установить свойство (* )
Object.Length = Length    Получить свойство (**)
Object.SetLength( Length )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Length( &Length )    Получить свойство (* )
Object.put_Length( Length )    Установить свойство (* )
```


## Object1 - Первый объект

Тип данных: указатель на интерфейс модельного объекта IModelObject
Синтаксис Automation:
```
Object1 = Object.Object1    Получить свойство (* )
Object.Object1 = Object1    Установить свойство (* )
Object1 = Object.GetObject1()    Получить свойство (**)
Object.SetObject1( Object1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Object1( &Object1 )    Получить свойство (* )
Object.put_Object1( Object1 )    Установить свойство (* )
```
Примечание:
При создании углового размера используются прямолинейные и плоские объекты, которые являются сторонами угла.
Прямолинейные объекты:
•отрезок в эскизе,
•сегмент ломаной,
•вспомогательная ось,
•ребро тела или поверхности.
Плоские объекты:
•координатная плоскость,
•вспомогательная плоскость,
•грань тела или поверхности.


## Object2 - Второй объект

Тип данных: указатель на интерфейс модельного объекта IModelObject
Синтаксис Automation:
```
Object2 = Object.Object2    Получить свойство (* )
Object.Object2 = Object2    Установить свойство (* )
Object2 = Object.GetObject2()    Получить свойство (**)
Object.SetObject2( Object2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Object2( &Object2 )    Получить свойство (* )
Object.put_Object2( Object2 )    Установить свойство (* )
```
Примечание:
При создании углового размера используются прямолинейные и плоские объекты, которые являются сторонами угла.
Прямолинейные объекты:
•отрезок в эскизе,
•сегмент ломаной,
•вспомогательная ось,
•ребро тела или поверхности.
Плоские объекты:
•координатная плоскость,
•вспомогательная плоскость,
•грань тела или поверхности.


## SetCenterPoint - Установить координаты центра

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


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

Интерфейс размера дуги окружности 3D
Иерархия:
IDispatch
IKompasAPIObject
IModelObject
IArcDimension3D
IDimensionText
IDimensionParams
Описание:
Интерфейс позволяет получить и задать свойства размера размера дуги окружности в 3D документе.
Интерфейс можно получить у коллекции размеров дуг окружностей в 3D документе, используя свойство IArcDimensions3D::ArcDimension3D или метод IArcDimensions3D::Add.
После задания параметров размера требуется вызвать метод IModelObject::Update.
Интерфейсы IDimensionText и IDimensionParams являются дополнительными. Их можно получить с помощью метода IUnknown::QueryInterface.
Версия: Компас v20


## Length - Длина выносной линии

Тип данных: double
Синтаксис Automation:
```
Length = Object.Length    Получить свойство (* )
Object.Length = Length    Установить свойство (* )
Length = Object.GetLength()    Получить свойство (**)
Object.SetLength( Length )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Length( &Length )    Получить свойство
Object.put_Length( Length )    Установить свойство
```


## Object - Дуга окружности

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


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

Интерфейс параметров линейного размера от отрезка до точки 3D.
Иерархия:
IKompasAPIObject
IModelObject
IBaseLineDimension3D
IDimensionText
IDimensionParams
Описание:
Интерфейс позволяет получить и задать свойства линейного размера от отрезка до точки в 3D документе.
Интерфейс можно получить у коллекции линейных размеров в 3D документе, используя свойство ILineDimensions3D::LineDimension3D или метод ILineDimensions3D::Add.
После задания параметров размера требуется вызвать метод IModelObject::Update.
Интерфейсы IDimensionText и IDimensionParams являются дополнительными. Их можно получить с помощью метода IUnknown::QueryInterface.
Примечание:
1. Интерфейс позволяет проставить линейный размер между прямолинейным и точечным объектами. При простановке линейного размера расстояния от ребра до точки в качестве первого объекта можно использовать только прямолинейные объекты, в качестве второго объекта можно использовать только точечные объекты. При простановке линейного размера на плоскости можно использовать и прямолинейные и точечные объекты.
Прямолинейные объекты:
•отрезок в эскизе,
•сегмент ломаной,
•координатная ось,
•вспомогательная ось,
•ребро тела или поверхности.
Точечные объекты:
•точка в эскизе,
•пространственная точка,
•начало координат,
•вершина пространственной кривой,
•вершина тела или поверхности.
2. Свойство IDimensionText::NominalValue возвращает расстояние.


## Length - Длина выносной линии

Тип данных: double
Синтаксис COM:
```
Object.get_Length( &Length )    Получить свойство (* )
Object.put_Length(Length )    Установить свойство (* )
```
Синтаксис Automation:
```
Length = Object.Length    Получить свойство (* )
Object.Length = Length    Установить свойство (* )
Length = Object.GetLength()    Получить свойство (**)
Object.SetLength( Length )    Установить свойство (**)
```


## Object1 - Первый объект

Тип данных: указатель на интерфейс модельного объекта IModelObject
Синтаксис Automation:
```
Object1 = Object.Object1    Получить свойство (* )
Object.Object1 = Object1    Установить свойство (* )
Object1 = Object.GetObject1()    Получить свойство (**)
Object.SetObject1( Object1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Object1( &Object1 )    Получить свойство (* )
Object.put_Object1( Object1 )    Установить свойство (* )
```
Примечание:
При создании линейного размера через по ребру и точке в качестве первого объекта можно использовать только прямолинейные объекты. При создании линейного размера на плоскости можно использовать и прямолинейные и точечные объекты.


## Object2 - Второй объект

Тип данных: указатель на интерфейс модельного объекта IModelObject
Синтаксис Automation:
```
Object2 = Object.Object2    Получить свойство (* )
Object.Object2 = Object2    Установить свойство (* )
Object2 = Object.GetObject2()    Получить свойство (**)
Object.SetObject2( Object2 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Object2( &Object2 )    Получить свойство (* )
Object.put_Object2( Object2 )    Установить свойство (* )
```
Примечание:
При создании линейного размера через по ребру и точке в качестве первого объекта можно использовать только прямолинейные объекты. При создании линейного размера на плоскости можно использовать и прямолинейные и точечные объекты.


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

Интерфейс параметров линейного размера на плоскости 3D.
Иерархия:
IKompasAPIObject
IModelObject
ILineDimension3D
IDimensionText
IDimensionParams
Описание:
Интерфейс позволяет получить и задать свойства линейного размера в 3D документе.
Интерфейс можно получить у коллекции линейных размеров в 3D документе, используя свойство ILineDimensions3D::LineDimension3D или метод ILineDimensions3D::Add.
После задания парамеров размера требуется вызвать метод IModelObject::Update.
Интерфейсы IDimensionText и IDimensionParams являются дополнительными. Их можно получить с помощью метода IUnknown::QueryInterface.
Примечание:
В качестве направляющей плоскости можно использовать:
•координатную плоскость,
•вспомогательную плоскость,
•грань тела или поверхности.


## Plane - Базовая плоскость

Тип данных: указатель на интерфейс модельного объекта IModelObject
Синтаксис Automation:
```
Plane = Object.Plane    Получить свойство (* )
Plane = Object.Plane    Установить свойство (* )
Plane = Object.GetPlane()    Получить свойство (**)
Object.SetPlane( Plane )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Plane( &Plane )    Получить свойство (* )
Object.put_Plane( Plane )    Установить свойство (* )
```
Примечание:
В качестве направляющей плоскости можно использовать:
•координатную плоскость,
•вспомогательную плоскость,
•грань тела или поверхности.


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

Интерфейс параметров диаметрального размера 3D.
Иерархия:
IKompasAPIObject
IModelObject
IDiametralDimension3D
IDimensionText
IDimensionParams
Описание:
Интерфейс позволяет получить и задать свойства диаметрального размера в 3D документе.
Интерфейс можно получить у коллекции диаметральных размеров, используя свойство IDiametralDimensions3D::DiametralDimension3D или метод IDiametralDimensions3D::Add.
После задания параметров размера требуется вызвать метод IModelObject::Update.
Интерфейсы IDimensionText и IDimensionParams являются дополнительными. Их можно получить с помощью метода IUnknown::QueryInterface.
Примечание:
1. При создании радиального и диаметрального размеров используются следующие объекты:
•окружность (дуга окружности) в эскизе,
•ребро тела или поверхности, имеющее форму окружности (дуги окружности),
•грань тела или поверхности, имеющая цилиндрическую, коническую, сферическую или тороидальную форму.
При выборе в качестве базового объекта окружности в эскизе размер проставляется в плоскости эскиза.
При выборе в качестве базового объекта ребра тела или поверхности размер проставляется в плоскости, в которой находится выбранное ребро.
Положение размера можно задавать произвольно или фиксировать.
Способы задания произвольного положения размера:
•установите координаты центра с помощью функции SetCenterPoint. Координаты будут спроецированы на ось грани.
•укажите точку на поверхности или ребре с помощью функции SetSurfacePoint.
Для фиксации положения размера укажите точечный объект или плоский объект, параллельный плоскости простановки размера. Размер будет проставлен в плоскости, проходящей через объект фиксации. Между размером и объектом фиксации формируется ассоциативная связь. Благодаря этой связи размер следует за объектом фиксации при изменении положения последнего.
2. Свойство IDimensionText::NominalValue возвращает диаметр.


## Angle - Угол наклона размерной линии

Тип данных: double
Синтаксис Automation:
```
Angle = Object.Angle    Получить свойство (* )
Object.Angle = Angle    Установить свойство (* )
Angle = Object.GetAngle()    Получить свойство (**)
Object.SetAngle( Angle )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Angle( &Angle )    Получить свойство (* )
Object.put_Angle( Angle )    Установить свойство (* )
```
Примечание:
Свойство позволяет задавать угол наклона размерной линии в плоскости размера.


## DimensionType - Тип диаметрального размера (Полная размерная линия\Размерная линия с обрывом)

Тип данных: BOOL
Синтаксис Automation:
```
DimensionType = Object.DimensionType    Получить свойство (* )
Object.DimensionType = DimensionType    Установить свойство (* )
DimensionType = Object.GetDimensionType()    Получить свойство (**)
Object.SetDimensionType( DimensionType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DimensionType( &DimensionType )    Получить свойство (* )
Object.put_DimensionType( DimensionType )    Установить свойство (* )
```


## GetCenterPoint - Получить координаты центра

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


## GetSurfacePoint - Получить точку пересечения размера с поверхностью или ребром

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


## Object1 - Измеряемый объект

Тип данных: указатель на интерфейс модельного объекта IModelObject
Синтаксис Automation:
```
Object1 = Object.Object1    Получить свойство (* )
Object.Object1 = Object1    Установить свойство (* )
Object1 = Object.GetObject1()    Получить свойство (**)
Object.SetObject1( Object1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Object1( &Object1 )    Получить свойство (* )
Object.put_Object1( Object1 )    Установить свойство (* )
```
Примечание:
При создании радиального и диаметрального размеров используются следующие объекты:
•окружность (дуга окружности) в эскизе,
•ребро тела или поверхности, имеющее форму окружности (дуги окружности),
•грань тела или поверхности, имеющая цилиндрическую, коническую, сферическую или тороидальную форму.
При выборе в качестве базового объекта окружности в эскизе размер проставляется в плоскости эскиза.
При выборе в качестве базового объекта ребра тела или поверхности размер проставляется в плоскости, в которой находится выбранное ребро.


## PlaneObject - Фиксирующий объект

Тип данных: указатель на интерфейс модельного объекта IModelObject
Синтаксис Automation:
```
PlaneObject = Object.PlaneObject    Получить свойство (* )
Object.PlaneObject = PlaneObject    Установить свойство (* )
PlaneObject = Object.GetPlaneObject()    Получить свойство (**)
Object.SetPlaneObject( PlaneObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PlaneObject( &PlaneObject )    Получить свойство (* )
Object.put_PlaneObject( PlaneObject )    Установить свойство (* )
```
Примечание:
Положение размера можно зафиксировать. Для фиксации положения размера укажите точечный объект или плоский объект, параллельный плоскости простановки размера. Размер будет проставлен в плоскости, проходящей через объект фиксации. Между размером и объектом фиксации формируется ассоциативная связь. Благодаря этой связи размер следует за объектом фиксации при изменении положения последнего.
Для снятия фиксации установите значение свойства == NULL.


## SetCenterPoint - Установить координаты центра

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


## SetSurfacePoint - Установить точку пересечения размера с поверхностью или ребром

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


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

Интерфейс параметров радиального размера 3D.
Иерархия:
IKompasAPIObject
IModelObject
IRadialDimension3D
IDimensionText
IDimensionParams
Описание:
Интерфейс позволяет получить и задать свойства радиального размера в 3D документе.
Интерфейс можно получить у коллекции радиальных размеров, используя свойство IRadialDimensions3D::RadialDimension3D или метод IRadialDimensions3D::Add.
После задания параметров размера требуется вызвать метод IModelObject::Update.
Интерфейсы IDimensionText и IDimensionParams являются дополнительными. Их можно получить с помощью метода IUnknown::QueryInterface.
Примечание:
1. При создании радиального и диаметрального размеров используются следующие объекты:
•окружность (дуга окружности) в эскизе,
•ребро тела или поверхности, имеющее форму окружности (дуги окружности),
•грань тела или поверхности, имеющая цилиндрическую, коническую, сферическую или тороидальную форму.
При выборе в качестве базового объекта окружности в эскизе размер проставляется в плоскости эскиза.
При выборе в качестве базового объекта ребра тела или поверхности размер проставляется в плоскости, в которой находится выбранное ребро.
Положение размера можно задавать произвольно или фиксировать.
Способы задания произвольного положения размера:
•установите координаты центра с помощью функции SetCenterPoint. Координаты будут спроецированы на ось грани.
•укажите точку на поверхности или ребре с помощью функции SetSurfacePoint.
Для фиксации положения размера укажите точечный объект или плоский объект, параллельный плоскости простановки размера. Размер будет проставлен в плоскости, проходящей через объект фиксации. Между размером и объектом фиксации формируется ассоциативная связь. Благодаря этой связи, размер следует за объектом фиксации при изменении положения последнего.
2. Свойство IDimensionText::NominalValue возвращает радиус.


## Angle - Угол наклона размерной линии

Тип данных: double
Синтаксис Automation:
```
Angle = Object.Angle    Получить свойство (* )
Object.Angle = Angle    Установить свойство (* )
Angle = Object.GetAngle()    Получить свойство (**)
Object.SetAngle( Angle )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Angle( &Angle )    Получить свойство (* )
Object.put_Angle( Angle )    Установить свойство (* )
```
Примечание:
Свойство позволяет задавать угол наклона размерной линии в плоскости размера.


## DimensionType - Тип радиального размера (От центра\не от центра)

Тип данных: BOOL
Синтаксис Automation:
```
DimensionType = Object.DimensionType    Получить свойство (* )
Object.DimensionType = DimensionType    Установить свойство (* )
DimensionType = Object.GetDimensionType()    Получить свойство (**)
Object.SetDimensionType( DimensionType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DimensionType( &DimensionType )    Получить свойство (* )
Object.put_DimensionType( DimensionType )    Установить свойство (* )
```


## GetCenterPoint - Получить координаты центра

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


## GetSurfacePoint - Получить точку пересечения размера с поверхностью или ребром

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


## Object1 - Измеряемый объект

Тип данных: указатель на интерфейс модельного объекта IModelObject
Синтаксис Automation:
```
Object1 = Object.Object1    Получить свойство (* )
Object.Object1 = Object1    Установить свойство (* )
Object1 = Object.GetObject1()    Получить свойство (**)
Object.SetObject1( Object1 )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Object1( &Object1 )    Получить свойство (* )
Object.put_Object1( Object1 )    Установить свойство (* )
```
Примечание:
При создании радиального и диаметрального размеров используются следующие объекты:
•окружность (дуга окружности) в эскизе,
•ребро тела или поверхности, имеющее форму окружности (дуги окружности),
•грань тела или поверхности, имеющая цилиндрическую, коническую, сферическую или тороидальную форму.
При выборе в качестве базового объекта окружности в эскизе размер проставляется в плоскости эскиза.
При выборе в качестве базового объекта ребра тела или поверхности размер проставляется в плоскости, в которой находится выбранное ребро.


## PlaneObject - Фиксирующий объект

Тип данных: указатель на интерфейс модельного объекта IModelObject
Синтаксис Automation:
```
PlaneObject = Object.PlaneObject    Получить свойство (* )
Object.PlaneObject = PlaneObject    Установить свойство (* )
PlaneObject = Object.GetPlaneObject()    Получить свойство (**)
Object.SetPlaneObject( PlaneObject )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PlaneObject( &PlaneObject )    Получить свойство (* )
Object.put_PlaneObject( PlaneObject )    Установить свойство (* )
```
Примечание:
Положение размера можно зафиксировать. Для фиксации положения размера укажите точечный объект или плоский объект, параллельный плоскости простановки размера. Размер будет проставлен в плоскости, проходящей через объект фиксации. Между размером и объектом фиксации формируется ассоциативная связь. Благодаря этой связи размер следует за объектом фиксации при изменении положения последнего.
Для снятия фиксации установите значение свойства == NULL.


## SetCenterPoint - Установить координаты центра

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


## SetSurfacePoint - Установить точку пересечения размера с поверхностью или ребром

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