e1337e4016
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>
90 lines
4.2 KiB
Markdown
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 */
|