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

325 lines
15 KiB
Markdown

---
title: "Документ спецификация (Интерфейс ksSpcDocument)"
type: interface
api: [api7]
tags: [interface, api7, ksspcdocument]
sources:
- ksspcdocument.html
---
*API интерфейсов. Версия 5*
## Документ спецификация (Интерфейс ksSpcDocument)
События...
Интерфейс документа-спецификации.
Примечание:
Указатель на интерфейс можно получить при помощи метода
KompasObject::SpcDocument, KompasObject::SpcActiveDocument
Смотрите также KompasObject
## GetSpcDocumentNotify - Получить источник событий для документа спецификации
Синтаксис Automation:
```
SpcDocumentNotify* GetSpcDocumentNotify();
Возвращаемое значение:
- указатель на интерфейс источника событий SpcDocumentNotify.
```
## GetSpecification - Получить указатель на интерфейс для работы с объектами спецификации ksSpecification
Синтаксис Automation
```
LPDISPATCH GetSpecification();
Возвращаемое значение:
- указатель на интерфейс для работы с объектами спецификации ksSpecification.
```
## GetStamp - Получить указатель на интерфейс основной надписи ksStamp
Синтаксис Automation:
```
LPDISPATCH GetStamp();
Возвращаемое значение:
- указатель на интерфейс основной надписи ksStamp.
```
## GetStampEx - Получить указатель на интерфейс основной надписи
Синтаксис Automation:
```
LPDISPATCH GetStampEx (long sheetNumb);
Входные параметры:
sheetNumb - номер листа, начиная с 1.
Возвращаемое значение:
- указатель на интерфейс основной надписи ksStamp.
```
## ksCloseDocument - Закрыть документ
Аналог данного метода при использовании API экспортных функций - CloseDocument.
Синтаксис Automation:
```
BOOL ksCloseDocument();
Возвращаемое значение:
TRUE - в случае удачного завершения.
```
Примечание:
Если документ не сохранен, взводится соответствующая ошибка.
## ksCreateDocument - Создать документ
Аналог данного метода при использовании API экспортных функций - CreateDocument.
Синтаксис Automation:
```
BOOL ksCreateDocument (LPDISPATCH par);
Входной параметр:
par - указатель на интерфейс ksDocumentParam параметров документа.
Возвращаемое значение:
TRUE - в случае удачного завершения.
```
Примечание:
Документ становится текущим (видимым или не видимым).
## ksDeleteObj - Удалить объект спецификации
Аналог данного метода при использовании API экспортных функций - DeleteObj.
Синтаксис Automation:
```
long ksDeleteObj (long ref);
Входной параметр:
ref - указатель на удаляемый объект.
Возвращаемое значение:
1 - в случае удачного завершения.
```
## ksExistObj - Проверить, существует ли в спецификации указанный объект
Аналог данного метода при использовании API экспортных функций - ExistObj.
Синтаксис Automation:
```
long ksExistObj (long ref);
Входной параметр:
ref - указатель на объект.
Возвращаемое значение:
1 - объект существует,
0 - объект не существует.
```
## ksGetObjParam - Получить параметры объекта спецификации
Аналог данного метода при использовании API экспортных функций - GetObjParam.
Синтаксис Automation:
```
long ksGetObjParam (long reference,
LPDISPATCH param,
long paramType);
Входные параметры:
reference - указатель на объект,
paramType - тип параметров,
param - указатель на интерфейс параметров ksUserParam.
Типы параметров объектов...
Возвращаемое значение:
тип объекта - в случае удачного завершения,
0 - в случае неудачи.
Типы объектов и интерфейсы...
```
Примечания:
1. Параметр paramType может принимать значения ALLPARAM, SHEET_ALLPARAM, DOCUMENT_STATE, SPC_TUNING_PARAM.
2. Возвращаемым значением может быть SPC_OBJ или SPC_DOCUMENT_OBJ.
3. Вызов метода с нулевыми значениями параметров param и parType позволяет получить тип объекта по его reference.
## ksGetSpcDocumentPagesCount - Получить количество листов спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcDocumentPagesCount.
Синтаксис Automation:
```
long ksGetSpcDocumentPagesCount();
Возвращаемое значение:
- количество листов спецификации.
```
## ksGetSpcSheetSB - Получить указатель на интерфейс динамического массива листов сборочного чертежа, подключенных к спецификации, - ksDynamicArray типа CHAR_STR_ARR
Аналог данного метода при использовании API экспортных функций - ksGetSpcSheetSB.
Синтаксис Automation:
```
LPDISPATCH ksGetSpcSheetSB();
Возвращаемое значение:
- указатель на интерфейс динамического массива ksDynamicArray типа CHAR_STR_ARR.
```
## ksOpenDocument - Открыть документ-спецификацию
Аналог данного метода при использовании API экспортных функций - OpenDocument.
Синтаксис Automation:
```
BOOL ksOpenDocument (BSTR nameDoc, short regim);
Входные параметры:
name - полное имя файла открываемого документа,
regim - режим открытия: 0 - видимый, 1 - "слепой", 3 - видимый без синхронизации со сборочным чертежом, 4 - "слепой" без синхронизации со сборочным чертежом.
Возвращаемое значение:
TRUE - в случае удачного завершения.
```
Примечание:
Открытый документ становится текущим.
## ksSaveDocument - Сохранить документ
Аналог данного метода при использовании API экспортных функций - SaveDocument.
Синтаксис Automation:
```
BOOL ksSaveDocument (BSTR fileName);
Входной параметр:
fileName - полное имя файла, (NULL - используется имя существующего файла из документа).
Возвращаемое значение:
TRUE - в случае удачного завершения.
```
Примечание:
fileName определяет имя файла при сохранении в режиме Save As...
Если и в документе имя файла NULL - взводится соответствующая ошибка.
## ksSaveDocumentEx - Сохранить документ с новым именем файла
Синтаксис Automation:
```
BOOL ksSaveDocumentEx( BSTR FileName, long SaveMode );
```
Синтаксис COM:
```
BOOL ksSaveDocumentEx( LPOLESTR FileName, long SaveMode );
Входные параметры:
FileName - новое имя файла документа,
SaveMode - версия для сохранения: -1 - в предыдущую версию, 0 - в текущую версию, 1 - в версию 5.11.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
```
Примечание:
Если FileName = NULL, то используется имя файла из документа. Если же и в документе отсутствует имя файла, то взводится ошибка.
## ksSaveToDXF - Сохранить документ в формате DXF
Синтаксис Automation:
```
BOOL ksSaveToDXF (LPCTSTR DXFFileName);
Входные параметры:
DXFFileName - имя файла для записи в формате DXF.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
```
Примечание:
Если FileName = NULL, то используется имя файла из документа. Если же и в документе отсутствует имя файла, то взводится ошибка.
## ksSetObjParam - Установить параметры объекта
Аналог данного метода при использовании API экспортных функций - SetObjParam.
Синтаксис Automation:
```
long ksSetObjParam (long reference,
LPDISPATCH param,
long paramType);
Входные параметры:
reference - указатель на объект,
paramType - тип параметров,
param - указатель на интерфейс параметров ksUserParam.
Типы параметров объектов...
Типы объектов и интерфейсы...
Возвращаемое значение:
1 - в случае удачного завершения.
```
Примечания:
1. Параметр paramType может принимать значения ALLPARAM, SHEET_ALLPARAM, DOCUMENT_STATE, SPC_TUNING_PARAM.
2. Типом объекта может быть SPC_OBJ или SPC_DOCUMENT_OBJ.
## ksSetSpcSheetSB - Установить указатель на интерфейс динамического массива листов сборочного чертежа, подключенных к спецификации
Аналог данного метода при использовании API экспортных функций - ksSetSpcSheetSB.
Синтаксис Automation:
```
long ksSetSpcSheetSB (LPDISPATCH arr);
Входной параметр:
arr - указатель на интерфейс динамического массива ksDynamicArray типа CHAR_STR_ARR.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
```
## RasterFormatParam - Получить указатель на интерфейс, определяющий параметры записи в растровый формат
Синтаксис Automation:
```
LPDISPATCH RasterFormatParam();
Возвращаемое значение:
указатель на интерфейс ksRasterFormatParam - в случае успешного завершения,
NULL - в случае неудачи.
```
## reference - Указатель на спецификацию
Тип данных: long
Синтаксис Automation:
```
ref = iSpcDocument.reference Получить свойство (* )
iSpcDocument.reference = ref Установить свойство (* )
ref = iSpcDocument.GetReference() Получить свойство (**)
iSpcDocument.SetReference(ref) Установить свойство (**)
```
## SaveAsToRasterFormat - Сохранить документ в растровом формате
Аналог данного метода при использовании API экспортных функций - ksSaveAsToRasterFormat.
Синтаксис Automation:
```
BOOL SaveAsToRasterFormat (BSTR fileName,
LPDISPATCH rasterPar);
Входные параметры:
fileName - полное имя файла документа,
rasterPar - указатель на интерфейс ksRasterFormatParam, определяющий параметры записи в растровый формат.
Возвращаемое значение:
TRUE - в случае удачного завершения.
```
Примечание:
Метод позволяет сохранить присланный документ в растровом формате (BMP, GIF, JPG, PNG, TIF, TGA, PCX, EMF и WMF) с заданными свойствами.
Сохранение в WMF формат не поддерживается. При сохранении в WMF формате файл записывается в формате EMF.
## SaveAsToUncompressedRasterFormat - Сохранить документ в растровый формат без сжатия
Аналог данного метода при использовании API экспортных функций - ksSaveAsToUncompressedRasterFormat.
Синтаксис Automation:
```
BOOL SaveAsToUncompressedRasterFormat(BSTR fileName, IDispatch* rasterPar);
Входные параметры:
fileName - полное имя файла документа,
rasterPar - указатель на интерфейс ksRasterFormatParam, определяющий параметры записи в растровый формат.
Возвращаемое значение:
TRUE - в случае удачного завершения.
```
Примечание:
Метод позволяет сохранить документ спецификации в растровом формате без сжатия, с заданными свойствами: цветом, форматом (BMP, GIF, JPG, PNG, TIF, TGA, PCX, EMF и WMF) и т.п. Сохранение в WMF формат не поддерживается. При сохранении в WMF формате файл записывается в формате EMF.
Подробнее см. описание ksRasterFormatParam.