Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/ksgetqualitydefects.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 lines
2.4 KiB
Markdown

---
title: "ksGetQualityDefects - Получить отклонения"
type: guide
api: [api7]
tags: [guide, api7, ksgetqualitydefects]
sources:
- ksgetqualitydefects.html
---
*API экспортных функций > Функции работы с графическим документом  > Размеры и технологические обозначения  > Функции построения размеров /обозначений *
## ksGetQualityDefects - Получить отклонения
Пример...
Аналог данной функции при использовании Automation - метод KompasObject::ksGetQualityDefects.
Синтаксис:
```
int ksGetQualityDefects (const char *name,
double dimValue,
double *high,
double *low,
unsigned char inMM);
Входные параметры:
dimValue - значение размера,
inMM - размерность параметров dimValue, high, low: 1 - миллиметры, 0 - единицы измерения текущего документа.
Выходные параметры:
name - поле допуска, (например, "H7"),
high - верхнее отклонение,
low - нижнее отклонение.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
Примечание.
При использовании Unicode следует использовать функцию ksGetQualityDefectsW.
```
## ksGetQualityDefects - Пример использования
double high = 0, low = 0; // отклонения
char name[20]; // поле допуска
::strcpy(name, "H7"); // умолчательное значение
if (ReadString("Укажите поле допуска", name, 4)) { // запрос поля допуска у пользователя
double dimValue = 15; // значение размера в мм
if (ReadDouble("Введите размер в мм:", 15, 0, 500, &dimValue)) { // запрос значения размера у пользователя
::ksGetQualityDefects(name, dimValue, &high, &low, true/*inMM*/); // получить отклонения в мм
char buf[255]; // строка сообщения
::sprintf(buf, "Поле допуска %s\nЗначение = %g, high = %g, low = %g",
name, dimValue, high, low); // формируем сообщение
::Message(buf); // выводим сообщение