Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ksmathematic2d.md
T
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

1159 lines
52 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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
```