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

46 lines
2.8 KiB
Markdown

---
title: "ksGetSysOptions, ksSetSysOptions - пример использования"
type: guide
api: [api7]
tags: [guide, api7, kssetgetsysoptions]
sources:
- kssetgetsysoptions_example.html
---
if (ksGetCurrentDocument(1)) {
SnapOptrions par;
char mes[700];
memset(&par, 0, sizeof(SnapOptrions));
//получим параметры привязок
ksGetSysOptions(SNAP_OPTIONS, &par, sizeof(SnapOptrions));
sprintf(mes , "Привязка 'Ближайшая точка '-%s\n", par.nearestPoint ? "включена" : "отключена");
sprintf(mes+strlen(mes), "Привязка 'Середина '-%s\n", par.nearestMiddle ? "включена" : "отключена");
sprintf(mes+strlen(mes), "Привязка 'Пересечение '-%s\n", par.intersect ? "включена" : "отключена");
sprintf(mes+strlen(mes), "Привязка 'Касание '-%s\n", par.tangentToCurve ? "включена" : "отключена");
sprintf(mes+strlen(mes), "Привязка 'Нормаль '-%s\n", par.normalToCurve ? "включена" : "отключена");
sprintf(mes+strlen(mes), "Привязка 'По сетке '-%s\n", par.grid ? "включена" : "отключена");
sprintf(mes+strlen(mes), "Привязка 'Выравнивание '-%s\n", par.xyAlign ? "включена" : "отключена");
sprintf(mes+strlen(mes), "Привязка 'Угловая привязка'-%s\n", par.angSnap ? "включена" : "отключена");
sprintf(mes+strlen(mes), "Привязка 'Точка на кривой '-%s\n", par.pointOnCurve ? "включена" : "отключена");
sprintf(mes+strlen(mes), "Общие настройки : динамически %sотслеживать\n", par.commonOpt & SN_DYNAMICALLY ? "" : "не ");
sprintf(mes+strlen(mes), " : %sотображать текст\n" , par.commonOpt & SN_ASSISTANT ? "" : "не ");
sprintf(mes+strlen(mes), " : %sучитывать фоновые слои и виды\n", par.commonOpt & SN_BACKGROUND_LAYER ? "" : "не ");
sprintf(mes+strlen(mes), " : %sподавить привязки\n", par.commonOpt & SN_SUSPENDED ? "" : "не ");
sprintf(mes+strlen(mes), " угловой шаг %f", par.angleStep);
sprintf(mes+strlen(mes), " локальная привязка = %d", par.localSnap);
Message(mes);
//очистим структуру привязок
memset(&par, 0, sizeof(SnapOptrions));
//включим привязку Касание
par.tangentToCurve = 1;
//включим привязку Точка на кривой
par.pointOnCurve = 1;
//текст отображать
par.commonOpt = par.commonOpt | SN_ASSISTANT;
par.angleStep = 10;
//локальная привязка
par.localSnap = SN_GRID;
// заменим привязки
ksSetSysOptions(SNAP_OPTIONS, &par, sizeof(SnapOptrions));
}