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

255 lines
11 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-поверхности (Интерфейсы ksNurbsSurfaceParam, INurbsSurfaceParam)"
type: interface
api: [api7]
tags: [interface, api7, ksnurbssurfaceparam]
sources:
- ksnurbssurfaceparam.html
---
*API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Математическая поверхность в трехмерном пространстве  > Интерфейсы ksSurface, ISurface *
## Параметры NURBS-поверхности (Интерфейсы ksNurbsSurfaceParam, INurbsSurfaceParam)
Интерфейс параметров NURBS-поверхности.
| ksNurbsSurfaceParam | - интерфейс Automation |
| --- | --- |
| INurbsSurfaceParam | - интерфейс COM |
Примечание:
Данный интерфейс может быть получен с использованием метода интерфейса ksSurface::GetSurfaceParam.
## BoundaryCount - Количество контуров, образующих границу поверхности
Тип данных: long
Синтаксис Automation:
```
BoundaryCount = Object.BoundaryCount Получить свойство (* )
BoundaryCount = Object.GetBoundaryCount() Получить свойство (**)
```
Примечание:
Свойство доступно только для чтения.
## GetBoundaryUVNurbs - Получить параметры NURBS-представления границы поверхности
Синтаксис Automation:
```
BOOL GetBoundaryUVNurbs (BOOL uv,
BOOL closed,
long loopIndex,
long * degree,
long edgeIndex,
VARIANT * points,
VARIANT * weights,
VARIANT * knots,
double * tMin,
double * tMax)
```
Синтаксис COM:
```
BOOL GetBoundaryUVNurbs (BOOL uv,
BOOL closed,
long loopIndex,
long edgeIndex,
long * degree,
VARIANT * points,
VARIANT * weights,
VARIANT * knots,
double * tMin,
double * tMax)
Входные параметры:
Uv - TRUE - получить параметры границы поверхности в UV- параметрическом представлении исходной поверхности, - FALSE - получить параметры границы поверхности в 3D координатах,
Closed - TRUE - сомкнуть, если граница разомкнутая, - FALSE - разомкнуть, если граница замкнутая,
loopIndex - индекс цикла,
edgeIndex - индекс ребра в цикле (совпадает с индексом ребра в коллекции ориентированных ребер).
Выходные параметры:
degree - порядок NURBS (степень полинома + 1), от 3 до 10,
points - массив параметров UV или координат вершин - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
weights - веса точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
knots - узлы точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
tMin, tMax - минимальный и максимальный параметры.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
Примечание:
•Если признак UV равен TRUE, то в массиве points возвращаются параметры UV для Nurbs-представления границы. Параметры в массиве лежат в следующей последовательности:
u0, v0, u1, v1, ... ui, vi.
•Если признак UV равен FALSE, то в массиве points возвращаются координаты вершин Nurbs-представления границы. Координаты точек в полученном массиве лежат в следующей последовательности:
x0, y0, z0, x1, y1, z1, ...xi, yi, zi.
•Если индекс ребра равен -1, формируется Nurbs-представление контура границы.
•Если индекс >= 0, то формируется Nurbs-представление ребра, входящего в цикл; параметр unclamped при этом игнорируется.
## GetClose - Получить тип замыкания сплайна
Синтаксис Automation:
```
BOOL GetClose (BOOL paramU);
```
Синтаксис COM:
```
BOOL GetClose (BOOL paramU);
Входные параметры:
paramU TRUE - для параметра U,
paramU FALSE - для параметра V.
Возвращаемое значение:
TRUE - сплайн замкнутый,
FALSE - сплайн разомкнутый.
```
Примечание:
Значение paramU позволяет выбрать параметр представления поверхности U или V, для которого выполняется метод.
## GetDegree - Получить степень сплайна
Синтаксис Automation:
```
short GetDegree (BOOL paramU);
```
Синтаксис COM:
```
short GetDegree (BOOL paramU);
Входные параметры:
paramU TRUE - для параметра U,
paramU FALSE - для параметра V.
Возвращаемое значение:
- порядок NURBS (степень полинома + 1), от 3 до 10.
```
Примечание:
Значение paramU позволяет выбрать параметр представления поверхности U или V, для которого выполняется метод.
## GetEdgesCount - Количество ребер в цикле
Синтаксис Automation:
```
long GetEdgesCount (long loopIndex)
```
Синтаксис COM:
```
long GetEdgesCount (long loopIndex)
Входные параметры:
loopIndex - номер цикла.
Возвращаемое значение:
- количество ребер в цикле.
```
Примечание:
Свойство доступно только для чтения.
## GetMinMaxParameters - Получить параметры поверхности
Синтаксис Automation:
```
BOOL GetMinMaxParameters (BOOL closedV, BOOL closedU, double * uMin, double * uMax, double * vMin, double * vMax)
```
Синтаксис COM:
```
BOOL GetMinMaxParameters (BOOL closedV, BOOL closedU, double * uMin, double * uMax, double * vMin, double * vMax)
Входные параметры:
closedV - TRUE - получение параметров для замкнутого по V представления, - FALSE - получение параметров для разомкнутого по V представления,
closedU - TRUE - получение параметров для замкнутого по U представления, - FALSE - получение параметров для разомкнутого по V представления.
Выходные параметры:
uMin - значение минимального параметра по U,
uMax - значение максимального параметра по U,
vMin - значение минимального параметра по V,
vMax - значение максимального параметра по V.
Возвращаемое значение:
TRUE - в случае успешного завершения,
FALSE - в случае неудачи.
```
## GetNurbsParams - Получить параметры NURBS-поверхности
Синтаксис Automation:
```
BOOL GetNurbsParams( BOOL unClampedV,
BOOL unClampedU,
long * degreeV,
long * degreeU,
long * nPV, long * nPU,
VARIANT * points,
VARIANT * weights,
VARIANT * knotsV,
VARIANT * knotsU );
```
Синтаксис COM:
```
BOOL GetNurbsParams( BOOL unClampedV,
BOOL unClampedU,
long * degreeV,
long * degreeU
long * nPV,
long * nPU,
VARIANT * points,
VARIANT * weights,
VARIANT * knotsV,
VARIANT * knotsU );
Входные параметры:
unClampedV - TRUE - вернуть параметры для замкнутого по V представления, - FALSE - вернуть параметры для разомкнутого по V представления,
unClampedU - TRUE вернуть параметры для замкнутого по U представления, - FALSE вернуть параметры для разомкнутого по U представления.
Выходные параметры:
degreeV, degreeU - порядок NURBS (степень полинома + 1) по V и U, от 3 до 10,
nPV, nPU - количество точек по V и U,
points - массив координат вершин - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
weights - веса в вершинах - массив SafeArray вещественных чисел VT_ARRAY VT_R8,
knotsV, knotsU - узлы точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8.
```
## GetPeriodic - Получить периодичность сплайна
Синтаксис Automation:
```
BOOL GetPeriodic (BOOL paramU);
```
Синтаксис COM:
```
BOOL GetPeriodic (BOOL paramU);
Входные параметры:
paramU TRUE - для параметра U,
paramU FALSE - для параметра V.
Возвращаемое значение:
TRUE - сплайн периодический,
FALSE - сплайн непериодический.
```
Примечание:
Значение paramU позволяет выбрать параметр представления поверхности U или V, для которого выполняется метод.
## NurbsKnotCollection - Получить указатель на интерфейс массива узлов для NURBS-поверхности
Синтаксис Automation:
```
LPDISPATCH GetKnotCollection (BOOL paramU);
```
Синтаксис COM:
```
LPNURBSKNOTCOLLECTION GetKnotCollection (BOOL paramU);
Входные параметры:
paramU TRUE - для параметра U,
paramU FALSE - для параметра V.
Возвращаемое значение:
- указатель на интерфейс ksNurbsKnotCollection или INurbsKnotCollection.
```
Примечание:
Значение paramU позволяет выбрать параметр представления поверхности U или V, для которого выполняется метод.
## NurbsPoint3DCollCollection - Получить указатель на интерфейс массива массивов точек для NURBS-поверхности
Синтаксис Automation:
```
LPDISPATCH GetPointCollection();
```
Синтаксис COM:
```
LPNURBSPOINT3DCOLLCOLLECTION GetPointCollection();
Возвращаемое значение:
- указатель на интерфейс ksNurbsPoint3DCollCollection или INurbsPoint3DCollCollection.
```