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