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>
255 lines
11 KiB
Markdown
255 lines
11 KiB
Markdown
---
|
||
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.
|
||
```
|