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>
This commit is contained in:
2026-05-26 19:51:29 +03:00
parent ba4e0db558
commit e1337e4016
2495 changed files with 246899 additions and 954 deletions
@@ -0,0 +1,94 @@
---
title: "CornerParam - Структура параметров скругленных (или усеченных) углов прямоугольников и правильных многоугольников"
type: struct
api: [api7]
domain: [feature]
tags: [struct, api7, feature, structcornerparam]
sources:
- structcornerparam.html
---
*Структуры параметров и константы > Структуры параметров графических объектов *
## CornerParam - Структура параметров скругленных (или усеченных) углов прямоугольников и правильных многоугольников
Аналог данных параметров при использовании Automation - интерфейс ksCornerParam.
| int | index | индекс (номер) угла (0, 1, 2, ...), |
| --- | --- | --- |
| unsigned char | fillet | признак фаски/скругления: 0 - фаска, 1 -скругление, |
| double | l1 | длина фаски первого сегмента или радиус скругления, |
| double | l2 | длина фаски второго сегмента. |
Примечание:
Данная структура используется внутри структуры параметров прямоугольника RectangleParam или правильного многоугольника RegularPolygonParam для задания скруглений и фасок на определенных углах этого многоугольника. Если скругления и фаски не нужны, то структура CornerParam не используется.
Пример работы со структурой CornerParam и массивом CORNER_ARR
## Пример использования структуры параметров CornerParamи массива CORNER_ARR
reference arr = ::CreateArray (CORNER_ARR, 0); // создать массив параметров углов
CornerParam par; // структура параметров угла
par.index = 5; // индекс угла
par.fillet = 0; // признак фаски
par.l1 = 345; // длина фаски 1 сегмента
par.l2 = 456.987; // длина фаски 2 сегмента
::AddArrayItem (arr, -1, &par, sizeof (CornerParam)); // добавить угол в массив
par.index = 45; // индекс угла
par.fillet = 0; // признак фаски
par.l1 = 345; // длина фаски 1 сегмента
par.l2 = 456.987; // длина фаски 2 сегмента
::AddArrayItem (arr, -1, &par, sizeof (CornerParam));// добавить угол в массив
par.index = 65; // индекс угла
par.fillet = 0; // признак фаски
par.l1 = 345; // длина фаски 1 сегмента
par.l2 = 456.987; // длина фаски 2 сегмента
::AddArrayItem (arr, -1, &par, sizeof (CornerParam));// добавить угол в массив
par.index = 85; // индекс угла
par.fillet = 0; // признак фаски
par.l1 = 345; // длина фаски 1 сегмента
par.l2 = 456.987; // длина фаски 2 сегмента
::AddArrayItem (arr, -1, &par, sizeof (CornerParam));// добавить угол в массив
int count = ::GetArrayCount (arr); // количество элементов в массиве
for ( int i = 0; i < count; i ) {
// выводим параметры углов в окне сообщения
char buf[128];
if ( ::GetArrayItem (arr, i, &par, sizeof (CornerParam))) {
::sprintf ( buf, "индекс элемента %i равен %i; %i, %f, %f", i,
par.index, par.fillet, par.l1, par.l2);
::Message (buf);
}
}
::ExcludeArrayItem (arr, 2); // удаляем второй элемент массива
count = ::GetArrayCount (arr); // количество элементов в массиве
for ( int i = 0; i < count; i ) {
// выводим параметры углов в окне сообщения
char buf [128];
if ( ::GetArrayItem (arr, i, &par, sizeof (CornerParam))) {
::sprintf (buf, "индекс элемента %i равен %i; %i, %f, %f", i, par.index,
par.fillet, par.l1, par.l2 );
::Message( buf );
}
}
if ( ::GetArrayItem (arr, 1, &par, sizeof (CornerParam))) {
// изменяем параметры элемента с индексом 1
par.index = 0;
par.fillet = 0;
par.l1 = 0;
par.l2 = 0;
::SetArrayItem( arr, 1, &par, sizeof(CornerParam) );
}
count = ::GetArrayCount (arr); // количество элементов в массиве
for ( int i = 0; i < count; i ) {
// выводим параметры углов в окне сообщения
char buf[128];
if ( ::GetArrayItem (arr, i, &par, sizeof (CornerParam))) {
::sprintf (buf, "индекс элемента %i равен %i; %i, %f, %f", i, par.index,
par.fillet, par.l1, par.l2);
::Message( buf );
}
}
::ClearArray (arr); // очищаем массив
char buf[128];
::sprintf (buf, "кол-во элементов = %i", ::GetArrayCount (arr));
::Message (buf);
::DeleteArray (arr); // удаляем массив