e1337e4016
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>
147 lines
6.6 KiB
Markdown
147 lines
6.6 KiB
Markdown
---
|
||
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 ) Установить свойство (**)
|
||
Системные стили линий...
|
||
```
|