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

3.1 KiB

title, type, api, tags, sources
title type api tags sources
Symmetry - Получить координаты точки, симметричной относительно заданной оси guide
api7
guide
api7
symmetry
symmetry.html

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

Symmetry - Получить координаты точки, симметричной относительно заданной оси

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

void Symmetry (double x, double y,double x1, double y1, double x2, double y2, double *xs, double *ys);
Входные параметры:
x, y    - координаты базовой точки,
x1, y1    - координаты первой точки на оси симметрии,
x2, y2    - координаты второй точки на оси симметрии.
Выходные параметры:
xs, ys    - координаты симметричной точки.
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.

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

//------------------------------------------------------------------------------- // Симметрия точки // --- void SymmetryPoint() { double px=10, py=10; double os_x1 = 50, os_y1 = 50, os_x2 = 60, os_y2 = 50; // Отрисовка точки Point( px, py, 0 ); // Отрисовка отрезка LineSeg( os_x1, os_y1, os_x2, os_y2, 1 ); double s_px, s_py; // Результат симметрии точки // Получить координаты точки, симметричной относительно заданной оси Symmetry( px, py, // Координаты точки os_x1, os_y1, // Начальная точка оси os_x2, os_y2, // Конечная точка оси &s_px, &s_py ); // Результат симметрии // Отрисовка результирующей точки Point( s_px, s_py, 1 ); // Результат симметрии TCHAR buf[255]; _stprintf_s( buf, _T("x = %4.2f, y = %4.2f"), s_px, s_py ); MessageT( buf ); //---- работа с в режиме преобразования координат ksMtr(100,100,0,1,1); // Отрисовка точки Point( px, py, 0 ); // Отрисовка отрезка LineSeg( os_x1, os_y1, os_x2, os_y2, 1 ); double lcs_px, lcs_py; ksPointFromMtr( px, py, &lcs_px, &lcs_py ); Symmetry( lcs_px, lcs_py, // Координаты точки os_x1, os_y1, // Начальная точка оси os_x2, os_y2, // Конечная точка оси &s_px, &s_py ); // Результат симметрии // Отрисовка результирующей точки ksPointIntoMtr(s_px, s_py, &lcs_px, &lcs_py ); Point( lcs_px, lcs_py, 1 ); DeleteMtr(); _stprintf_s( buf, _T("x = %4.2f, y = %4.2f"), lcs_px, lcs_py ); MessageT( buf ); }