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>
1159 lines
52 KiB
Markdown
1159 lines
52 KiB
Markdown
---
|
||
title: "Интерфейс математических функций (Интерфейс ksMathematic2D)"
|
||
type: interface
|
||
api: [api7]
|
||
domain: [2d]
|
||
tags: [interface, api7, 2d, ksmathematic2d]
|
||
sources:
|
||
- ksmathematic2d.html
|
||
---
|
||
|
||
*API интерфейсов. Версия 5 > Графический документ (Интерфейсы - ksDocument2D и IDocument2D) *
|
||
|
||
|
||
## Интерфейс математических функций (Интерфейс ksMathematic2D)
|
||
|
||
Интерфейс математических функций.
|
||
Примечание:
|
||
Указатель на интерфейс можно получить при помощи метода KompasObject::GetMathematic2D.
|
||
Смотрите также: KompasObject
|
||
|
||
|
||
## ksAngle - Получить угол (в градусах) между осью OX и вектором, заданным двумя точками
|
||
|
||
Аналог данного метода при использовании API экспортных функций - Angle.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksAngle (double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2);
|
||
Входные параметры:
|
||
x1, y1 - координаты начальной точки вектора,
|
||
x2, y2 - координаты конечной точки вектора.
|
||
Возвращаемое значение:
|
||
угол в градусах.
|
||
```
|
||
|
||
|
||
## ksAtanD - Получить арктангенс аргумента
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ATanD.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksAtanD (double x);
|
||
Входной параметр:
|
||
x - тангенс угла.
|
||
Возвращаемое значение:
|
||
- угол (в градусах).
|
||
```
|
||
|
||
|
||
## ksCalcInertiaProperties - Получить плоские массово-центровочные характеристики кривой или группы кривых
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksCalcInertiaProperties.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksCalcInertiaProperties (long p,
|
||
LPDISPATCH properties,
|
||
short dimension);
|
||
Входные параметры:
|
||
p - указатель на кривую или группу кривых,
|
||
dimension - размерность длины.
|
||
Выходные параметры:
|
||
properties - указатель на интерфейс параметров для расчета МЦХ ksInertiaParam.
|
||
Размерности длины...
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
```
|
||
Примечание:
|
||
Кривые должны быть замкнутыми и представлять собой наружные и внутренние контура.
|
||
|
||
|
||
## ksCalcMassInertiaProperties - Получить объемные массово-центровочные характеристики тел вращения или выдавливания, заданных кривой или группой кривых
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksCalcMassInertiaProperties.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksCalcMassInertiaProperties (long p,
|
||
LPDISPATCH properties,
|
||
double density,
|
||
double param);
|
||
Входные параметры:
|
||
p - указатель на кривую или группу кривых,
|
||
density - плотность тела (г/куб.мм),
|
||
param - параметр тела (для тела вращения - угол раствора в градусах, для тела выдавливания - толщина).
|
||
Выходные параметры:
|
||
properties - указатель на интерфейс параметров для расчета массово-центровочных характеристик ksMassInertiaParam.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
```
|
||
Примечания:
|
||
1. Кривые должны быть замкнутыми и представлять собой наружные и внутренние контура.
|
||
2. Тип тела (тело вращения или выдавливания) устанавливается перед вызовом метода в интерфейсе ksMassInertiaParam.
|
||
|
||
|
||
## ksCosD - Получить косинус аргумента
|
||
|
||
Аналог данного метода при использовании API экспортных функций - CosD.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksCosD (double x);
|
||
Входной параметр:
|
||
x - угол в градусах.
|
||
Возвращаемое значение:
|
||
- косинус аргумента.
|
||
```
|
||
|
||
|
||
## ksCouplingCircleCircle - Получить параметры сопрягающих окружностей определенного радиуса и точки сопряжения для двух окружностей
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksCouplingCircleCircle.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksCouplingCircleCircle (double xc1,
|
||
double yc1,
|
||
double radc1,
|
||
double xc2,
|
||
double yc2,
|
||
double radc2,
|
||
double rad,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
xc1, yc1 - координаты центра первой окружности,
|
||
rad1 - радиус первой окружности,
|
||
xc2, yc2 - координаты центра второй окружности,
|
||
Rad - радиус второй окружности.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс массива координат точек сопряжения ksCON.
|
||
Возвращаемое значение:
|
||
TRUE - точки касания обнаружены,
|
||
FALSE - точки касания не обнаружены.
|
||
```
|
||
|
||
|
||
## ksCouplingLineCircle - Получить параметры сопрягающих окружностей определенного радиуса и точки касания при сопряжении окружности и прямой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksCouplingLineCircle.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksCouplingLineCircle (double xc,
|
||
double yc,
|
||
double radc,
|
||
double x1,
|
||
double y1,
|
||
double angle1,
|
||
double rad,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
xc, yc - координаты центра окружности,
|
||
radc - радиус окружности,
|
||
x1, y1 - координаты точки на прямой,
|
||
angle1 - угол наклона прямой,
|
||
rad - радиус окружности сопряжения.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс массива координат точек сопряжения ksCON.
|
||
Возвращаемое значение:
|
||
TRUE - точки касания обнаружены,
|
||
FALSE - точки касания не обнаружены.
|
||
```
|
||
|
||
|
||
## ksCouplingLineLine - Получить параметры окружностей, касательных к двум прямым
|
||
|
||
Аналог данного метода при использовании API экспортных функций - CouplingLineLine.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksCouplingLineLine (double x1,
|
||
double y1,
|
||
double angle1,
|
||
double x2,
|
||
double y2,
|
||
double angle2,
|
||
double rad,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
x1, y1 - координаты точки на первой прямой,
|
||
angle1 - угол наклона первой прямой,
|
||
x2, y2 - координаты точки на второй прямой,
|
||
angle2 - угол наклона второй прямой.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс массива координат точек сопряжения ksCON.
|
||
Возвращаемое значение:
|
||
TRUE - точки касания обнаружены,
|
||
FALSE - точки касания не обнаружены.
|
||
```
|
||
|
||
|
||
## ksDistanceCurveCurve - Добавить проекцию отображения - развертка
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksDistanceCurveCurve.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksDistanceCurveCurve( long p1, long p2, double * distanse, double * t1, double * t2 );
|
||
Входные параметры:
|
||
p1 - указатель на первую кривую,
|
||
p2 - указатель на вторую кривую.
|
||
Выходные параметры:
|
||
distanse - расстояние,
|
||
t1 - параметр на кривой 1 в точке с минимальным удалением,
|
||
t2 - параметр на кривой 2 в точке с минимальным удалением.
|
||
Возвращаемое значение:
|
||
1 - успешное завершение,
|
||
0 - построить касательную нельзя (кривые совпадают или одна кривая вложена в другую),
|
||
-1 - первый объект не существует,
|
||
-2 - второй объект не существует,
|
||
-3 - кривые расположены в разных видах,
|
||
-4 - не совпадают СК определения кривых (геометрическая и аннотационная),
|
||
-5 - первый объект не является кривой,
|
||
-6 - второй объект не является кривой,
|
||
-7 - ошибка.
|
||
```
|
||
|
||
|
||
## ksDistancePntArc - Получить расстояние между точкой и дугой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksDistancePntArc.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksDistancePntArc (double x,
|
||
double y,
|
||
double xac,
|
||
double yac,
|
||
double rada,
|
||
double fa1,
|
||
double fa2,
|
||
short directa);
|
||
Входные параметры:
|
||
x, y - координаты точки,
|
||
xac, yac - координаты центра дуги,
|
||
rada - радиус дуги,
|
||
fa1, fa2 - начальный и конечный углы дуги,
|
||
directa - направление дуги: 1 - против часовой стрелки, -1 – по часовой стрелке.
|
||
Возвращаемое значение:
|
||
- расстояние между точкой и дугой.
|
||
```
|
||
|
||
|
||
## ksDistancePntCircle - Получить расстояние между точкой и окружностью
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksDistancePntCircle.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksDistancePntCircle (double x,
|
||
double y,
|
||
double xc,
|
||
double yc,
|
||
double rad);
|
||
Входные параметры:
|
||
x, y - координаты точки,
|
||
xc, yc - координаты центра окружности,
|
||
rad - радиус окружности.
|
||
Возвращаемое значение:
|
||
- расстояние между точкой и окружностью.
|
||
```
|
||
|
||
|
||
## ksDistancePntLine - Получить расстояние между точкой и прямой, заданной точкой и углом
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksDistancePntLine.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksDistancePntLine (double x,
|
||
double y,
|
||
double x1,
|
||
double y1,
|
||
double angle);
|
||
Входные параметры:
|
||
x, y - координаты точки,
|
||
x1, y1 - координаты точки на прямой,
|
||
angle - угол наклона прямой.
|
||
Возвращаемое значение:
|
||
- расстояние между точкой и прямой.
|
||
```
|
||
|
||
|
||
## ksDistancePntLineForPoint - Получить расстояние между точкой и прямой, заданной двумя точками
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksDistancePntLineForPoint.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksDistancePntLineForPoint (double x,
|
||
double y,
|
||
double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2);
|
||
Входные параметры:
|
||
x, y - координаты точки,
|
||
x1, y1 - координаты первой точки на прямой,
|
||
x2, y2 - координаты второй точки на прямой.
|
||
Возвращаемое значение:
|
||
- расстояние между точкой и прямой.
|
||
```
|
||
|
||
|
||
## ksDistancePntLineSeg - Получить расстояние между точкой и отрезком
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksDistancePntLineSeg.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksDistancePntLineSeg (double x,
|
||
double y,
|
||
double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2);
|
||
Входные параметры:
|
||
x, y - координаты точки,
|
||
x1, y1 - координаты начальной точки отрезка,
|
||
x2, y2 - координаты конечной точки отрезка.
|
||
Возвращаемое значение:
|
||
- расстояние между точкой и отрезком.
|
||
```
|
||
|
||
|
||
## ksDistancePntPnt - Получить расстояние между двумя точками
|
||
|
||
Аналог данного метода при использовании API экспортных функций - DistancePntPnt.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksDistancePntPnt (double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2);
|
||
Входные параметры:
|
||
x1, y1 - координаты первой точки,
|
||
x2, y2 - координаты второй точки.
|
||
Возвращаемое значение:
|
||
- расстояние между двумя точками.
|
||
```
|
||
|
||
|
||
## ksDistancePntPntOnCurve - Получить расстояние между двумя точками на кривой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksDistancePntPntOnCurve.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksDistancePntPntOnCurve (long curve,
|
||
double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2);
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
x1, y1 - координаты первой точки,
|
||
x2, y2 - координаты второй точки.
|
||
Возвращаемое значение:
|
||
расстояние между двумя точками на кривой - в случае успеха,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Если заданные точки не находятся на кривой, то определяется расстояние между их проекциями на кривую.
|
||
|
||
|
||
## ksDistanceT1T2OnCurve - Получить расстояние между двумя точками на кривой по параметрам кривой в данных точках
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksDistanceT1T2OnCurve.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksDistanceT1T2OnCurve (long curve,
|
||
double t1,
|
||
double t2);
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
t1 - параметр кривой в точке 1,
|
||
t2 - параметр кривой в точке 2.
|
||
Возвращаемое значение:
|
||
- Расстояние между двумя точками на кривой.
|
||
```
|
||
|
||
|
||
## ksEqualPoints - Определить эквивалентность (совпадение) двух точек
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksEqualPoints.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksEqualPoints (double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2);
|
||
Входные параметры:
|
||
x1, y1 - координаты первой точки,
|
||
x2, y2 - координаты второй точки.
|
||
Возвращаемое значение:
|
||
1 - точки совпадают,
|
||
0 - точки не совпадают.
|
||
```
|
||
|
||
|
||
## ksGetCurveMinMaxParametr - Получить минимальный и максимальный параметр кривой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetCurveMinMaxParametr.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetCurveMinMaxParametr (long curve,
|
||
double *tMin,
|
||
double *tMax);
|
||
Входные параметры:
|
||
curve - указатель на кривую.
|
||
Выходные параметры:
|
||
tMin - минимальный параметр кривой,
|
||
tMax - максимальный параметр кривой.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
|
||
|
||
## ksGetCurvePerimeter - Получить периметр кривой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetCurvePerimeter.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksGetCurvePerimeter (long curve,
|
||
short dimension);
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
dimension - размерность длины.
|
||
Размерности длины...
|
||
Возвращаемое значение:
|
||
- периметр кривой.
|
||
```
|
||
|
||
|
||
## ksGetCurvePerpendicular - Получить угол нормали к кривой в заданной точке
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetCurvePerpendicular.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksGetCurvePerpendicular (long curve,
|
||
double x,
|
||
double y);
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
x, y - координаты точки.
|
||
Возвращаемое значение:
|
||
- угол нормали к кривой в заданной точке (в градусах).
|
||
```
|
||
Примечание:
|
||
Если указанная точка не находится на кривой, она проецируется на кривую.
|
||
|
||
|
||
## ksGetCurvePerpendicularByT - Функция возвращает угол нормали к кривой в заданной точке по параметру кривой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetCurvePerpendicularByT.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksGetCurvePerpendicularByT( long curve, double t );
|
||
Входные параметры:
|
||
p - указатель на кривую,
|
||
t - параметр кривой.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива ksDynamicArray углов касательных типа DOUBLE_ARR.
|
||
Возвращаемое значение:
|
||
- угол нормали.
|
||
```
|
||
|
||
|
||
## ksGetCurvePoint - Преобразовать параметр кривой t в координаты вида
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetCurvePoint.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetCurvePoint (long curve,
|
||
double t,
|
||
double *x,
|
||
double *y);
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
t - параметр кривой.
|
||
Выходные параметры:
|
||
kx, ky - координаты проекции точки на кривую,
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
См. также ksMathematic2D::ksGetCurvePointProjectionEx.
|
||
|
||
|
||
## ksGetCurvePointProjection - Получить координаты проекции точки на кривую
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetCurvePointProjection.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetCurvePointProjection (long curve,
|
||
double x,
|
||
double y,
|
||
double* kx,
|
||
double* ky);
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
x, y - координаты проецируемой точки.
|
||
Выходные параметры:
|
||
kx, ky - координаты проекции точки на кривую.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. См. также ksMathematic2D::ksGetCurvePointProjectionEx.
|
||
2. При выполнении метода ksGetCurvePointProjection проекция на кривую из данной точки может быть не найдена, например, если проекция находится на продолжении кривой. В таком случае возвращаются координаты ближайшей к проекции начальной или конечной точки кривой.
|
||
3. В метод ksGetCurvePointProjection нужно передавать координаты в системе координат кривой, то есть в системе координат макроэлемента, которому принадлежит кривая. Возвращаются координаты также в системе координат кривой.
|
||
|
||
|
||
## ksGetCurvePointProjectionEx - Получить координаты проекции точки на кривую
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetCurvePointProjectionEx.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetCurvePointProjectionEx (long curve,
|
||
double x, double y,
|
||
double *kx, double *ky,
|
||
double *t);
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
x, y - координаты проецируемой точки.
|
||
Выходные параметры:
|
||
kx, ky - координаты проекции точки на кривую,
|
||
t - параметр кривой.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. См. также ksMathematic2D::ksGetCurvePointProjection.
|
||
2. При выполнении метода ksGetCurvePointProjectionEx проекция на кривую из данной точки может быть не найдена, например, если проекция находится на продолжении кривой. В таком случае возвращаются координаты ближайшей к проекции начальной или конечной точки кривой.
|
||
3. В метод ksGetCurvePointProjectionEx нужно передавать координаты в системе координат кривой, то есть в системе координат макроэлемента, которому принадлежит кривая. Возвращаются координаты также в системе координат кривой.
|
||
|
||
|
||
## ksIntersectArcArc - Получить координаты точек пересечения двух дуг окружностей
|
||
|
||
Аналог данного метода при использовании API экспортных функций - IntersectArcArc.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksIntersectArcArc (double xac,
|
||
double yac,
|
||
double rada,
|
||
double fa1,
|
||
double fa2,
|
||
short directa,
|
||
double xbc,
|
||
double ybc,
|
||
double radb,
|
||
double fb1,
|
||
double fb2,
|
||
short directb,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
xac, yac - координаты центра первой дуги,
|
||
rada - радиус первой дуги,
|
||
fa1, fa2 - углы начальной и конечной точек первой дуги,
|
||
directa - направление первой дуги: 1 - против часовой стрелки, -1 – по часовой стрелке,
|
||
xbc, ybc - координаты центра второй дуги,
|
||
radb - радиус второй дуги,
|
||
fb1, fb2 - углы начальной и конечной точек второй дуги,
|
||
directb - направление второй дуги: 1 - против часовой стрелки, -1 – по часовой стрелке.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - пересечение данных объектов обнаружено,
|
||
FALSE - пересечение не обнаружено.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksIntersectArcLin - Получить координаты точек пересечения дуги окружности и прямой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - IntersectArcLine.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksIntersectArcLin (double xc,
|
||
double yc,
|
||
double rad,
|
||
double f1,
|
||
double f2,
|
||
long n,
|
||
double x,
|
||
double y,
|
||
double ang,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
xc, yc - координаты центра окружности,
|
||
rad - радиус окружности,
|
||
f1, f2 - углы начальной и конечной точек дуги,
|
||
n - направление дуги: 1 - против часовой стрелки, -1 - по часовой стрелке,
|
||
x, y - координаты точки на прямой,
|
||
ang - угол наклона прямой.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - пересечение данных объектов обнаружено,
|
||
FALSE - пересечение не обнаружено.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksIntersectCirArc - Получить координаты точек пересечения окружности и дуги
|
||
|
||
Аналог данного метода при использовании API экспортных функций - IntersectCirArc.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksIntersectCirArc (double xcc,
|
||
double ycc,
|
||
double radc,
|
||
double xac,
|
||
double yac,
|
||
double rada,
|
||
double fa1,
|
||
double fa2,
|
||
short directa,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
xcс, ycс - координаты центра окружности,
|
||
radc - радиус окружности,
|
||
xac, yac - координаты центра дуги,
|
||
rada - радиус дуги,
|
||
fa1, fa2 - углы начальной и конечной точек дуги,
|
||
directa - направление дуги: 1 - против часовой стрелки, -1 - по часовой стрелке.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - пересечение данных объектов обнаружено,
|
||
FALSE - пересечение не обнаружено.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksIntersectCirCir - Получить координаты точек пересечения двух окружностей
|
||
|
||
Аналог данного метода при использовании API экспортных функций - IntersectCirCir.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksIntersectCirCir (double xc1,
|
||
double yc1,
|
||
double radius1,
|
||
double xc2,
|
||
double yc2,
|
||
double radius2,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
xc1, yc1 - координаты центра первой окружности,
|
||
radius1 - радиус первой окружности,
|
||
xc2, yc2 - координаты центра второй окружности,
|
||
radius2 - радиус второй окружности,
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - пересечение данных объектов обнаружено,
|
||
FALSE - пересечение не обнаружено.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksIntersectCirLin - Получить координаты точек пересечения окружности и прямой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - IntersectCirLin.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksIntersectCirLin (double xc,
|
||
double yc,
|
||
double rad,
|
||
double xl,
|
||
double yl,
|
||
double angle,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
xc, yc - координаты центра окружности,
|
||
rad - радиус окружности,
|
||
x1, y1 - координаты точки на прямой,
|
||
angle - угол наклона прямой.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - пересечение данных объектов обнаружено,
|
||
FALSE - пересечение не обнаружено.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksIntersectCurvCurv - Получить координаты точек пересечения двух кривых
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksIntersectCurvCurv.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksIntersectCurvCurv (long p1,
|
||
long p2,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
p1 - указатель на первую кривую,
|
||
p2 - указатель на вторую кривую.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
1 - пересечение данных объектов обнаружено,
|
||
0 - пересечение не обнаружено (кривые не пересекаются или совпадают),
|
||
-1 - первый объект не существует,
|
||
-2 - второй объект не существует,
|
||
-3 - кривые расположены в разных видах,
|
||
-4 - один (или оба) из указанных объектов - не геометрический (не отрезок, не окружность, а, например, линия-выноска),
|
||
-5 - первый объект не является кривой,
|
||
-6 - второй объект не является кривой,
|
||
-7 - ошибка: массив типа POINT_ARR предварительно не создан.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksIntersectLinLin - Получить координаты точки пересечения двух прямых
|
||
|
||
Аналог данного метода при использовании API экспортных функций - IntersectLinLin.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksIntersectLinLin (double x1,
|
||
double y1,
|
||
double angle1,
|
||
double x2,
|
||
double y2,
|
||
double angle2,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
x1, y1 - координаты точки на первой прямой,
|
||
angle1 - угол наклона первой прямой,
|
||
x2, y2 - координаты точки на второй прямой,
|
||
angle2 - угол наклона второй прямой,
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - пересечение данных объектов обнаружено,
|
||
FALSE - пересечение не обнаружено.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksIntersectLinSArc - Получить координаты точек пересечения отрезка и дуги
|
||
|
||
Аналог данного метода при использовании API экспортных функций - IntersectLinSArc.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksIntersectLinSArc (double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2,
|
||
double xc,
|
||
double yc,
|
||
double rad,
|
||
double f1,
|
||
double f2,
|
||
short direct,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
x1, y1 - координаты начальной точки отрезка,
|
||
x2, y2 - координаты конечной точки отрезка,
|
||
xc, yc - координаты центра дуги,
|
||
rad - радиус дуги,
|
||
f1, f2 - углы начальной и конечной точек дуги,
|
||
direct - направление дуги: 1 - против часовой стрелки, -1 - по часовой стрелке.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - пересечение данных объектов обнаружено,
|
||
FALSE - пересечение не обнаружено.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksIntersectLinSCir - Получить координаты точек пересечения отрезка и окружности
|
||
|
||
Аналог данного метода при использовании API экспортных функций - IntersectLinSCir.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksIntersectLinSCir (double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2,
|
||
double xc,
|
||
double yc,
|
||
double rad,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
x1, y1 - координаты начальной точки отрезка,
|
||
x2, y2 - координаты конечной точки отрезка,
|
||
xc, yc - координаты центра окружности,
|
||
rad - радиус окружности.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - пересечение данных объектов обнаружено,
|
||
FALSE - пересечение не обнаружено.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksIntersectLinSLine - Получить координаты точки пересечения отрезка и прямой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - IntersectLinSLine.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksIntersectLinSLine (double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2,
|
||
double x,
|
||
double y,
|
||
double ang,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
x1, y1 - координаты начальной точки отрезка,
|
||
x2, y2 - координаты конечной точки отрезка,
|
||
x, y - координаты точки на прямой,
|
||
ang - угол наклона прямой.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - пересечение данных объектов обнаружено,
|
||
FALSE - пересечение не обнаружено.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksIntersectLinSLinS - Получить координаты точки пересечения двух отрезков
|
||
|
||
Аналог данного метода при использовании API экспортных функций - IntersectLinSLinS.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksIntersectLinSLinS (double x11,
|
||
double y11,
|
||
double x12,
|
||
double y12,
|
||
double x21,
|
||
double y21,
|
||
double x22,
|
||
double y22,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
x11, y11 - координаты начальной точки первого отрезка,
|
||
x12, y12 - координаты конечной точки первого отрезка,
|
||
x21, y21 - координаты начальной точки второго отрезка,
|
||
x22, y22 - координаты конечной точки второго отрезка.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - пересечение данных отрезков обнаружено,
|
||
FALSE - пересечение не обнаружено.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksLinePointTangentCurve - Получить прямую через точку перпендикулярно данной кривой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksLinePointTangentCurve.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksLinePointTangentCurve( long p, double x, double y, LPDISPATCH param );
|
||
Входные параметры:
|
||
p - указатель на кривую,
|
||
x, y - координаты точки.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива ksDynamicArray углов касательных типа DOUBLE_ARR.
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
|
||
|
||
## ksMovePointOnCurve - Получить координаты точки, находящейся на указанном вдоль кривой расстоянии от указанной точки
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksMovePointOnCurve.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksMovePointOnCurve (long curve,
|
||
double* x,
|
||
double* y,
|
||
double len,
|
||
long dir);
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
len - расстояние, на которое нужно сместить точку,
|
||
dir - направление продвижения точки: 1 - в направлении построения кривой, -1 - в обратном направлении.
|
||
Выходные параметры:
|
||
x, y - координаты точки.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Если точка не находится на кривой, она проецируется на кривую.
|
||
|
||
|
||
## ksMovePointOnCurveEx - Переместить точку на расстояние len по кривой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksMovePointOnCurveEx.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksMovePointOnCurveEx( long curve, double* x, double* y, double* t, double len, long dir, long ext );
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
len - расстояние, на которое нужно сместить точку,
|
||
dir - направление продвижения точки: 1 - в направлении построения кривой -1 - в обратном направлении,
|
||
ext - учитывать продолжение кривой.
|
||
Выходной параметр:
|
||
x, y - координаты точки.
|
||
t - параметр кривой.
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачного завершения,
|
||
FALSE - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
•Если в функцию перелается указатель на параметр кривой t, он используется в качестве начального параметра кривой для сдвига.
|
||
•Если указатель не передается, начальный параметр кривой определяется по координатам x, y.
|
||
|
||
|
||
## ksPerpendicular - Получить координаты точки пересечения отрезка и перпендикуляра к нему, проходящего через заданную точку
|
||
|
||
Аналог данного метода при использовании API экспортных функций - Perpendicular.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksPerpendicular (double x,
|
||
double y,
|
||
double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2,
|
||
double* xp,
|
||
double* yp);
|
||
Входные параметры:
|
||
x, y - координаты произвольной точки,
|
||
x1, y1 - координаты начальной точки отрезка,
|
||
x2, y2 - координаты конечной точки отрезка.
|
||
Выходные параметры:
|
||
xp, yp - координаты точки пересечения отрезка и перпендикуляра к нему, проходящего через заданную точку.
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачного завершения.
|
||
```
|
||
|
||
|
||
## ksPointsOnCurve - Получить указатель на интерфейс динамического массива точек, равномерно расположенных на кривой
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksPointsOnCurve.
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH ksPointsOnCurve (long curve,
|
||
long count);
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
count - количество точек.
|
||
Возвращаемое значение:
|
||
- указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksPointsOnCurveByStep - Получить массив точек, расположенных на кривой с заданным шагом
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksPointsOnCurveByStep.
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH ksPointsOnCurveByStep (long curve,
|
||
double step);
|
||
Входные параметры:
|
||
curve - указатель на кривую,
|
||
step - шаг точек вдоль кривой.
|
||
Возвращаемое значение:
|
||
- указатель на динамический массив математических точек ksDynamicArray типа POINT_ARR.
|
||
```
|
||
|
||
|
||
## ksRotate - Повернуть точку относительно центра
|
||
|
||
Аналог данного метода при использовании API экспортных функций - Rotate.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksRotate (double x,
|
||
double y,
|
||
double xc,
|
||
double yc,
|
||
double ang,
|
||
double* xr,
|
||
double* yr);
|
||
Входные параметры:
|
||
x, y - координаты базовой точки,
|
||
xс, yс - координаты центра поворота,
|
||
ang - угол поворота.
|
||
Выходные параметры:
|
||
xr, yr - координаты точки после поворота.
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачного завершения.
|
||
```
|
||
|
||
|
||
## ksSinD - Получить синус аргумента
|
||
|
||
Аналог данного метода при использовании API экспортных функций - SinD.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksSinD (double x);
|
||
Входной параметр:
|
||
x - угол в градусах.
|
||
Возвращаемое значение:
|
||
- синус аргумента.
|
||
```
|
||
|
||
|
||
## ksSymmetry - Получить координаты точки, симметричной относительно заданной оси
|
||
|
||
Аналог данного метода при использовании API экспортных функций - Symmetry.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksSymmetry (double x,
|
||
double y,
|
||
double x1,
|
||
double y1,
|
||
double x2,
|
||
double y2,
|
||
double* xc,
|
||
double* yc);
|
||
Входные параметры:
|
||
x, y - координаты базовой точки,
|
||
x1, y1 - координаты первой точки на оси симметрии,
|
||
x2, y2 - координаты второй точки на оси симметрии.
|
||
Выходные параметры:
|
||
xc, yc - координаты симметричной точки.
|
||
Возвращаемое значение:
|
||
TRUE - в случае удачного завершения.
|
||
```
|
||
|
||
|
||
## ksTanCircleCircle - Получить координаты точек касания прямых к двум окружностям
|
||
|
||
Аналог данного метода при использовании API экспортных функций - TanCircleCircle.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksTanCircleCircle (double xc1,
|
||
double yc1,
|
||
double radius1,
|
||
double xc2,
|
||
double yc2,
|
||
double radius2,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
xc1, yc1 - координаты центра первой окружности,
|
||
radius1 - радиус первой окружности,
|
||
xc2, yc2 - координаты центра второй окружности,
|
||
radius2 - радиус второй окружности.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс массива координат точек касания ksTAN.
|
||
Возвращаемое значение:
|
||
TRUE - точки касания обнаружены,
|
||
FALSE - точки касания не обнаружены.
|
||
```
|
||
|
||
|
||
## ksTanCurvCurv - Получить координаты точек касания прямых к двум кривым
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksTanCurvCurv.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksTanCurvCurv (long p1,
|
||
long p2,
|
||
LPDISPATCH pointArr1,
|
||
LPDISPATCH pointArr2);
|
||
Входные параметры:
|
||
p1 - указатель на первую кривую,
|
||
p2 - указатель на вторую кривую.
|
||
Выходные параметры:
|
||
pointArr1 - динамический массив ksDynamicArray математических точек POINT_ARR на кривой p1,
|
||
pointArr2 - динамический массив математических точек ksDynamicArray POINT_ARR на кривой p2.
|
||
Возвращаемое значение:
|
||
1 - успешное завершение,
|
||
0 - построить касательную нельзя (кривые совпадают или одна кривая вложена в другую),
|
||
-1 - первый объект не существует,
|
||
-2 - второй объект не существует,
|
||
-3 - кривые расположены в разных видах,
|
||
-4 - не совпадают СК определения кривых (геометрическая и аннотационная),
|
||
-5 - первый объект не является кривой,
|
||
-6 - второй объект не является кривой,
|
||
-7 - ошибка.
|
||
```
|
||
|
||
|
||
## ksTanD - Получить тангенс аргумента
|
||
|
||
Аналог данного метода при использовании API экспортных функций - TanD.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksTanD (double x);
|
||
Входной параметр:
|
||
x - угол в градусах.
|
||
Возвращаемое значение:
|
||
- тангенс аргумента.
|
||
```
|
||
|
||
|
||
## ksTanLineAngCircle - Получить точки касания окружности и прямой, проходящей под заданным углом
|
||
|
||
Аналог данного метода при использовании API экспортных функций - TanLineAngCircle.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksTanLineAngCircle (double xc,
|
||
double yc,
|
||
double rad,
|
||
double ang,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
xc, yc - координаты центра окружности,
|
||
rad - радиус окружности,
|
||
ang - угол касательной прямой.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - точки касания данных объектов обнаружены,
|
||
FALSE - точки касания не обнаружены.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksTanLinePointCircle - Получить точки касания окружности и прямой, проходящей через заданную точку
|
||
|
||
Аналог данного метода при использовании API экспортных функций - TanLinePointCircle.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksTanLinePointCircle (double x,
|
||
double y,
|
||
double xc,
|
||
double yc,
|
||
double rad,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
x, y - координаты точки,
|
||
xc, yc - координаты центра окружности,
|
||
rad - радиус окружности.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива параметров математической точки типа POINT_ARR ksDynamicArray.
|
||
Возвращаемое значение:
|
||
TRUE - точки касания данных объектов обнаружены,
|
||
FALSE - точки касания не обнаружены.
|
||
Смотрите также: ksMathPointParam
|
||
```
|
||
|
||
|
||
## ksTanLinePointCurve - Получить точки касания кривой и прямой, проведенной через заданную точку
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksTanLinePointCurve.
|
||
Синтаксис Automation:
|
||
```
|
||
BOOL ksTanLinePointCurve (double x,
|
||
double y,
|
||
long pCur,
|
||
LPDISPATCH param);
|
||
Входные параметры:
|
||
pCur - указатель на кривую,
|
||
x, y - координаты точки.
|
||
Выходной параметр:
|
||
param - указатель на интерфейс динамического массива ksDynamicArray параметров математической точки типа POINT_ARR.
|
||
Возвращаемое значение:
|
||
TRUE - точки касания обнаружены,
|
||
FALSE - точки касания не обнаружены.
|
||
Смотрите также: ksMathPointParam
|
||
```
|