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

52 KiB
Raw Blame History

title, type, api, domain, tags, sources
title type api domain tags sources
Интерфейс математических функций (Интерфейс ksMathematic2D) interface
api7
2d
interface
api7
2d
ksmathematic2d
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