--- title: "Кривая NURBS (Интерфейс ksNurbsParam)" type: interface api: [api7] tags: [interface, api7, ksnurbsparam] sources: - ksnurbsparam.html --- *API интерфейсов. Версия 5 > Графический документ (Интерфейсы - ksDocument2D и IDocument2D)  > Интерфейсы параметров графических примитивов  > NURBS * ## Кривая NURBS (Интерфейс ksNurbsParam) Интерфейс параметров кривой NURBS. Аналог данных параметров при использовании API экспортных функций - NurbsParam. Примечание: Указатель на интерфейс можно получить при помощи метода KompasObject::GetParamStruct. Смотрите также: KompasObject ## close - Признак замыкания сплайна Тип данных:BOOL. Значения свойства: | FALSE | - незамкнутый, | | --- | --- | | TRUE | - замкнутый. | Синтаксис Automation: ``` close = iNurbsParam.close Получить свойство (* ) iNurbsParam.close = close Установить свойство (* ) close = iNurbsParam.GetClose() Получить свойство (**) iNurbsParam.SetClose( close ) Установить свойство (**) ``` ## degree - Порядок NURBS (степень полинома + 1), от 3 до 10 Тип данных:short. Синтаксис Automation: ``` degree = iNurbsParam.degree Получить свойство (* ) iNurbsParam.degree = degree Установить свойство (* ) degree = iNurbsParam.GetDegree() Получить свойство (**) iNurbsParam.SetDegree( degree ) Установить свойство (**) ``` ## GetPKnot - Получить динамический массив узлов сплайна ksDynamicArray типа DOUBLE_ARR Синтаксис Automation: ``` LPDISPATCH GetPKnot(); Возвращаемое значение: - указатель на интерфейс динамического массива ksDynamicArray узлов сплайна типа DOUBLE_ARR. ``` Примечания: Если для описания NURBS выбран вариант ALLPARAM или SHEET_ALLPARAM, то способ заполнения массива точек определяется значением параметра Close: •Если Close=0 (NURBS замкнут) - параметры с разжатым узловым вектором, •Если Close=1 (NURBS разомкнут) - параметры с зажатым узловым вектором. Если для описания NURBS выбран вариант NURBS_CLAMPED_PARAM или NURBS_CLAMPED_SHEETPARAM, то, вне зависимости от значения параметра Close, возвращаются параметры с зажатым узловым вектором. ## GetPPoint - Получить динамический массив точек сплайна типа NURBS_POINT_ARR Синтаксис Automation: ``` LPDISPATCH GetPPoint(); Возвращаемое значение: - указатель на интерфейс динамического массива ksDynamicArray точек сплайна типа NURBS_POINT_ARR. ``` Примечания: Если для описания NURBS выбран вариант ALLPARAM или SHEET_ALLPARAM, то способ заполнения массива точек определяется значением параметра Close: •Если Close=0 (NURBS замкнут) - параметры с разжатым узловым вектором, •Если Close=1 (NURBS разомкнут) - параметры с зажатым узловым вектором. Если для описания NURBS выбран вариант NURBS_CLAMPED_PARAM или NURBS_CLAMPED_SHEETPARAM, то, вне зависимости от значения параметра Close, возвращаются параметры с зажатым узловым вектором. Смотрите также: ksNurbsPointParam ## Init - Инициализировать параметры Синтаксис Automation: ``` BOOL Init(); Возвращаемое значение: TRUE - в случае удачного завершения. ``` Примечания: 1. Метод обнуляет все параметры NURBS. 2. Динамические массивы не создаются. ## periodic - Признак периодичности сплайна Тип данных:BOOL. Значения свойства: | FALSE | - непериодический сплайн, | | --- | --- | | TRUE | - периодический сплайн. | Синтаксис Automation: ``` periodic = iNurbsParam.periodic Получить свойство (* ) periodic = iNurbsParam.GetPeriodic() Получить свойство (**) ``` Примечания: 1. Свойство используется только для функции ksGetObjParam. 2. Свойство используется только для чтения. ## SetPKnot - Установить динамический массив узлов сплайна ksDynamicArray типа DOUBLE_ARR Синтаксис Automation: ``` BOOL SetPKnot (LPDISPATCH pKnot); Входной параметр: pKnot - указатель на интерфейс динамического массива ksDynamicArray типа DOUBLE_ARR. Возвращаемое значение: TRUE - в случае удачного завершения. ``` ## SetPPoint - Установить динамический массив точек сплайна ksDynamicArray типа NURBS_POINT_ARR Синтаксис Automation: ``` BOOL SetPPoint (LPDISPATCH pPoint); Входной параметр: pPoint - указатель на интерфейс динамического массива ksDynamicArray точек сплайна типа NURBS_POINT_ARR. Возвращаемое значение: TRUE - в случае удачного завершения. Смотрите также: ksNurbsPointParam ``` ## style - Стиль линии Тип данных:long. Синтаксис Automation: ``` style = iNurbsParam.style Получить свойство (* ) iNurbsParam.style = style Установить свойство (* ) style = iNurbsParam.GetStyle() Получить свойство (**) iNurbsParam.SetStyle( style ) Установить свойство (**) Системные стили линий... ```