Files
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

12 KiB

title, type, api, domain, tags, sources
title type api domain tags sources
IMeasurement3D interface
api7
3d
interface
api7
3d
imeasurement3d
imeasurement3d.html

*API интерфейсов. Версия 7 > Сервисные функции  > Измерения *

IMeasurement3D

Интерфейс измерения расстояния и угла Иерархия: IDispatch IKompasAPIObject IMeasurement3D Примечание: Интерфейс можно получить, используя свойство IPart7::Measurement3D. Интерфейс позволяет измерить расстояния и углы (если это возможно) между двумя указанными объектами. Объекты могут быть следующих типов: •координатные и вспомогательные оси и плоскости, •эскизы (если указан эскиз, то объектом измерения является плоскость эскиза), •грани, •ребра, •вершины, •пространственные кривые и точки, •тела, •компоненты. Объекты можно указывать в любой комбинации, например, плоскость и вершина,  ребро и ось, две грани, тело и грань, тело и вершина, тело и ребро, тело и компонент, компонент и компонент и т.д. Система определяет значение расстояния между объектами (если оно не нулевое) и значение угла между ними (если объекты не параллельны). КОМПАС v23

Angle - Угол между объектами

Тип данных: double Синтаксис Automation:

Angle = Object.Angle    Получить свойство (* )
Angle = Object.GetAngle()    Получить свойство (**)

Синтаксис COM:

Object.get_Angle( &Angle )    Получить свойство

Примечание: Свойство доступно только для чтения.

Briefly - Кратко

Тип данных: BOOL Синтаксис Automation:

Briefly = Object.Briefly    Получить свойство (* )
Object.Briefly = Briefly    Установить свойство (* )
Briefly = Object.GetBriefly()    Получить свойство (**)
Object.SetBriefly( Briefly )    Установить свойство (**)

Синтаксис COM:

Object.get_Briefly( &Briefly )    Получить свойство
Object.put_Briefly( Briefly )    Установить свойство

Calculate - Вычислить

Синтаксис Automation:

ksMeasureResultEnum Calculate()

Синтаксис COM:

HRESULT Calculate( ksMeasureResultEnum * Result );
Возвращаемое значение:
- результат вычисления из перечисления ksMeasureResultEnum.

DirectionObject - Направляющий объект

Тип данных: Указатель на интерфейс IModelObject Синтаксис Automation:

DirectionObject = Object.DirectionObject    Получить свойство (* )
Object.DirectionObject = DirectionObject    Установить свойство (* )
DirectionObject = Object.GetDirectionObject()    Получить свойство (**)
Object.SetDirectionObject( DirectionObject )    Установить свойство (**)

Синтаксис COM:

Object.get_DirectionObject( &DirectionObject )    Получить свойство
Object.put_DirectionObject( DirectionObject )    Установить свойство

DirectionVector - Параметры направляющего вектора

Тип данных: Указатель на интерфейс IVector3D Синтаксис Automation:

DirectionVector = Object.DirectionVector    Получить свойство (* )
DirectionVector = Object.GetDirectionVector()    Получить свойство (**)

Синтаксис COM:

Object.get_DirectionVector( &DirectionVector )    Получить свойство

Примечание: Свойство доступно только для чтения.

ExtendObject1 - Бесконечен ли первый объект (для кривых и плоскостей)

Тип данных: BOOL Синтаксис Automation:

ExtendObject1 = Object.ExtendObject1    Получить свойство (* )
ExtendObject1 = Object.GetExtendObject1()    Получить свойство (**)

Синтаксис COM:

Object.get_ExtendObject1( &ExtendObject1 )    Получить свойство

Примечание: Свойство доступно только для чтения.

ExtendObject2 - Бесконечен ли второй объект (для кривых и плоскостей)

Тип данных: BOOL Синтаксис Automation:

ExtendObject2 = Object.ExtendObject2    Получить свойство (* )
ExtendObject2 = Object.GetExtendObject2()    Получить свойство (**)

Синтаксис COM:

