Please enable JavaScript to view this site.

API интерфейсов. Версия 7 > Документ 3D  > Поверхности  > Интерфейс IMathSurface3D  > IMathSurface3D - методы 

GetNurbsParams - Получить параметры NURBS-представления поверхности

Scroll

Интерфейс...

Синтаксис Automation:

BOOL GetNurbsParams( BOOL ClosedV, BOOL ClosedU, long * DegreeV, long * DegreeU, long * NPV, long * NPU, VARIANT * Points, VARIANT * Weights, VARIANT * KnotsV, VARIANT * KnotsU );

Синтаксис COM:

HRESULT GetNurbsParams( BOOL ClosedV, BOOL ClosedU, long * DegreeV, long * DegreeU, long * NPV, long * NPU, VARIANT * Points, VARIANT * Weights, VARIANT * KnotsV, VARIANT * KnotsU, BOOL * Result ) ;

Возвращаемое значение:

TRUE

- в случае успешного завершения,

FALSE

- в случае неудачи.

Входные параметры:

ClosedV

- TRUE - получение параметров для замкнутого по V представления,

 FALSE - получение параметров для разомкнутого по V представления,

ClosedU

TRUE - получение параметров для замкнутого по V представления,

 FALSE - получение параметров для разомкнутого по V представления.

Выходные параметры:

DegreeV

- порядок NURBS по V (степень полинома + 1), от 3 до 10,

DegreeU

- порядок NURBS по U (степень полинома + 1), от 3 до 10

NPV

- количество точек по V,

NPU

- количество точек по U,

Points

- массив SafeArray точек VT_ARRAY | VT_R8,

Weights

- веса,

KnotsV

- массив SafeArray узлов точек по V VT_ARRAY | VT_R8,

KnotsU

-  массив SafeArray узлов точек по U VT_ARRAY | VT_R8.

 

note

В англоязычной специализированной литературе, документациях и различных API для систем автоматизированного проектирования (САПР) можно встретить использование термина degree для обозначения степени сплайна, а термина order — для обозначения порядка сплайна. Соответственно, order = degree + 1. Обратите внимание на то, что в интерфейсах КОМПАС-3D API термин degree используется для обозначения порядка сплайна (степень + 1).

Версия КОМПАС v22

Подразделы:

(отсутствуют)

© ООО «АСКОН-Системы проектирования», 2024. Все права защищены. | Единая телефонная линия: 8-800-700-00-78