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

147 lines
6.6 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: "Кривая NURBS (Интерфейс ksNurbsParam)"
type: interface
api: [api7]
tags: [interface, api7, ksnurbsparam]
sources:
- ksnurbsparam.html
---
*API интерфейсов. Версия 5 > Графический документ (Интерфейсы - ksDocument2D и IDocument2D)  > Интерфейсы параметров графических примитивов  > NURBS *
## Кривая NURBS (Интерфейс ksNurbsParam)
Интерфейс параметров кривой NURBS.
Аналог данных параметров при использовании API экспортных функций - NurbsParam.
Примечание:
Указатель на интерфейс можно получить при помощи метода KompasObject::GetParamStruct.
Смотрите также: KompasObject
## close - Признак замыкания сплайна
Тип данных:BOOL.
Значения свойства:
| FALSE | - незамкнутый, |
| --- | --- |
| TRUE | - замкнутый. |
Синтаксис Automation:
```
close = iNurbsParam.close Получить свойство (* )
iNurbsParam.close = close Установить свойство (* )
close = iNurbsParam.GetClose() Получить свойство (**)
iNurbsParam.SetClose( close ) Установить свойство (**)
```
## degree - Порядок NURBS (степень полинома + 1), от 3 до 10
Тип данных:short.
Синтаксис Automation:
```
degree = iNurbsParam.degree Получить свойство (* )
iNurbsParam.degree = degree Установить свойство (* )
degree = iNurbsParam.GetDegree() Получить свойство (**)
iNurbsParam.SetDegree( degree ) Установить свойство (**)
```
## GetPKnot - Получить динамический массив узлов сплайна ksDynamicArray типа DOUBLE_ARR
Синтаксис Automation:
```
LPDISPATCH GetPKnot();
Возвращаемое значение:
- указатель на интерфейс динамического массива ksDynamicArray узлов сплайна типа DOUBLE_ARR.
```
Примечания:
Если для описания NURBS выбран вариант ALLPARAM или SHEET_ALLPARAM, то способ заполнения массива точек определяется значением параметра Close:
•Если Close=0 (NURBS замкнут) - параметры с разжатым узловым вектором,
•Если Close=1 (NURBS разомкнут) - параметры с зажатым узловым вектором.
Если для описания NURBS выбран вариант NURBS_CLAMPED_PARAM или NURBS_CLAMPED_SHEETPARAM, то, вне зависимости от значения параметра Close, возвращаются параметры с зажатым узловым вектором.
## GetPPoint - Получить динамический массив точек сплайна типа NURBS_POINT_ARR
Синтаксис Automation:
```
LPDISPATCH GetPPoint();
Возвращаемое значение:
- указатель на интерфейс динамического массива ksDynamicArray точек сплайна типа NURBS_POINT_ARR.
```
Примечания:
Если для описания NURBS выбран вариант ALLPARAM или SHEET_ALLPARAM, то способ заполнения массива точек определяется значением параметра Close:
•Если Close=0 (NURBS замкнут) - параметры с разжатым узловым вектором,
•Если Close=1 (NURBS разомкнут) - параметры с зажатым узловым вектором.
Если для описания NURBS выбран вариант NURBS_CLAMPED_PARAM или NURBS_CLAMPED_SHEETPARAM, то, вне зависимости от значения параметра Close, возвращаются параметры с зажатым узловым вектором.
Смотрите также: ksNurbsPointParam
## Init - Инициализировать параметры
Синтаксис Automation:
```
BOOL Init();
Возвращаемое значение:
TRUE - в случае удачного завершения.
```
Примечания:
1. Метод обнуляет все параметры NURBS.
2. Динамические массивы не создаются.
## periodic - Признак периодичности сплайна
Тип данных:BOOL.
Значения свойства:
| FALSE | - непериодический сплайн, |
| --- | --- |
| TRUE | - периодический сплайн. |
Синтаксис Automation:
```
periodic = iNurbsParam.periodic Получить свойство (* )
periodic = iNurbsParam.GetPeriodic() Получить свойство (**)
```
Примечания:
1. Свойство используется только для функции ksGetObjParam.
2. Свойство используется только для чтения.
## SetPKnot - Установить динамический массив узлов сплайна ksDynamicArray типа DOUBLE_ARR
Синтаксис Automation:
```
BOOL SetPKnot (LPDISPATCH pKnot);
Входной параметр:
pKnot - указатель на интерфейс динамического массива ksDynamicArray типа DOUBLE_ARR.
Возвращаемое значение:
TRUE - в случае удачного завершения.
```
## SetPPoint - Установить динамический массив точек сплайна ksDynamicArray типа NURBS_POINT_ARR
Синтаксис Automation:
```
BOOL SetPPoint (LPDISPATCH pPoint);
Входной параметр:
pPoint - указатель на интерфейс динамического массива ksDynamicArray точек сплайна типа NURBS_POINT_ARR.
Возвращаемое значение:
TRUE - в случае удачного завершения.
Смотрите также: ksNurbsPointParam
```
## style - Стиль линии
Тип данных:long.
Синтаксис Automation:
```
style = iNurbsParam.style Получить свойство (* )
iNurbsParam.style = style Установить свойство (* )
style = iNurbsParam.GetStyle() Получить свойство (**)
iNurbsParam.SetStyle( style ) Установить свойство (**)
Системные стили линий...
```