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>
365 lines
12 KiB
Markdown
365 lines
12 KiB
Markdown
---
|
||
title: "IMeasurement3D"
|
||
type: interface
|
||
api: [api7]
|
||
domain: [3d]
|
||
tags: [interface, api7, 3d, imeasurement3d]
|
||
sources:
|
||
- 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 ) Установить свойство
|
||
```
|