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>
2.9 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Tolerance - Проставить обозначение допуска формы | guide |
|
|
|
*API экспортных функций > Функции работы с графическим документом > Размеры и технологические обозначения > Функции построения размеров /обозначений *
Tolerance - Проставить обозначение допуска формы
Пример... Аналог данной функции при использовании Automation - метод ksDocument2D::ksTolerance. Синтаксис:
int Tolerance (ToleranceParam *par);
Выходной параметр:
par - указатель на структуру параметров обозначения допуска формы ToleranceParam.
Возвращаемое значение:
указатель на допуск формы - в случае удачного завершения,
0 - в случае неудачи.
Примечание:
- Допуск формы является составным объектом, состоящим из таблицы (в общем случае 10х10) и двух опор. Каждая ячейка таблицы имеет свой номер. Нумерация идет слева направо и сверху вниз.
- Номер ячейки задается функцией 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 */