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

6.1 KiB
Raw Blame History

title, type, api, tags, sources
title type api tags sources
Text - Создать строку текста в графическом документе guide
api7
guide
api7
text
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 */