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

90 lines
4.2 KiB
Markdown

---
title: "Leader - Создать линию-выноску"
type: guide
api: [api7]
tags: [guide, api7, leader]
sources:
- leader.html
---
*API экспортных функций > Функции работы с графическим документом  > Размеры и технологические обозначения  > Функции построения размеров /обозначений *
## Leader - Создать линию-выноску
Пример...
Аналог данной функции при использовании Automation - метод ksDocument2D::ksLeader.
Синтаксис:
```
reference Leader (LeaderParam *leaderPar);
Выходной параметр:
leaderPar - указатель на структуру параметров линии-выноски LeaderParam.
Возвращаемое значение:
указатель на линию-выноску - в случае удачного завершения,
0 - в случае неудачи.
```
## Leader - пример использования
void Leader_Example (void) {
reference p;
TextLineParam tLinePar;
memset(&tLinePar, 0, sizeof(TextLineParam));
tLinePar.style=0; //номер стиля строки текста
// массив неопределенной длины компонент строки текста
tLinePar.pTextItem = CreateArray(TEXT_ITEM_ARR,0);
TextItemFont tFont; // параметры шрифта компоненты строки текста
tFont.fontName[0]=\0; // имя шрифта
tFont.height=0; // высота текста
tFont.ksu=0; // сужение текста
tFont.color = RGB(0,0,0); // цвет
tFont.bitVector=0; // флаг параметров
TextItemParam ItemPar; // параметры компоненты строки текста
ItemPar.tip = 0;
ItemPar.font = tFont; // параметры шрифта для компоненты текста
ItemPar.iSNumb = 0; // номер символа
LeaderParam leaderPar;
memset(&leaderPar, 0, sizeof(LeaderParam));
leaderPar.x=50; leaderPar.y=50; // начало полки
leaderPar.arrowType = 1; // тип стрелки
leaderPar.dirX=1; // полка вправо
leaderPar.signType=0; // тип знака
leaderPar.around=0; // знак обработки по контуру выключен
leaderPar.cText0=1; // число строк над полкой
leaderPar.cText1=1; // число строк под полкой
leaderPar.cText2=1; // число строк над ножкой
leaderPar.cText3=1; // число строк под ножкой
leaderPar.pTextline = CreateArray(TEXT_LINE_ARR,0);
strcpy(ItemPar.s,строка над полкой);
// массив символов для компоненты текста
AddArrayItem(tLinePar.pTextItem, -1, &ItemPar, sizeof(ItemPar));
AddArrayItem(leaderPar.pTextline, -1, &tLinePar, sizeof(tLinePar));
ClearArray(tLinePar.pTextItem);
strcpy(ItemPar.s,строка под полкой);
// массив символов для компоненты текста
AddArrayItem(tLinePar.pTextItem, -1, &ItemPar, sizeof(ItemPar));
AddArrayItem(leaderPar.pTextline, -1, &tLinePar, sizeof(tLinePar));
ClearArray(tLinePar.pTextItem);
strcpy(ItemPar.s,2); // массив символов для компоненты текста
AddArrayItem(tLinePar.pTextItem, -1, &ItemPar, sizeof(ItemPar));
AddArrayItem(leaderPar.pTextline, -1, &tLinePar, sizeof(tLinePar));
ClearArray(tLinePar.pTextItem);
strcpy(ItemPar.s,3);
// массив символов для компоненты текста
AddArrayItem(tLinePar.pTextItem, -1, &ItemPar, sizeof(ItemPar));
AddArrayItem(leaderPar.pTextline, -1, &tLinePar, sizeof(tLinePar));
leaderPar.pPolyline =CreateArray(POLYLINE_ARR,0);
reference pPoly = CreateArray(POINT_ARR , 0);
//две ножки по одной точке в каждой
MathPointParam mPar;
mPar.x = 10; mPar.y = 10;
AddArrayItem(pPoly , -1, &mPar, sizeof(mPar));
AddArrayItem(leaderPar.pPolyline , -1, &pPoly, sizeof(pPoly));
mPar.x = 30; mPar.y = 10;
ClearArray(pPoly);
AddArrayItem(pPoly , -1, &mPar, sizeof(mPar));
AddArrayItem(leaderPar.pPolyline , -1, &pPoly, sizeof(pPoly));
p = Leader(&leaderPar);
}; /* Leader_Example */