e1337e4016
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>
221 lines
12 KiB
Markdown
221 lines
12 KiB
Markdown
---
|
||
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 - в случае неудачи.
|
||
```
|