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

104 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Text - Создать строку текста в графическом документе"
type: guide
api: [api7]
tags: [guide, api7, text]
sources:
- text.html
---
*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 - в случае неудачи.
```
Примечание:
1. Строка символов может включать спецсимвол. Например, чтобы задать 10 градусов, необходимо указать значение "10&01". Таблица спецсимволов размещена в файле SDK\NumbSymb.frw.
2. Не рекомендуется использовать в строке символы, которые могут идентифицироваться как управляющие символы: @ $ & ; ~ ^ #, кроме случаев, когда эти символы используются в строке именно как управляющие.
3. Использование управляющих символов:
– отклонение: $ верхнее отклонение; нижнее отклонение $
– дробь: $d числитель ; знаменатель $
– спецсимвол: &nn номер спецсимвола 0...99.
4. bitVector формируется с помощью логической операции |. Поддерживаются определения:
ITALIC_ON (включить наклон),
– BOLD_ON (включить утолщение),
UNDERLINE_ON (включить подчеркивание). См. ltdefine.h.
5. При использовании Unicode следует использовать функцию TextW.
6. При использовании внутри таблицы функция 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 */