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

68 lines
2.9 KiB
Markdown

---
title: "Tolerance - Проставить обозначение допуска формы"
type: guide
api: [api7]
tags: [guide, api7, tolerance]
sources:
- tolerance.html
---
*API экспортных функций > Функции работы с графическим документом  > Размеры и технологические обозначения  > Функции построения размеров /обозначений *
## Tolerance - Проставить обозначение допуска формы
Пример...
Аналог данной функции при использовании Automation - метод ksDocument2D::ksTolerance.
Синтаксис:
```
int Tolerance (ToleranceParam *par);
Выходной параметр:
par - указатель на структуру параметров обозначения допуска формы ToleranceParam.
Возвращаемое значение:
указатель на допуск формы - в случае удачного завершения,
0 - в случае неудачи.
```
Примечание:
1. Допуск формы является составным объектом, состоящим из таблицы (в общем случае 10х10) и двух опор. Каждая ячейка таблицы имеет свой номер. Нумерация идет слева направо и сверху вниз.
2. Номер ячейки задается функцией ColumnNumber, а текст ячейки определяется функцией TextLine (первые два параметра - SPECIAL_SYMBOL и SPECIAL);
## Tolerance - пример использования
void Tolerance_Example (void) {
ToleranceParam par;
memset(&par, 0, sizeof(ToleranceParam));
MathPointParam parPoint;
reference p;
par.branch1.pMathPoint = CreateArray(POINT_ARR, 0);
parPoint.x = 40; parPoint.y = 10;
AddArrayItem(par.branch1.pMathPoint, -1, &parPoint , sizeof(parPoint));
par.branch1.arrowType = 2;
par.branch1.tCorner = 1;
par.branch2.pMathPoint = CreateArray(POINT_ARR, 0);
parPoint.x = 100; parPoint.y = 50;
AddArrayItem(par.branch2.pMathPoint, -1, &parPoint , sizeof(parPoint));
parPoint.x = 100; parPoint.y = 10;
AddArrayItem(par.branch2.pMathPoint, -1, &parPoint , sizeof(parPoint));
par.branch2.arrowType = 1;
par.branch2.tCorner = 5;
par.x = 40 ; par.y = 40; par.type = 0;
if (Tolerance(&par)) {
ColumnNumber(1);
int tip = 26; //значек допуск соосности
TextLine (SPECIAL_SYMBOL ,SPECIAL, &tip ,);
ColumnNumber(2);
tip = 2; //значек диаметр
TextLine (SPECIAL_SYMBOL ,SPECIAL, &tip ,);
TextLine (NEW_LINE ,0,0 ,0,004);
tip=30; //зависимый допуск
TextLine (SPECIAL_SYMBOL ,SPECIAL, &tip ,);
ColumnNumber(3);
TextLine (NEW_LINE ,0,0 ,A);
p = EndObj();
}
DeleteArray(par.branch2.pMathPoint);
DeleteArray(par.branch1.pMathPoint);
}; /* Tolerance_Example */