--- title: "Параметры трехмерных NURBS (Интерфейсы ksNurbs3dParam,INurbs3dParam)" type: interface api: [api7] domain: [3d, assembly] tags: [interface, api7, 3d, assembly, ksnurbs3dparam] sources: - ksnurbs3dparam.html --- *API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Математическая кривая в трехмерном пространстве (Интерфейсы ksCurve3D, ICurve3D) * ## Параметры трехмерных NURBS (Интерфейсы ksNurbs3dParam,INurbs3dParam) Интерфейс параметров трехмерных NURBS. | ksNurbs3dParam | - интерфейс Automation | | --- | --- | | INurbs3dParam | - интерфейс COM | Примечание: Данный интерфейс может быть получен с использованием метода интерфейса ksCurve3D::GetCurveParam. Массив точек для трехмерных NURBS (Интерфейсы ksNurbsPoint3dCollection, INurbsPoint3dCollection) Массив узлов для трехмерных NURBS поверхностей (Интерфейсы ksNurbsKnotCollection, INurbsKnotCollection) ## close - Замкнутость сплайна Тип данных: BOOL Синтаксис Automation: ``` close = iNurbs3dParam.close Получить свойство (* ) close = iNurbs3dParam.GetClose() Получить свойство (**) Значения свойства: TRUE - сплайн замкнутый, FALSE - сплайн разомкнутый. ``` Примечания: Свойство доступно только для чтения. ## degree - Порядок NURBS (степень полинома + 1), от 3 до 10 Тип данных: short Синтаксис Automation: ``` degree = iNurbs3dParam.degree Получить свойство (* ) degree = iNurbs3dParam.GetDegree() Получить свойство (**) ``` Примечания: Свойство доступно только для чтения. ## GetMinMaxParameters - Получить параметры кривой Синтаксис Automation: ``` BOOL GetMinMaxParameters (BOOL closed, double * tMin, double * tMax); ``` Синтаксис COM: ``` BOOL GetMinMaxParameters (BOOL closed, double * tMin, double * tMax); Входные параметры: Closed - TRUE - получение параметров для замкнутого представления, - FALSE - получение параметров для разомкнутого представления. Выходные параметры: tMin - значение минимального параметра, tMax - значение максимального параметра. Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` ## GetNurbsPoints3DParams - Получить параметры точек для Nurbs 3D Синтаксис Automation: ``` BOOL GetNurbsPoints3DParams( BOOL unClamped, VARIANT * points, VARIANT * weights, VARIANT * knots ); ``` Синтаксис COM: ``` BOOL GetNurbsPoints3DParams( BOOL unClamped, VARIANT * points, VARIANT * weights, VARIANT * knots ); Входные параметры: unClamped - true - вернуть параметры точек для замкнутого представления, - false - вернуть параметры точек для разомкнутого представления. Выходные параметры: points - координаты точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8, weights - веса точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8, knots - узлы точек - массив SafeArray вещественных чисел VT_ARRAY VT_R8. ``` Примечания: Координаты точек в полученном массиве лежат в следующей последовательности: x0, y0, z0, x1, y1, z1, ...xi, yi, zi. ## NurbsKnotCollection - Получить указатель на интерфейс массива узлов для трехмерного NURBS Синтаксис Automation: ``` LPDISPATCH GetKnotCollection(); ``` Синтаксис COM: ``` LPNURBSKNOTCOLLECTION GetKnotCollection(); Возвращаемое значение: - указатель на интерфейс ksNurbsKnotCollection или INurbsKnotCollection массива узлов для трехмерных NURBS поверхностей. ``` ## NurbsPoint3DCollection - Получить указатель на интерфейс массива точек для трехмерного NURBS LPDISPATCH GetPointCollection(); Синтаксис COM: ``` LPNURBSPOINT3DCOLLECTION GetPointCollection(); Возвращаемое значение: - указатель на интерфейс ksNurbsPoint3DCollection или INurbsPoint3DCollection массива точек для трехмерных NURBS. ``` ## periodic - Периодичность сплайна Тип данных: BOOL Синтаксис Automation: ``` periodic = iNurbs3dParam.periodic Получить свойство (* ) periodic = iNurbs3dParam.GetPeriodic() Получить свойство (**) Значения свойства: TRUE - сплайн периодический, FALSE - сплайн непериодический. ``` Примечания: Свойство доступно только для чтения.