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>
15 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Измерение расстояния и угла между двумя примитивами (Интерфейсы ksMeasurer, IMeasurer) | interface |
|
|
|
|
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D ) > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart > Объект Дерева построения (Интерфейсы ksFeature, IFeature) *
Измерение расстояния и угла между двумя примитивами (Интерфейсы ksMeasurer, IMeasurer)
Интерфейс для измерений расстояния и угла между двумя примитивами.
| ksMeasurer | - интерфейс Automation |
|---|---|
| IMeasurer | - интерфейс COM |
| Примечание: |
- Интерфейс применим для граней, ребер, вершин.
- Данный интерфейс может быть получен с использованием метода интерфейса ksPart::GetMeasurer.
angle - Угол между объектами
Интерфейс.. Тип данных: double Синтаксис Automation:
angle = iMeasurer.angle Получить свойство (* )
angle = iMeasurer.GetAngle() Получить свойство (**)
Примечание: Свойство доступно только для чтения.
Calc - Произвести вычисления
Интерфейс.. Синтаксис Automation:
BOOL Calc();
Синтаксис COM:
BOOL Calc();
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
distance - Расстояние между объектами
Интерфейс.. Тип данных: double Синтаксис Automation:
distance = iMeasurer.distance Получить свойство (* )
distance = iMeasurer.GetDistance() Получить свойство (**)
Примечание: Свойство доступно только для чтения.
extendObject1 - Признак вычисления за пределами первого объекта
Интерфейс.. Тип данных: BOOL Синтаксис Automation:
extendObject1 = iMeasurer.extendObject1 Получить свойство (* )
iMeasurer.extendObject1 = extendObject1 Установить свойство (* )
extendObject1 = iMeasurer.GetExtendObject1() Получить свойство (**)
iMeasurer.SetExtendObject1( extendObject1) Установить свойство (**)
Примечание: Если значение свойства равно TRUE, то следует вычислять за пределами второго объекта.
extendObject2 - Признак вычисления за пределами второго объекта
Интерфейс.. Тип данных: BOOL Синтаксис Automation:
extendObject2 = iMeasurer.extendObject2 Получить свойство (* )
iMeasurer.extendObject2 = extendObject2 Установить свойство (* )
extendObject2 = iMeasurer.GetExtendObject2() Получить свойство (**)
iMeasurer.SetExtendObject2( extendObject2) Установить свойство (**)
Примечание: Если значение свойства равно TRUE, то следует вычислять за пределами первого объекта.
GetMaxPoint1 - Получить первую точку отрезка максимального расстояния
Интерфейс.. Синтаксис Automation:
BOOL GetMaxPoint1 (double *x,
double *y,
double *z);
Синтаксис COM:
BOOL GetMaxPoint1 (double *x,
double *y,
double *z);
Выходные параметры:
x, y, z - координаты точки.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Метод доступен после вызова метода ksMeasurer::Calc (Automation) или IMeasurer::Calc (COM).
GetMaxPoint2 - Получить вторую точку отрезка максимального расстояния
Интерфейс.. Синтаксис Automation:
BOOL GetMaxPoint2 (double *x,
double *y,
double *z);
Синтаксис COM:
BOOL GetMaxPoint2 (double *x,
double *y,
double *z);
Выходные параметры:
x, y, z - координаты точки.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Метод доступен после вызова метода ksMeasurer::Calc (Automation) или IMeasurer::Calc (COM).
GetMinPoint1 - Получить первую точку отрезка минимального расстояния
Интерфейс.. Синтаксис Automation:
BOOL GetMinPoint1 (double *x,
double *y,
double *z);
Синтаксис COM:
BOOL GetMinPoint1 (double *x,
double *y,
double *z);
Выходные параметры:
x, y, z - координаты точки.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Метод доступен после вызова метода ksMeasurer::Calc (Automation) или IMeasurer::Calc (COM).
GetMinPoint12 - Получить вторую точку отрезка минимального расстояния
Интерфейс.. Синтаксис Automation:
BOOL GetMinPoint2 (double *x,
double *y,
double *z);
Синтаксис COM:
BOOL GetMinPoint2 (double *x,
double *y,
double *z);
Выходные параметры:
x, y, z - координаты точки.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Метод доступен после вызова метода ksMeasurer::Calc (Automation) или IMeasurer::Calc (COM).
GetNormalPoint1 - Получить первую точку отрезка расстояния по нормали
Интерфейс.. Синтаксис Automation:
BOOL GetNormalPoint1 (double *x,
double *y,
double *z);
Синтаксис COM:
BOOL GetNormalPoint1 (double *x,
double*y,
double*z);
Выходные параметры:
x, y, z - координаты точки.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Метод доступен после вызова метода ksMeasurer::Calc (Automation) или IMeasurer::Calc (COM).
GetNormalPoint2 - Получить вторую точку отрезка расстояния по нормали
Интерфейс.. Синтаксис Automation:
BOOL GetNormalPoint2 (double *x,
double *y,
double *z);
Синтаксис COM:
BOOL GetNormalPoint2 (double *x,
double *y,
double *z);
Выходные параметры:
x, y, z - координаты точки.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Метод доступен после вызова метода ksMeasurer::Calc (Automation) или IMeasurer::Calc (COM).
GetObject1 - Получить первый объект
Интерфейс.. Синтаксис Automation:
LPDISPATCH GetObject1();
Синтаксис COM:
LPUNKNOWN GetObject1();
Возвращаемое значение:
- указатель на интерфейс IDispatch или IUnknown первого объекта.
Примечание: Возвращаемым значением может быть указатель на интерфейс грани, ребра, вершины. Зная тип объекта, можно привеcти его интерфейс к конечному 3D интерфейсу.
GetObject2 - Получить второй объект
Интерфейс.. Синтаксис Automation:
LPDISPATCH GetObject2();
Синтаксис COM:
LPUNKNOWN GetObject2();
Возвращаемое значение:
- указатель на интерфейс IDispatch или IUnknown второго объекта.
Примечание: Возвращаемым значением может быть указатель на интерфейс грани, ребра, вершины. Зная тип объекта, можно привести его интерфейс к конечному 3D интерфейсу.
GetPoint1 - Получить ближайшую точку на первом объекте или на продолжении объекта
Интерфейс.. Синтаксис Automation:
BOOL GetPoint1 (double *x, double *y, double *z);
Синтаксис COM:
BOOL GetPoint1 (double *x, double *y, double *z);
Входной параметр:
x, y, z - координаты точки.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Значения x, y, z возвращаются в системе координат компонента.
GetPoint2 - Получить ближайшую точку на втором объекте или на продолжении объекта
Интерфейс.. Синтаксис Automation:
BOOL GetPoint2 (double *x, double *y, double *z);
Синтаксис COM:
BOOL GetPoint2 (double *x, double *y, double *z);
Входной параметр:
x, y, z - координаты точки.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Значения x, y, z возвращаются в системе координат компонента.
IsAngleValid - Определить применимость расчета угла
Интерфейс.. Синтаксис Automation:
BOOL IsAngleValid();
Синтаксис COM:
BOOL IsAngleValid();
Возвращаемое значение:
TRUE - для данных объектов угол имеет смысл,
FALSE - для данных объектов угол смысла не имеет.
MaxDistance - Получить максимальное расстояние
Интерфейс.. Синтаксис Automation:
double MaxDistance();
Синтаксис COM:
double MaxDistance();
Возвращаемое значение:
- Максимальное расстояние между объектами (двумя гранями, гранью и ребром и т. п.)
Примечание: Метод доступен после вызова метода ksMeasurer::Calc (Automation) или IMeasurer::Calc (COM).
MeasureResult - Получить результат измерения
Интерфейс.. Синтаксис Automation:
long MeasureResult();
Синтаксис COM:
ksMeasureResultEnum MeasureResult();
Возвращаемое значение:
- Результат измерения расстояния и угла между поверхностями из перечисления ksMeasureResultEnum.
Примечание: Метод доступен после вызова метода ksMeasurer::Calc (Automation) или IMeasurer::Calc (COM).
MinDistance - Минимальное расстояние
Интерфейс.. Тип данных: double Синтаксис Automation:
MinDistance = IMeasurer.MinDistance Получить свойство (* )
MinDistance = IMeasurer.GetMinDistance() Получить свойство (**)
Примечание: Свойство доступно только для чтения.
NormalDistance - Получить расстояние по нормали (межосевое или расстояние между гранями)
Интерфейс.. Синтаксис Automation:
double NormalDistance();
Синтаксис COM:
double NormalDistance();
Возвращаемое значение:
- Максимальное расстояние по нормали между объектами (двумя гранями, гранью и ребром и т. п.).
Примечание: Метод доступен после вызова метода ksMeasurer::Calc (Automation) или IMeasurer::Calc (COM).
SetObject1 - Задать первый объект
Интерфейс.. Синтаксис Automation:
BOOL SetObject1 (LPDISPATCH obj);
Синтаксис COM:
BOOL SetObject1 (LPUNKNOWN obj);
Входной параметр:
obj - указатель на интерфейс IDispatch или IUnknown первого объекта.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Входным параметром может быть грань, ребро, вершина.
SetObject2 - Задать второй объект
Интерфейс.. Синтаксис Automation:
BOOL SetObject2 (LPDISPATCH obj);
Синтаксис COM:
BOOL SetObject2 (LPUNKNOWN obj);
Входной параметр:
obj - указатель на интерфейс IDispatch или IUnknown первого объекта.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
Примечание: Входным параметром может быть грань, ребро, вершина.
unit - Единицы измерения
Интерфейс.. Тип данных: unsigned long Синтаксис Automation:
unit = iMeasurer.unit Получить свойство (* )
iMeasurer.unit = unit Установить свойство (* )
unit = iMeasurer.GetUnit() Получить свойство (**)
iMeasurer.SetUnit( unit ) Установить свойство (**)
Примечание: Свойство находится в интервале [ST_MIX_MM..ST_MIX_M].