Object.get_ExtendObject2( &ExtendObject2 )    Получить свойство

Примечание: Свойство доступно только для чтения.

Gap - Зазор или проекция

Тип данных:  BOOL Синтаксис Automation:

Gap = Object.Gap    Получить свойство (* )
Object.Gap = Gap    Установить свойство (* )
Gap = Object.GetGap()    Получить свойство (**)
Object.SetGap( Gap )    Установить свойство (**)

Синтаксис COM:

Object.get_Gap( &Gap )    Получить свойство
Object.put_Gap( Gap )    Установить свойство

GetMaxPoint1 - Получить первую точку отрезка максимального расстояния

Синтаксис Automation:

BOOL GetMaxPoint1( double * X, double * Y, double * Z );

Синтаксис COM:

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

GetMaxPoint2 - Получить вторую точку отрезка максимального расстояния

Синтаксис Automation:

BOOL GetMaxPoint2( double * X, double * Y, double * Z );

Синтаксис COM:

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

GetMinPoint1 - Получить первую точку отрезка минимального расстояния

Синтаксис Automation:

BOOL GetMinPoint1( double * X, double * Y, double * Z );

Синтаксис COM:

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

GetMinPoint2 - Получить вторую точку отрезка минимального расстояния

Синтаксис Automation:

BOOL GetMinPoint2( double * X, double * Y, double * Z );

Синтаксис COM:

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

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

Синтаксис Automation:

BOOL GetNormalPoint1( double * X, double * Y, double * Z );

Синтаксис COM:

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

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

Синтаксис Automation:

BOOL GetNormalPoint2( double * X, double * Y, double * Z );

Синтаксис COM:

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

IsAngleValid - Применимость расчета угла. TRUE - если для данных объектов угол имеет смысл

Тип данных: BOOL Синтаксис Automation:

IsAngleValid = Object.IsAngleValid    Получить свойство (* )
IsAngleValid = Object.GetIsAngleValid()    Получить свойство (**)

Синтаксис COM:

Object.get_IsAngleValid( &IsAngleValid )    Получить свойство

Примечание: Свойство доступно только для чтения.

Lmax - Максимальное расстояние

Тип данных: double Синтаксис Automation:

Lmax = Object.Lmax    Получить свойство (* )
Lmax = Object.GetLmax()    Получить свойство (**)

Синтаксис COM:

Object.get_Lmax( &Lmax )    Получить свойство

Примечание: Свойство доступно только для чтения.

Lmin - Минимальное расстояние

Тип данных: double Синтаксис Automation:

Lmin = Object.Lmin    Получить свойство (* )
Lmin = Object.GetLmin()    Получить свойство (**)

Синтаксис COM:

Object.get_Lmin( &Lmin )    Получить свойство

Примечание: Свойство доступно только для чтения.

LNormal - Расстояние по нормали

Тип данных: double Синтаксис Automation:

LNormal = Object.LNormal    Получить свойство (* )
LNormal = Object.GetLNormal()    Получить свойство (**)

Синтаксис COM:

Object.get_LNormal( &LNormal )    Получить свойство

Примечание: Свойство доступно только для чтения.

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

Тип данных: Указатель на интерфейс IKompasAPIObject Синтаксис Automation:

Object1 = Object.Object1    Получить свойство (* )
Object.Object1 = Object1    Установить свойство (* )
Object1 = Object.GetObject1()    Получить свойство (**)
Object.SetObject1( Object1 )    Установить свойство (**)

Синтаксис COM:

Object.get_Object1( &Object1 )    Получить свойство
Object.put_Object1( Object1 )    Установить свойство

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

Тип данных: Указатель на интерфейс IKompasAPIObject Синтаксис Automation:

Object2 = Object.Object2    Получить свойство (* )
Object.Object2 = Object2    Установить свойство (* )
Object2 = Object.GetObject2()    Получить свойство (**)
Object.SetObject2( Object2 )    Установить свойство (**)

Синтаксис COM:

Object.get_Object2( &Object2 )    Получить свойство
Object.put_Object2( Object2 )    Установить свойство