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:
@@ -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); // удаляем массив
|
||||
Reference in New Issue
Block a user