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

307 lines
10 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.
---
title: "Сплайн (Интерфейсы ksSplineDefinition и ISplineDefinition)"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, kssplinedefinition]
sources:
- kssplinedefinition.html
---
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы пространственных кривых *
## Сплайн (Интерфейсы ksSplineDefinition и ISplineDefinition)
Интерфейс параметров сплайна.
| ksSplineDefinition | - интерфейс Automation |
| --- | --- |
| ISplineDefinition | - интерфейс COM |
Примечание:
Интерфейс может быть получен от интерфейса ksEntity или IEntity с помощью метода ksEntity::GetDefinition или IEntity::GetDefinition и последующим приведением объекта типа IDispatch или IUnknown к интерфейсу типа ksSplineDefinition или ISplineDefinition соответственно.
## AddVertex - Добавить вершину
Синтаксис Automation:
```
BOOL AddVertex (double x,
double y,
double z,
double weight);
```
Синтаксис COM:
```
BOOL AddVertex (double x,
double y,
double z,
double weight);
Входные параметры:
x - x координата вершины,
y - y координата вершины,
z - z координата вершины,
weight - вес вершины.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## AddVertexAndAssociation - Добавить вершину по опорному объекту
Синтаксис Automation:
```
BOOL AddVertexAndAssociation (long index, LPDISPATCH obj, double weight);
```
Синтаксис COM:
```
BOOL AddVertexAndAssociation (long index, LPENTITY obj, double weight);
Входные параметры:
index - индекс, с которым добавляется вершина,
obj - указатель на интерфейс точки ksEntity или IEntity,
weight - вес вершины.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
1. Метод позволяет добавить в пространственную кривую новую вершину. Координаты новой вершины будут равны координатам опорного объекта obj. Вес вершины равен weight.
2. Объект (точка) obj становится опорным.
3. Если index = -1 или значение index превышает количество вершин, то новая вершина добавляется после последней.
## AttachAssociation - Задать опорную точку по индексу
Синтаксис Automation:
```
BOOL AttachAssociation (long index, LPDISPATCH obj);
```
Синтаксис COM:
```
BOOL AttachAssociation (long index, LPENTITY obj);
Входные параметры:
index - индекс вершины в массиве,
obj - указатель на интерфейс точки ksEntity или IEntity,
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
Метод позволяет задать опорный объект для существующей вершины с номером index пространственной кривой. Если объект уже был задан, он будет заменен новым.
## cls - Признак замкнутости сплайна
Тип данных: BOOL
Значения свойства:
| TRUE | - замкнутый сплайн, |
| --- | --- |
| FALSE | - разомкнутый сплайн. |
Синтаксис Automation:
```
cls = iSpline.cls Получить свойство (* )
iSpline.cls = cls Установить свойство (* )
cls = iSpline.GetClosed() Получить свойство (**)
iSpline.SetClosed(cls) Установить свойство (**)
```
## degree - Порядок сплайна
Тип данных: long
Синтаксис Automation:
```
degree = iSpline.degree Получить свойство (* )
iSpline.degree = degree Установить свойство (* )
degree = iSpline.GetDegree() Получить свойство (**)
iSpline.SetDegree(degree) Установить свойство (**)
```
## DeleteVertex - Удалить вершину с указанным индексом
Синтаксис Automation:
```
BOOL DeleteVertex (long index);
```
Синтаксис COM:
```
BOOL DeleteVertex (long index);
Входной параметр:
index - индекс вершины в массиве.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## Flush - Очистить массив вершин
Синтаксис Automation:
```
BOOL Flush();
```
Синтаксис COM:
```
BOOL Flush();
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## GetAssociation - Получить указатель на опорную точку по индексу
Синтаксис Automation:
```
LPDISPATCH GetAssociation(long index);
```
Синтаксис COM:
```
LPENTITY GetAssociation(long index);
Входные параметры:
index - индекс вершины в массиве.
Возвращаемое значение:
- указатель на интерфейс точки ksEntity или IEntity, - в случае успешного завершения,
- FALSE - в случае неудачи.
```
Примечание:
Метод позволяет получить опорный объект для существующей вершины с номером index пространственной кривой, если он был задан.
## GetCountVertex - Получить количество вершин
Синтаксис Automation:
```
long GetCountVertex();
```
Синтаксис COM:
```
long GetCountVertex();
Возвращаемое значение:
- количество вершин.
```
## GetParamVertex - Получить параметры вершины с указанным индексом
Синтаксис Automation:
```
BOOL GetParamVertex (long index,
double* x,
double* y,
double* z,
double* weight);
```
Синтаксис COM:
```
BOOL GetParamVertex (long index,
double* x,
double* y,
double* z,
double* weight);
Входной параметр:
index - индекс вершины в массиве.
Выходные параметры:
x - x координата вершины,
y - y координата вершины,
z - z координата вершины,
weight - вес вершины.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## InsertVertex - Вставить вершину перед указанной
Синтаксис Automation:
```
BOOL InsertVertex (long index,
double x,
double y,
double z,
double weight);
```
Синтаксис COM:
```
BOOL InsertVertex (long index,
double x,
double y,
double z,
double weight);
Входные параметры:
index - индекс вершины в массиве,
x - x координата вершины,
y - y координата вершины,
z - z координата вершины,
weight - вес вершины.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## ReadFromFile - Прочитать параметры вершин из текстового файла
Синтаксис Automation:
```
BOOL ReadFromFile (BSTR fileName);
```
Синтаксис COM:
```
BOOL ReadFromFile (LPOLESTR fileName);
Входной параметр:
fileName - имя файла.
Возвращаемое значение:
TRUE - в случае успешного завершения.
Примечание. См. также WriteToFile.
```
## SetAssociation - Задать опорную точку по индексу
Синтаксис Automation:
```
BOOL SetAssociation(long index,
LPDISPATCH obj);
```
Синтаксис COM:
```
BOOL SetAssociation(long index,
LPENTITY obj);
Входные параметры:
index - индекс вершины,
obj - указатель на интерфейс IEntity или ksEntity.
Возвращаемое значение:
TRUE - в случае успешного завершения.
```
## splineOnPoles - Признак способа построения сплайна
Тип данных: BOOL
Значения свойства:
| TRUE | - по полюсам, |
| --- | --- |
| FALSE | - по вершинам. |
Синтаксис Automation:
```
splineOnPoles = iSpline.splineOnPoles Получить свойство (* )
iSpline.splineOnPoles = splineOnPoles Установить свойство (* )
splineOnPoles = iSpline.GetSplineOnPoles() Получить свойство (**)
splineOnPoles = iSpline.GetSplineOnPoles() Установить свойство (**)
```
## WriteToFile - Записать параметры вершин в текстовый файл
Синтаксис Automation:
```
BOOL WriteToFile (LPCTSTR fileName);
```
Синтаксис COM:
```
BOOL WriteToFile (LPOLESTR fileName);
Входные параметр:
fileName - имя файла.
Возвращаемое значение:
TRUE - в случае успешного завершения.
Примечание. См. также ReadFromFile.
```