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>
11 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| Параметры NURBS-поверхности (Интерфейсы ksNurbsSurfaceParam, INurbsSurfaceParam) | interface |
|
|
|
*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.