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

919 lines
50 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.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Интерфейс спецификации ksSpecification"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, ksspecification]
sources:
- ksspecification.html
---
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Интерфейсы спецификации ksSpecification, ISpecification *
## Интерфейс спецификации ksSpecification
События...
Интерфейс для работы со спецификацией.
Примечания:
1. Для Автоматизации используется интерфейс ksSpecification.
2. Для COM используется интерфейс ISpecification3D и группа экспортных функций. Указатель на интерфейс ISpecification3D можно получить из интерфейса IDocument3D через стандартную функцию QueryInterface.
3. Указатель на интерфейс можно получить при помощи методов ksDocument2D::GetSpecification, ksSpcDocument::GetSpecification, ksDocument3D::GetSpecification.
4. События интерфейса позволяют контролировать редактирование описаний спецификации. В Automation источником событий для подписки на данный интерфейс является объект ksSpecification. В COM источником для подписки является документ (графический, документ-модель, спецификация).
Смотрите также:
•ksDocument2D,
•ksDocument3D,
•ksSpcDocument.
## D3GetSpcObjForGeomWithLimit - Получить указатель на объект спецификации, подключенный к трехмерному компоненту (детали или подсборке) с ограничениями по номеру раздела и типу атрибута
Аналог данного метода при использовании API экспортных функций - D3GetSpcObjForGeomWithLimit.
Синтаксис Automation:
```
long D3GetSpcObjForGeomWithLimit (LPCTSTR nameLib,
long numb,
LPDISPATCH part,
short first,
short section,
double attrTypeNumb);
Входные параметры:
nameLib - имя библиотеки стилей спецификации,
numb - номер стиля спецификации в библиотеке,
part - указатель на интерфейс добавляемого компонента ksPart,
first - 1 - первый объект, 0 - следующий объект,
section - номер раздела, в котором нужно найти объект (0 - номер не ограничивается),
attrTypeNumb - номер типа атрибута, для которого нужно найти объект (0 - номер не ограничивается).
Возвращаемое значение:
- указатель на объект спецификации.
```
Синтаксис COM:
```
ISpecification3D::GetSpcObjForGeomWithLimit
```
## D3GetSpcObjGeometry - Получить деталь или подсборку, подключенную к объекту спецификации
Аналог данного метода при использовании API экспортных функций - ksD3GetSpcObjGeometry.
Синтаксис Automation:
```
LPDISPATCH D3GetSpcObjGeometry (long spcObj);
Входные параметры:
spcObj - указатель на объект спецификации.
Возвращаемое значение:
Указатель на интерфейс ksPart - в случае успешного завершения,
0 - если деталь не подключена или в случае ошибки.
```
## D3SpcIncludePart - Добавить или изменить трехмерный компонент (деталь или подсборку) в объекте спецификации
Аналог данного метода при использовании API экспортных функций - D3SpcIncludePart.
Синтаксис Automation:
```
BOOL D3SpcIncludePart (LPDISPATCH part, VARIANT_BOOL fillTexts);
Входные параметры:
part - указатель на интерфейс компонента ksPart,
fillTexts - признак автоматического заполнения: наименование, обозначение, масса из свойств ksPart: TRUE - автозаполнение включено, FALSE - выключено.
Возвращаемое значение:
TRUE - в случае удачного завершения.
```
Синтаксис COM:
```
ISpecification3D::SpcIncludePart
```
Примечание:
Если при подключении компонента присылается флаг fillTexts = true, в объекте спецификации взводится флаг ISpecificationBaseObject::SyncronizeWithProperties.
## GetSpcObjectColumnTextEx - Получить текст объекта спецификации для определенного типа колонки и исполнения в виде динамического массива TEXT_LINE_ARR
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjectColumnTextEx.
Синтаксис Automation:
```
LPDISPATCH ksGetSpcObjectColumnTextEx (long spcObj, long columnType, long ispoln, long block);
Входные параметры:
spcObj - указатель на объект спецификации,
columnType - тип колонки, SPC_CLM_FORMAT...SPC_CLM_USER,
ispoln - номер колонки данного типа начиная с 1,
block - номер блока, если block = 0, то количество исполнений меньше количества исполнений в бланке спецификации (для групповой спецификации 2.113-75 количество исполнений меньше 10).
Возвращаемое значение:
указатель на интерфейс ksDynamicArray - в случае успеха,
0 - в случае неудачи.
```
## GetSpcObjectNotify - Получить источник событий для объекта спецификации
Синтаксис Automation:
```
SpcObjectNotify* GetSpcObjectNotify();
Возвращаемое значение:
- указатель на интерфейс источника событий SpcObjectNotify.
```
## ksAddSpcDescription - Добавить описание спецификации в указанный графический документ
Аналог данного метода при использовании API экспортных функций - ksAddSpcDescription.
Синтаксис Automation:
```
long ksAddSpcDescription (LPDISPATCH param);
Входной параметр:
param - указатель на интерфейс параметров описания спецификации ksSpcDescrParam,
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
```
## ksDeleteSpcDescription - Удалить параметры описания спецификации в указанном графическом документе
Аналог данного метода при использовании API экспортных функций - ksDeleteSpcDescription.
Синтаксис Automation:
```
long ksDeleteSpcDescription (long index);
Входной параметр:
index - индекс (номер) описания спецификации в документе.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
```
## ksEditWindowSpcObject - Запустить окно редактирования для объекта спецификации, существующего в графическом документе
Аналог данного метода при использовании API экспортных функций - ksEditWindowSpcObject.
Синтаксис Automation:
```
long ksEditWindowSpcObject (long obj);
Входной параметр:
spcObj - указатель на объект спецификации.
Возвращаемое значение:
1 - в случае удачного завершения.
```
Примечание:
Метод запускает процесс. Так как сиcтема может работать только с одним процессом, то нужно завершить другие "процессные" функции: ksDocument2D::ksCursor, ksDocument2D::ksPlacement, ksDocument2D::ksCommandWindow, ksDocument2D::ksEditViewObject, ksDocument2D::ksCreateViewObject.
## ksGetCurrentSpcObject - Получить указатель текущего (выделенного или редактируемого) объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksGetCurrentSpcObject.
Синтаксис Automation:
```
long ksGetCurrentSpcObject();
Возвращаемое значение:
указатель на текущий объект - в случае успеха,
0 - в случае неудачи.
```
Примечание:
Метод работает для видимых таблиц спецификации.
## ksGetSpcColumnNumb - Получить номер колонки для данного объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcColumnNumb.
Синтаксис Automation:
```
long ksGetSpcColumnNumb (long spcObj,
long columnType,
long ispoln,
long block);
Входные параметры:
spcObj - указатель на объект спецификации,
columnType - тип колонки,
ispoln - номер колонки данного типа, начиная с 1,
block - номер блока исполнений.
Возвращаемое значение:
- номер колонки спецификации.
Типы колонок спецификации...
```
## ksGetSpcColumnType - Получить параметры колонки по ее номеру для данного объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcColumnType.
Синтаксис Automation:
```
long ksGetSpcColumnType (long spcObj,
long colNumb,
LPDISPATCH par);
Входные параметры:
spcObj - указатель на объект спецификации,
colNumb - номер колонки, начиная с 1.
Выходной параметр:
par - указатель на интерфейс параметров колонки ksSpcColumnParam.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
Типы колонок спецификации...
```
Примечание:
Если количество исполнений больше числа колонок Количество в бланке спецификации, то недостающие колонки исполнений "пристыкованы" справа от видимых в таблице колонок, затем "пристыкованы" дополнительные колонки
## ksGetSpcDescription - Получить указатель на интерфейс параметров описания спецификации для указанного документа
Аналог данного метода при использовании API экспортных функций - ksGetSpcDescription.
Синтаксис Automation:
```
long ksGetSpcDescription (long index,
LPDISPATCH param,
BOOL* state);
Входной параметр:
index - индекс (номер) описания спецификации в документе (-1 - текущее описание).
Выходные параметры:
param - указатель на интерфейс ksSpcDescrParam параметров описания спецификации,
state - состояние описания спецификации: TRUE - текущее, FALSE - не текущее.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
```
Примечание:
Для документа-спецификации параметр index не используется.
## ksGetSpcObject - Получить указатель на объект спецификации по номеру
Аналог данного метода при использовании API экспортных функций - ksGetSpcObject.
Синтаксис Automation:
```
long ksGetSpcObject (double objNumb);
Входной параметр:
objNumb - уникальный номер объекта спецификации.
Возвращаемое значение:
- указатель на объект спецификации.
```
## ksGetSpcObjectAttributeNumber - Получить номер атрибута объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjectAttributeNumber.
Синтаксис Automation:
```
double ksGetSpcObjectAttributeNumber ( long spcObj );
Входные параметры:
spcObj - объект спецификации.
Возвращаемое значение:
- номер атрибута.
```
Примечания:
Если spcObj = 0, то возвращается номер редактируемого в текущий момент
объекта спецификации, т.е. внутри блока:
ksSpcObjectEdit(...);
ksGetSpcObjectAttributeNumber(...);
ksSpcObjectEnd();
## ksGetSpcObjectColumnText - Получить строку с текстом из определенной колонки объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjectColumnText.
Синтаксис Automation:
```
BSTR ksGetSpcObjectColumnText (long spcObj,
long columnType,
long ispoln,
long block);
Входные параметры:
spcObj - указатель на объект спецификации,
columnType - тип колонки,
ispoln - номер колонки данного типа, начиная с 1,
block - номер блока исполнений, начиная с 0 (если количество исполнений больше числа колонок типа Количество).
Типы колонок спецификации...
Возвращаемое значение:
- строка с текстом из колонки.
```
## ksGetSpcObjectColumnTextAlign - Получить выравнивание для текста колонки объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjectColumnTextAlign.
Синтаксис Automation:
```
long ksGetSpcObjectColumnTextAlign( long spcObj,
long columnNumber,
long lineIndex );
Входной параметр:
spcObj - указатель на объект спецификации,
columnNumber - номер колонки, начиная с 1,
lineIndex - индекс строки текста.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
```
Примечания:
Значение переменной align может принимать значения:
0 - Выравнивание влево;
1 - Выравнивание по центру;
2 - Выравнивание вправо;
3 - Выравнивание по ширине.
## ksGetSpcObjectNumber - Получить уникальный номер объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjectNumber.
Синтаксис Automation:
```
double ksGetSpcObjectNumber (long spcObj);
Входной параметр:
spcObj - указатель на объект спецификации.
Возвращаемое значение:
- уникальный номер объекта спецификации.
```
## ksGetSpcObjectSummaryCount - Получить суммарное количество для одинаковых объектов
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjectSummaryCount.
Синтаксис Automation:
```
double ksGetSpcObjectSummaryCount(long spcObj,
long ispoln,
long blockNumber );
Входные параметры:
spcObj - объект спецификации,
ispoln - номер колонки типа "количество", начиная с 1 (актуально для СП типа Б ),
blockNumber - номер блока, начиная с 0 ( актуально для СП типа A).
Возвращаемое значение:
- cуммарное количество.
```
## ksGetSpcObjectSummaryCountText - Выдать отображаемый текст объекта СП для колонки количество и исполнения в виде динамического массива
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjectSummaryCountText.
Синтаксис Automation:
```
LPDISPATCH ksGetSpcObjectSummaryCountText( long spcObj, long ispoln, long block, LPDISPATCH arr );
Входные параметры:
spcObj - объект спецификации,
ispoln - номер колонки типа "количество", начиная с 1 (актуально для СП типа Б ),
blockNumber - номер блока, начиная с 0 ( актуально для СП типа A).
Возвращаемое значение:
Указатель на на интерфейс ksDynamicArray - в случае успеха,
0 - в случае неудачи.
```
Примечание:
•В разных разделах количество может иметь различный тип.
•В разделе Детали стандартные изделия, например, количество имеет целочисленное значение. При объединении нескольких объектов спецификации в этом случае количество суммируется.
•В разделе Материал количество строковое, и текст возвращается с объекта, у которого задано не пустое значение.
•В разделе Документация также формируется объединенное значение.
•В отличии от ksSpecification::ksGetSpcObjectSummaryCount метод может вернуть не пустое значение для строковых колонок.
## ksGetSpcObjForGeom - Получить указатель на объект спецификации, подключенный к данному графическому объекту
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjForGeom.
Синтаксис Automation:
```
long ksGetSpcObjForGeom (BSTR nameLib,
long numb,
long obj,
short equal,
short first);
Входные параметры:
nameLib - имя библиотеки стилей спецификации,
numb - номер стиля спецификации в библиотеке,
obj - указатель на графический объект или группу объектов (0 - макроэлемент редактирования),
equal - признак вхождения геометрии в состав объекта: 1 - геометрия идентична геометрии объекта спецификации, 0 - геометрия входит в объект спецификации,
first - 1 - первый объект, 0 - следующий объект.
Возвращаемое значение:
- указатель на объект спецификации.
```
Примечания:
1. Данный метод - только для графических документов.
2. В настоящий момент метод реализован только для equal = 1.
## ksGetSpcObjForGeomWithLimit - Получить указатель на объект спецификации, подключенный к данному графическому объекту с ограничениями по номеру раздела и типу атрибута
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjForGeomWithLimit.
Синтаксис Automation:
```
long ksGetSpcObjForGeomWithLimit (BSTR nameLib,
long numb,
long obj,
short equal,
short first,
long section,
double attrTypeNumb);
Входные параметры:
nameLib - имя библиотеки стилей спецификации,
numb - номер стиля спецификации в библиотеке,
obj - указатель на графический объект или группу объектов (0 - макроэлемент редактирования),
equal - признак вхождения геометрии в состав объекта: 1 - геометрия идентична геометрии объекта спецификации, 0 - геометрия входит в объект спецификации,
first - 1 - первый объект, 0 - следующий объект,
section - номер раздела, в котором нужно найти объект (0 - номер не ограничивается),
attrTypeNumb - номер типа атрибута, для которого нужно найти объект (0 - номер не ограничивается).
Возвращаемое значение:
- указатель на объект спецификации.
```
Примечания:
1. Данный метод - только для графических документов.
2. В настоящий момент метод реализован только для equal = 1.
## ksGetSpcObjGeometry - Получить деталь или подсборку, подключенную к объекту спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjGeometry.
Синтаксис Automation:
```
long ksGetSpcObjGeometry (long spcObj);
Входные параметры:
spcObj - указатель на объект спецификации.
Возвращаемое значение:
указатель на группу - в случае успешного завершения,
0 - в случае, если геометрия не подключена или в случае ошибки.
```
## ksGetSpcObjGeometryEx - Получить деталь или подсборку, подключенную к объекту спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcObjGeometryEx.
Синтаксис Automation:
```
long ksGetSpcObjGeometryEx (long spcObj, long geomMode);
Входные параметры:
spcObj - указатель на объект спецификации,
geomMode 0 - только геометрия; 1 - только линии выноски; 2 - геометрия и линии выноски.
Возвращаемое значение:
указатель на группу - в случае успешного завершения,
0 - в случае, если геометрия не подключена или в случае ошибки.
```
## ksGetSpcPerformanceName - Получить отображаемое имя исполнения
Аналог данного метода при использовании API экспортных функций - ksGetSpcPerformanceName.
Синтаксис Automation:
```
BSTR ksGetSpcPerformanceName( long index,
long ispoln,
long block );
Входные параметры:
index - индекс описания СП в документе,
ispoln - номер колонки типа "количество", начиная с 1 (актуально для СП типа Б),
blockNumber - номер блока, начиная с 0 (актуально для СП типа A).
Возвращаемое значение:
имя исполнения - в случае успешного завершения,
FALSE - в случае, если геометрия не подключена или в случае ошибки.
```
## ksGetSpcPropertyFill - Получить флаг Синхронизировать со свойствами компонента
Синтаксис Automation:
```
BOOL ksGetSpcPropertyFill( long spcObj );
Входные параметры:
spcObj - указатель на объект спецификации.
Возвращаемое значение:
Значение флага - cинхронизировать со свойствами компонента.
```
## ksGetSpcSectionName - Получить название раздела спецификации по указателю на объект спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcSectionName.
Синтаксис Automation:
```
BSTR ksGetSpcSectionName (long spcObj);
Входной параметр:
spcObj - указатель на объект спецификации.
Возвращаемое значение:
- строка с названием раздела спецификации.
```
## ksGetSpcStyleParam - Получить указатель на интерфейс параметров ksSpcStyleParam или ksSpcTuningStyleParam для указанного стиля спецификации
Аналог данного метода при использовании API экспортных функций - ksGetSpcStyleParam.
Синтаксис Automation:
```
long ksGetSpcStyleParam (BSTR nameLib,
long numb,
LPDISPATCH par,
long tPar);
Входные параметры:
nameLib - имя библиотеки стилей спецификаций (NULL - параметры берутся у текущего документа),
numb - номер стиля спецификации в библиотеке,
tPar - тип возвращаемых параметров.
Выходной параметр:
par - указатель на интерфейс параметров ksSpcStyleParam или ksSpcTuningStyleParam.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
```
Примечание:
tPar = ALLPARAM - интерфейс ksSpcStyleParam,
tPar = SPC_TUNING_PARAM - интерфейс ksSpcTuningStyleParam.
## ksGetSpcTableColumn - Получить количество колонок для стиля спецификации в текущем документе
Аналог данного метода при использовании API экспортных функций - ksGetSpcTableColumn.
Синтаксис Automation:
```
long ksGetSpcTableColumn (BSTR nameLib,
long numb,
short additioanalCol);
Входные параметры:
nameLib - имя библиотеки стилей спецификаций,
numb - номер стиля в библиотеке,
additioanalCol - признак колонок: 0 - видимые колонки таблицы спецификации, 1 - дополнительные колонки.
Возвращаемое значение:
- количество колонок для стиля спецификации в текущем документе.
```
Примечания:
1. Если документ - спецификация, то параметры nameLib и numb не используются.
2. Если количество исполнений больше числа колонок "количество" в бланке спецификации, то количество колонок выдается с учетом всех исполнений.
## ksGetTuningSpcStyleParam - Получить параметры настройки спецификации документа
Аналог данного метода при использовании API экспортных функций - ksGetTuningSpcStyleParam.
Синтаксис Automation:
```
long ksGetTuningSpcStyleParam (long index, LPDISPATCH par);
Входные параметры:
index - индекс описания спецификации в документе,
par - указатель на интерфейс ksSpcTuningStyleParam структуры параметров настроек спецификации.
Возвращаемое значение:
1 - в случае успешного завершения,
0 - в случае неудачи.
```
Примечание:
1. Если index = -1, то для текущего описания спецификации.
2. Для документа спецификации настройки можно изменить всегда.
3. Для графического документа в случае, если документ подключен к спецификации или включен режим "Спецификация на листе".
4. Для документа трехмерного объекта в случае, если документ подключен к спецификации.
## ksGetWidthColumnSpc - Получить ширину колонки или текста в колонке
Аналог данного метода при использовании API экспортных функций - ksGetWidthColumnSpc.
Синтаксис Automation:
```
double ksGetWidthColumnSpc (long numColumn, BOOL cellOrText);
Входные параметры:
numColumn - номер колонки,
cellOrText - признак объекта, ширину которого требуется узнать: TRUE - колонка, FALSE - текст в колонке.
Возвращаемое значение:
- ширина колонки или текста в колонке.
```
## ksSetCurrentSpcObject - Установить текущий объект спецификации либо по указателю на него, либо по его индексу
Аналог данного метода при использовании API экспортных функций - ksSetCurrentSpcObject.
Синтаксис Automation:
```
long ksSetCurrentSpcObject (long spcObj,
long index);
Входные параметры:
spcObj - указатель на объект,
index - индекс объекта.
Возвращаемое значение:
1 - в случае успешного завершения,
0 - в случае неудачи.
```
Примечание:
Метод работает для видимых таблиц спецификации.
## ksSetSpcDescription - Установить указатель на интерфейс параметров описания спецификации для указанного документа
Аналог данного метода при использовании API экспортных функций - ksSetSpcDescription.
Синтаксис Automation:
```
long ksSetSpcDescription (long index,
LPDISPATCH param,
short state);
Входные параметры:
index - индекс (номер) описания спецификации в документе (-1 - текущее описание),
param - указатель на интерфейс параметров описания спецификации ksSpcDescrParam,
state - состояние описания спецификации: TRUE - текущее, FALSE - не текущее.
Возвращаемое значение:
1 - в случае удачного завершения.
```
Примечания:
1. Метод изменяет параметры описания спецификации и/или делает его активным, если state = TRUE.
2. Если param = NULL - меняется только состояние.
3. Для документа-спецификации параметр index не используется.
## ksSetSpcObjectAttributeNumber - Установить номер атрибута объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksSetSpcObjectAttributeNumber.
Синтаксис Automation:
```
BOOL ksSetSpcObjectAttributeNumber (long spcObj, double attrNumber );
Входные параметры:
spcObj - объект спецификации,
attrNumber - номер атрибута.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.- в случае неудачи.
```
Примечания:
Если spcObj = 0, то возвращается номер редактируемого в текущий момент объекта спецификации, т.е. внутри блока:
ksSpcObjectEdit(...);
ksGetSpcObjectAttributeNumber(...);
ksSpcObjectEnd();
## ksSetSpcObjectColumnText - Установить текст в колонке определенного типа
Аналог данного метода при использовании API экспортных функций - ksSetSpcObjectColumnText.
Синтаксис Automation:
```
long ksSetSpcObjectColumnText (long columnType,
long ispoln,
long block,
BSTR str);
Входные параметры:
columnType - тип колонки,
ispoln - номер колонки данного типа,
block - номер блока исполнений, начиная с 0 (если количество исполнений больше числа колонок типа Количество),
str - строка, из которой нужно взять текст.
Возвращаемое значение:
1 - в случае удачного завершения.
```
## ksSetSpcObjectColumnTextAlign - Установить выравнивание для текста колонки объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksSetSpcObjectColumnTextAlign.
Синтаксис Automation:
```
BOOL ksSetSpcObjectColumnTextAlign ( long spcObj,
long columnNumber,
long lineIndex,
long align );
Входной параметр:
spcObj - указатель на объект спецификации.
columnNumber - номер колонки, начиная с 1,
lineIndex - индекс строки текста,
align - выравнивание.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
```
Примечания:
Значение переменной align может принимать значения:
0 - Выравнивание влево;
1 - Выравнивание по центру;
2 - Выравнивание вправо;
3 - Выравнивание по ширине.
## ksSetSpcObjectColumnTextEx - Задать текст объекта спецификации для определенного типа колонки и исполнения
Аналог данного метода при использовании API экспортных функций - ksSetSpcObjectColumnTextEx.
Синтаксис Automation:
```
long ksSetSpcObjectColumnTextEx (long columnType, long ispoln, long block, LPDISPATCH arr);
Входные параметры:
columnType - тип колонки, SPC_CLM_FORMAT...SPC_CLM_USER,
ispoln - номер колонки данного типа, начиная с 1,
block - номер блока. если block = 0, то количество исполнений меньше количества исполнений в бланке спецификации (для групповой спецификации 2.113-75 количество исполнений меньше 10),
arr - указатель на интерфейс ksDynamicArray массива строк, тип массива - TEXT_LINE_ARR.
Возвращаемое значение:
1 - в случае успеха,
0 - в случае неудачи.
```
Примечание:
Функция работает в режиме создания нового или редактирования существующего объекта спецификации ksSpcObjectCreate(...); или ksSpcObjectEdit(...);. ksSetSpcObjectColumnTextEx(...);...reference spsObj = ksSpcObjectEnd();
## ksSetSpcPerformanceName - Установить отображаемое имя исполнения
Аналог данного метода при использовании API экспортных функций - ksSetSpcPerformanceName.
Синтаксис Automation:
```
BOOL ksSetSpcPerformanceName( long index,
long ispoln,
long block,
BSTR name );
Входные параметры:
Index - индекс описания СП в документе,
Ispoln - номер колонки типа Количество, начиная с 1(актуально для СП типа Б),
blockNumber - номер блока, начиная с 0 (актуально для СП типа A),
Name - имя исполнения.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае, если геометрия не подключена или в случае ошибки.
```
## ksSetSpcPropertyFill - Установить флаг Синхронизировать со свойствами компонента
Синтаксис Automation:
```
BOOL ksGetSpcPropertyFill( long spcObj, long val );
Входные параметры:
spcObj - указатель на объект спецификации,
val - 1 включить синхронизацию, 0 - выключить синхронизацию.
Возвращаемое значение:
TRUE - в случае удачного завершения,
FALSE - в случае неудачи.
```
## ksSetTuningSpcStyleParam - Установить параметры настроек спецификации документа
Аналог данного метода при использовании API экспортных функций - ksSetTuningSpcStyleParam.
Синтаксис Automation:
```
long ksSetTuningSpcStyleParam(long index, LPDISPATCH par);
Входные параметры:
index - индекс описания спецификации в документе,
par - указатель на интерфейс ksSpcTuningStyleParam структуры параметров настроек спецификации.
Возвращаемое значение:
1 - в случае успешного завершения,
0 - в случае неудачи.
```
Примечание:
1. Если index = -1, то для текущего описания спецификации.
2. Для документа спецификации настройки можно изменить всегда.
3. Для графического документа в случае, если документ подключен к спецификации или включен режим "Спецификация на листе".
4. Для документа трехмерного объекта в случае, если документ подключен к спецификации.
## ksSpcChangeValue - Изменить значение компоненты с указанным номером в указанной колонке
Аналог данного метода при использовании API экспортных функций - ksSpcChangeValue.
Синтаксис Automation:
```
long ksSpcChangeValue (long colNumb,
long itemNumb,
LPDISPATCH userPars,
short typeVal);
Входные параметры:
colNumb - номер колонки, начиная с единицы,
itemNumb - номер компоненты, начиная с единицы,
userPars - указатель на интерфейс ksUserParam,
typeVal - тип данных.
Типы данных..
Возвращаемое значение:
1 - в случае удачного завершения.
```
Примечания:
1. Метод работает в режиме создания нового или редактирования существующего объекта спецификации.
2. Если typeVal - запись (RECORD_ATTR_TYPE), в колонке может быть несколько компонент и itemNumb может быть не равен 1.
## ksSpcCount - Установить количество деталей для определенного исполнения
Аналог данного метода при использовании API экспортных функций - ksSpcCount.
Синтаксис Automation:
```
long ksSpcCount (short ispoln,
BSTR sCount);
Входные параметры:
ispoln - номер исполнения, начиная с 1,
sCount - количество деталей.
Возвращаемое значение:
1 - в случае удачного завершения (если в объекте существует колонка с типом Количество).
```
## ksSpcDocLinksClear - Создать объект спецификации в графическом документе
Аналог данного метода при использовании API экспортных функций - ksSpcObjectCreate.
Синтаксис Automation:
```
BOOL ksSpcDocLinksClear( long doc )
Входные параметры:
doc - указатель на документ-источник объекта спецификации (графический, 3D, спецификация).
Возвращаемое значение:
1 - в случае успешного завершения,
0 - в случае неудачи.
```
Примечания:
Функция удаляет связки документа-источника объекта спецификации (графический, 3D, спецификация) с документом-владельцем объекта спецификации;
Если doc = 0, то документом-источником объекта спецификации считается текущий документ.
## ksSpcIncludeReference - Добавить или изменить геометрию графического объекта или линию-выноску в объекте спецификации
Аналог данного метода при использовании API экспортных функций - ksSpcIncludeReference.
Синтаксис Automation:
```
long ksSpcIncludeReference (long obj,
short clear);
Входные параметры:
obj - группа объектов или объект вида,
clear - признак обработки существующей геометрии объекта спецификации: 1 - удалить геометрию, 0 - добавить новые объекты к существующей геометрии.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
```
## ksSpcMassa - Заполнить дополнительную колонку масса для объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksSpcMassa.
Синтаксис Automation:
```
long ksSpcMassa (BSTR sMassa);
Входной параметр:
sMassa - строка с массой детали.
Возвращаемое значение:
1 - в случае удачного завершения (если в объекте существует колонка с типом Масса),
0 - в случае неудачи.
```
## ksSpcObjectCreate - Создать объект спецификации в графическом документе
Аналог данного метода при использовании API экспортных функций - ksSpcObjectCreate.
Синтаксис Automation:
```
long ksSpcObjectCreate (BSTR nameLib,
long styleNumb,
long secNumb,
long subSecNumb,
double numb,
short typeObj);
Входные параметры:
nameLib - имя библиотеки стилей спецификации,
styleNumb - номер стиля спецификации в библиотеке,
secNumb - номер раздела,
subSecNumb - номер подраздела,
numb - для базового объекта - тип атрибута, который задан по ключам, или 0, для вспомогательного объекта - номер базового объекта, к которому прикрепляется вспомогательный, либо 0,
typeObj - тип строки спецификации (0- базовый объект, 1 – вспомогательный объект).
Возвращаемое значение:
1 - в случае удачного завершения.
```
Примечания:
1. Объект спецификации - составной объект. Его создание завершается методом ksSpecification::ksSpcObjectEnd.
2. Для атрибутов, описанных по ключам, нужно указать тип в numb, потому что типов с одинаковыми ключами может быть несколько.
3. Параметры nameLib и styleNumb используются только для объектов спецификации в графическом документе.
## ksSpcObjectEdit - Запустить режим редактирования объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksSpcObjectEdit.
Синтаксис Automation:
```
long ksSpcObjectEdit (long spcObj);
Входной параметр:
spcObj - указатель на объект спецификации.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
```
Примечания:
1. После вызова данного метода у объекта можно изменить атрибуты, геометрию, линии выноски, позицию, массу.
2. Редактирование объекта завершится вызовом метода ksSpecification::ksSpcObjectEnd.
## ksSpcObjectEnd - Завершить создание или редактирование объекта спецификации
Аналог данного метода при использовании API экспортных функций - ksSpcObjectEnd.
Синтаксис Automation:
```
long ksSpcObjectEnd();
Возвращаемое значение:
- указатель на объект спецификации.
```
Примечание:
Предварительно объект спецификации должен быть открыт на редактирование, или должен быть запущен режим его создания методами ksSpecification::ksSpcObjectEdit или ksSpecification::ksSpcObjectCreate.
## ksSpcPosition - Установить номер позиции
Аналог данного метода при использовании API экспортных функций - ksSpcPosition.
Синтаксис Automation:
```
long ksSpcPosition (long pos);
Входной параметр:
pos - номер позиции.
Возвращаемое значение:
1 - в случае удачного завершения (если в объекте существует колонка с типом Позиция),
0 - в случае неудачи.
```
## ksSpcVisible - Установить признак видимости компонента
Аналог данного метода при использовании API экспортных функций - ksSpcVisible.
Синтаксис Automation:
```
long ksSpcVisible (long colNumb,
long itemNumb,
short flagOn);
Входные параметры:
colNumb - номер колонки, начиная с единицы,
itemNumb - номер компоненты, начиная с единицы,
flagOn - признак видимости компонента: 1 -включить, 0- выключить.
Возвращаемое значение:
1 - в случае удачного завершения,
0 - в случае неудачи.
```
Примечания:
1. Метод работает в режиме создания нового или редактирования существующего объекта спецификации.
2. В случае записи в колонке может быть несколько компонент и itemNumb может быть не равен 1.