Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/ksdistancepntlineforpoint.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

2.4 KiB

title, type, api, tags, sources
title type api tags sources
ksDistancePntLineForPoint - Получить расстояние между точкой и прямой, заданной двумя точками guide
api7
guide
api7
ksdistancepntlineforpoint
ksdistancepntlineforpoint.html

*API экспортных функций > Функции работы с графическим документом  > Вспомогательные построения  > Функции вычисления длин, расстояний, углов и МЦХ *

ksDistancePntLineForPoint - Получить расстояние между точкой и прямой, заданной двумя точками

Пример... Аналог данной функции при использовании Automation - метод ksMathematic2D::ksDistancePntLineForPoint. Синтаксис:

double ksDistancePntLineForPoint (double x,
double y,
double x1,
double y1,
double x2,
double y2);
Входные параметры:
x, y    - координаты точки,
x1, y1    - координаты первой точки на прямой,
x2, y2    - координаты второй точки на прямой.
Возвращаемое значение:
расстояние между точкой и прямой.    - в случае успеха,
0    - в случае неудачи.

ksDistancePntLineForPoint - пример использования

reference pObj; RequestInfo info; double x, y; memset (&info, 0, sizeof(info)); info.prompt = "Укажите отрезок"; reference g; int j = Cursor (&info, &x, &y, 0); if (j) { //найдем объект и убедимся, что это отрезок if (ExistObj(pObj = FindObj (x, y, 1e6)) && GetObjParam (pObj, 0, 0, 0) == LINESEG_OBJ) { info.prompt = "Укажите точку"; //получим точку j = Cursor (&info, &x ,&y, 0); if (j) { LineSegParam par; //берем параметры отрезка GetObjParam (pObj, &par, sizeof (LineSegParam), ALLPARAM); //получаем расстояние от точки до отрезка double len = ksDistancePntLineForPoint (x, y, //координаты точки par.x1, par.y1, //координаты точки на прямой par.x2, par.y2); //координаты точки на прямой char buf[TEXT_LENGTH]; sprintf (buf, "расстояние = %f ", len); Message (buf); } } else Error("Это не отрезок"); }