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

84 lines
3.4 KiB
Markdown

---
title: "GetReferenceDocumentPart - Получить указатель на основную надпись или технические требования, или неуказанную шероховатость, или текущий вид, или спецификацию на листе"
type: guide
api: [api7]
domain: [drawing]
tags: [guide, api7, drawing, getreferencedocumentpart]
sources:
- getreferencedocumentpart.html
---
*API экспортных функций > Функции работы с графическим документом  > Оформление чертежа  > Функции оформления чертежа *
## GetReferenceDocumentPart - Получить указатель на основную надпись или технические требования, или неуказанную шероховатость, или текущий вид, или спецификацию на листе
Пример...
Аналог данной функции при использовании Automation - метод ksDocument2D::ksGetReferenceDocumentPart.
Синтаксис:
```
reference GetReferenceDocumentPart (unsigned char t);
Входной параметр:
t - Тип объекта оформления чертежа.
Возвращаемое значение:
указатель на объект выбранного типа - в случае удачного завершения,
0 - в случае неудачи.
```
Примечание:
Метод предназначен для использования в листе чертежа.
## GetReferenceDocumentPart пример использования
if (ksGetCurrentDocument (1)) // документ должен быть графическим
{
//получим указатель на технические требования
reference pTT = GetReferenceDocumentPart (1);
if (pTT)
{
TechnicalDemandParam par;
//получим параметры описания ТТ
GetObjParam (pTT, &par, sizeof (par), TECHNICAL_DEMAND_PAR);
char buf[128];
sprintf (buf, "число строк TT =%d",par.strCount);
Message (buf);
//открываем ТТ на редактирование
//(ТТ должны быть открыты, чтобы менять тексты)
OpenTechnicalDemand (par.pGab, //динамический массив
// листов технических требований или 0
par.style); //стиль текста для технических требований
// (если 0 - умолчательное значение)
//пройдемся по ТТ и получим текст
TextLineParam parLine;
for (int i = 0; i < par.strCount; i++)
{
//берем текущую строку
GetObjParam (pTT, &parLine,
sizeof (TextLineParam),
TT_FIRST_STR+i);
TextItemParam parItem;
for (int j=0, count1 = GetArrayCount(parLine.pTextItem); j < count1; j++)
{
//берем текущий компонент строки
GetArrayItem (parLine.pTextItem,
j, &parItem,
sizeof (TextItemParam));
strcat (parItem.s, "!!!");
//меняем текущий компонент строки
SetArrayItem (parLine.pTextItem,
j, &parItem,
sizeof (TextItemParam));
Message (parItem.s);
}
//меняем текущую строку
SetObjParam (pTT, &parLine,
sizeof (TextLineParam),
TT_FIRST_STR+i);
}
//закрываем ТТ
CloseTechnicalDemand ();
return;
}
}
Error ("Документ должен быть листом");