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>
6.1 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Text - Создать строку текста в графическом документе | guide |
|
|
|
*API экспортных функций > Функции работы с графическим документом > Простановка текстовых надписей > Функции работы с текстовыми надписями и таблицами *
Text - Создать строку текста в графическом документе
Пример... Аналог данной функции при использовании Automation - метод ksDocument2D::ksText. Синтаксис:
reference Text (double x,
double y,
double ang,
double hStr,
double ksuStr,
unsigned int bitVector,
char *s);
Входные параметры:
x, y - координаты точки привязки текста,
ang - угол наклона текста,
hStr - высота символов,
ksuStr - сужение текста,
bitVector - битовый вектор, задающий признаки начертания текста,
s - строка символов.
Признаки начертания текста...
Возвращаемое значение:
указатель на текст - в случае удачного завершения,
0 - в случае неудачи.
Примечание:
- Строка символов может включать спецсимвол. Например, чтобы задать 10 градусов, необходимо указать значение "10&01". Таблица спецсимволов размещена в файле SDK\NumbSymb.frw.
- Не рекомендуется использовать в строке символы, которые могут идентифицироваться как управляющие символы: @ $ & ; ~ ^ #, кроме случаев, когда эти символы используются в строке именно как управляющие.
- Использование управляющих символов:
– отклонение:
верхнее отклонение; нижнее отклонение– дробь:d числитель ; знаменатель– спецсимвол: &nn номер спецсимвола 0...99. - bitVector формируется с помощью логической операции |. Поддерживаются определения: – ITALIC_ON (включить наклон), – BOLD_ON (включить утолщение), – UNDERLINE_ON (включить подчеркивание). См. ltdefine.h.
- При использовании Unicode следует использовать функцию TextW.
- При использовании внутри таблицы функция Text не возвращает указатель на текст— в случае успешного завершения возвращается 1.
Функции работы с текстовыми надписями и таблицами
Функции данного раздела обеспечивают построение и обработку текстовых надписей (простых, сложноструктурированных, форматированных). GetTextLength - Получить длину текста GetTextLengthW - Получить длину текста (Unicode) GetTextLengthFromReference - Получить длину текста, заданного указателем ksConvertTextToCurve - Преобразовать указанный текст в кривые ksEditTextLine - Вызвать диалог редактирования сложноструктурированного текста ksEditTextLineW - Вызвать диалог редактирования сложноструктурированного текста (Unicode) ksGetTextAlign - Получить тип привязки текста ksSetTableColumnText - Задать текст ячейки таблицы ksSetTextAlign - Установить тип привязки текста ksSetTextLineAlign - Установить выравнивание текста Paragraph - Начать параграф Text - Создать строку текста в графическом документе TextW - Создать строку текста в графическом документе (Unicode) TextLine - Задать подстроку параграфа текста TextLineW - Задать подстроку параграфа текста (Unicode)
Text, TextLine, Paragraph - Пример использования
void Text_Example (void) { reference p; // Простой текст Text (30 , 90, 0, 5, 1, 0, ”Простой текст”); Text (30 , 80, 0, 5, 1, 0,”Пример... дроби$dЧислитель;Знаменатель$”); Text (30 , 70, 0, 5, 1, 0, ”Пример... отклонений 20$0.5;-0.3$”); Text (30 , 60, 0, 5, 1, 0, ”Пример... спецсимвола &32”); // Структурированный текст ParagraphParam par; par.x = 30; par.y = 40; par.ang = 0; par.hFormat = 0; par.vFormat = 0; par.height = 25; par.width = 20; int j=2; p = Paragraph (&par); TextLine (NEW_LINE ,0,0 , ”Первая строка”); //числитель, наклон, высота дроби в 1.5 раза меньше высоты текста TextLine (NUMERATOR|ITALIC_ON,FRACTION_TYPE ,&j , ”Числитель”); //знаменатель, утолщение TextLine (DENOMINATOR|BOLD_ON,0 ,0 , ”Знаменатель”); //конец дроби, снятие утолщения,снятие наклона TextLine (END_FRACTION|BOLD_OFF | ITALIC_OFF, 0, 0 , ”4444”); TextLine (NEW_LINE ,0,0 , ”Вторая строка”); int tip = 65; //спецзнак шероховатость TextLine (SPECIAL_SYMBOL ,SPECIAL, &tip , ”Rz80”); //конец спецзнака TextLine (SPECIAL_SYMBOL_END ,0, 0 , ”222”); EndObj(); }; /* Text_Example */