Files
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

5.1 KiB

title, type, api, domain, tags, sources
title type api domain tags sources
CornerParam - Структура параметров скругленных (или усеченных) углов прямоугольников и правильных многоугольников struct
api7
feature
struct
api7
feature
structcornerparam
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); // удаляем массив