---
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.
