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

6.6 KiB

title, type, api, tags, sources
title type api tags sources
Кривая NURBS (Интерфейс ksNurbsParam) interface
api7
interface
api7
ksnurbsparam
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 )    Установить свойство (**)
Системные стили линий...