Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/ksfragment.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

221 lines
12 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Фрагмент (Интерфейс ksFragment)"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, ksfragment]
sources:
- ksfragment.html
---
*API интерфейсов. Версия 5 > Графический документ (Интерфейсы - ksDocument2D и IDocument2D) *
## Фрагмент (Интерфейс ksFragment)
Интерфейс фрагмента.
Примечание:
Указатель на интерфейс можно получить при помощи метода ksDocument2D::GetFragment.
Смотрите также: KompasObject
## ksCloseLocalFragmentDefinition - Закончить определение локального фрагмента
Аналог данного метода при использовании API экспортных функций - CloseLocalFragmentDefinition.
ИС: оборванная ссылка. раздела "Закончить определение локального фрагмента" в Экспортных функциях больше нет.
Синтаксис Automation:
```
long ksCloseLocalFragmentDefinition();
Возвращаемое значение:
указатель на определение фрагмента - в случае успешного завершения,
0 - в случае неудачи.
```
Примечание:
Все объекты вида, вводимые между операторами ksLocalFragmentDefinition и ksCloseLocalFragmentDefinition, принадлежат локальному фрагменту.
Возвращаемый указатель используется в функциях ksInsertFragment, ksDeleteObj.
## ksFragmentDefinition - Определить фрагмент для вставки
Аналог данного метода при использовании API экспортных функций - FragmentDefinition.
Синтаксис Automation:
```
long ksFragmentDefinition (LPCTSTR fileName,
LPCTSTR comment,
short insertType);
Входные параметры:
fileName - имя файла фрагмента,
comment - имя вставки,
insertType - тип вставки (действителен для внешнего фрагмента): 0 - взять в документ, 1 - внешней ссылкой.
Возвращаемое значение:
указатель на определение фрагмента - в случае успешного завершения,
0 - в случае неудачи.
```
Примечание:
1. Функция определяет данные для вставки фрагмента (внешнего или находящегося непосредственно в документе) с указанным именем по ссылке.
2. Непосредственно вставка фрагмента (вставка ссылки) производится
с помощью метода ksFragment::ksInsertFragment.
3. Допускается задание имени фрагмента следующего вида: "c:\gr\lib1.lfr|детали|литье|фланец", где
c:\gr\lib1.lfr - имя файла библиотеки фрагментов,
|детали|литье| - разделы, подразделы внутри библиотеки фрагментов,
фланец - имя фрагмента.
В этом случае определение создается для фрагмента из библиотеки фрагментов.
4. Определение для данного фрагмента одно - вставок может быть сколько угодно.
## ksInsertFragment - Вставить фрагмент в документ
Аналог данного метода при использовании API экспортных функций - InsertFragment.
Замечание:
Данный метод устарел. Рекомендуется использовать вместо него метод ksInsertFragmentEx.
Синтаксис Automation:
```
long ksInsertFragment (long p,
BOOL curentLayer,
LPDISPATCH par);
Входные параметры:
p - указатель на фрагмент,
curentLayer - тип размещения объектов фрагмента по слоям: 0 - на "свои" слои, 1- на текущий слой,
par - указатель на интерфейс ksPlacementParam.
Возвращаемое значение:
указатель на вставку фрагмента - в случае успешного завершения,
0 - в случае неудачи.
```
## ksInsertFragmentEx - Вставить фрагмент в документ
Аналог данного метода при использовании API экспортных функций - ksInsertFragmentEx.
Синтаксис Automation:
```
long ksInsertFragmentEx (long p,
BOOL curentLayer,
LPDISPATCH par,
BOOL scaleProjLinesSize);
Входные параметры:
p - указатель на фрагмент,
curentLayer - тип размещения объектов фрагмента по слоям: 0 - на "свои" слои, 1- на текущий слой,
par - указатель на интерфейс ksPlacementParam,
scaleProjLinesSize - признак масштабирования длины выносных линий размеров: TRUE - выносные линии масштабируются, FALSE - выносные линии не масштабируются.
Возвращаемое значение:
указатель на вставку фрагмента - в случае успешного завершения,
0 - в случае неудачи.
```
## ksLocalFragmentDefinition - Определить данные для последующей вставки локального фрагмента по ссылке
Аналог данного метода при использовании API экспортных функций - LocalFragmentDefinition.
Синтаксис Automation:
```
long ksLocalFragmentDefinition (LPCTSTR comment);
Входной параметр:
comment - имя вставки.
Возвращаемое значение:
указатель на определение фрагмента - в случае успешного завершения,
0 - в случае неудачи.
```
Примечание:
Вставка ссылки на фрагмент производится с помощью функции ksInsertFragment. Указатель на определение фрагмента возвращается при окончании описания - функцией ksCloseLocalFragmentDefinition.
Отдельного файла фрагмента нет; "тело" фрагмента хранится в документе.
## ksReadFragment - Вставить фрагмент россыпью в документ
Аналог данного метода при использовании API экспортных функций - ReadFragment.
Синтаксис Automation:
```
long ksReadFragment (LPCTSTR fileName,
BOOL curentLayer,
LPDISPATCH par);
Входные параметры:
fileName - имя фрагмента,
curentLayer - тип размещения объектов фрагмента по слоям: 0 - на "свои" слои, 1- на текущий слой,
par - указатель на интерфейс ksPlacementParam.
Возвращаемое значение:
1 - в случае успешного завершения,
0 - в случае неудачи.
```
Примечание:
Допускается задание имени файла следующего вида: "c:\gr\lib1.lfr|детали|литье|фланец",
где
c:\gr\lib1.lfr - имя файла библиотеки фрагментов,
|детали|литье| - разделы, подразделы внутри библиотеки фрагментов,
фланец - имя фрагмента.
В этом случае фрагмент берется из библиотеки фрагментов.
## ksReadFragmentToGroup - Вставить фрагмент россыпью во временную группу
Аналог данного метода при использовании API экспортных функций - ksReadFragmentToGroup.
Замечание:
Данный метод устарел. Рекомендуется использовать вместо него метод ksReadFragmentToGroupEx.
Синтаксис Automation:
```
long ksReadFragmentToGroup (LPCTSTR fileName,
BOOL curentLayer,
LPDISPATCH par);
Входные параметры:
fileName - имя фрагмента,
curentLayer - тип размещения объектов фрагмента по слоям: 0 - на "свои" слои, 1- на текущий слой,
par - указатель на интерфейс ksPlacementParam.
Возвращаемое значение:
указатель на временную группу - в случае успешного завершения,
0 - в случае неудачи.
```
Примечание:
Допускается задание имени файла следующего вида: "c:\gr\lib1.lfr|детали|литье|фланец",
где
c:\gr\lib1.lfr - имя файла библиотеки фрагментов,
|детали|литье| - разделы, подразделы внутри библиотеки фрагментов,
фланец - имя фрагмента.
В этом случае фрагмент берется из библиотеки фрагментов.
## ksReadFragmentToGroupEx - Вставить фрагмент россыпью во временную группу
Аналог данного метода при использовании API экспортных функций - ksReadFragmentToGroupEx.
Синтаксис Automation:
```
long ksReadFragmentToGroup (LPCTSTR fileName,
BOOL curentLayer,
LPDISPATCH par
BOOL scaleProjLinesSize);
Входные параметры:
fileName - имя фрагмента,
curentLayer - тип размещения объектов фрагмента по слоям: 0 - на "свои" слои, 1- на текущий слой,
par - указатель на интерфейс ksPlacementParam,
scaleProjLinesSize - признак масштабирования длины выносных линий размеров: TRUE - выносные линии масштабируются, FALSE - выносные линии не масштабируются.
Возвращаемое значение:
указатель на временную группу - в случае успешного завершения,
0 - в случае неудачи.
```
Примечание:
Допускается задание имени файла следующего вида: "c:\gr\lib1.lfr|детали|литье|фланец",
где
c:\gr\lib1.lfr - имя файла библиотеки фрагментов,
|детали|литье| - разделы, подразделы внутри библиотеки фрагментов,
фланец - имя фрагмента.
В этом случае фрагмент берется из библиотеки фрагментов.
## ksWriteFragment - Записать группу во фрагмент
Аналог данного метода при использовании API экспортных функций - WriteFragment.
Синтаксис Automation:
```
long ksWriteFragment (long gr,
LPCTSTR fileName,
LPCTSTR comment,
double xb,
double yb);
Входные параметры:
gr - указатель на группу (0 - записывается группа селектирования),
filename - имя файла фрагмента,
comment - комментарий для фрагмента,
xb, yb - координаты точки привязки.
Возвращаемое значение:
1 - в случае успешного завершения,
0 - в случае неудачи.
```