--- title: "Интерфейс ISplineOnSurface" type: interface api: [api7] tags: [interface, api7, isplineonsurface] sources: - isplineonsurface.html --- *API интерфейсов. Версия 7 > Документ 3D  > Вспомогательные объекты, 3D-кривые и элементы тела  > 3D-кривые и элементы тела  > Интерфейс IModelObjects  > IModelObjects - свойства * ## Интерфейс ISplineOnSurface Сплайн на поверхности. Иерархия: IDispatch IKompasAPIObject IModelObject ISplineOnSurface Примечание: Интерфейс можно получить у коллекции сплайнов по поверхностям с помощью свойства ISplinesOnSurfaces::SplineOnSurface и метода ISplinesOnSurfaces::Add. ## AddPoint - Создание новой вершины Синтаксис Automation: ``` BOOL AddPoint( long IndexAt, double X, double Y, double Z, double W, IModelObject * AssociationObject ); ``` Синтаксис COM: ``` HRESULT AddPoint( long IndexAt, double X, double Y, double Z, double W, IModelObject * AssociationObject, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: IndexAt - индекс вершины, X - координата по X, Y - координата по Y, Z - координата по Z W - вес, AssociationObject - ассоциативная вершина. ``` ## AddVertex - Создание новой вершины Синтаксис Automation: ``` BOOL AddVertex( long IndexAt, double U, double V, double W, IModelObject * AssociationObject ); ``` Синтаксис COM: ``` HRESULT AddVertex( long IndexAt, double U, double V, double W, IModelObject * AssociationObject, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: IndexAt - индекс вершины, перед которой нужно добавить новую, U - координата по U в %, V - координата по V в %, W - вес, AssociationObject - ассоциативная вершина. ``` ## AssociationObject - Установить опорный объект для вершины Тип данных: Указатель на интерфейс IModelObject Синтаксис Automation: ``` AssociationObject = Object.AssociationObject( Index ) Получить свойство (* ) Object.AssociationObject( Index ) = AssociationObject Установить свойство (* ) AssociationObject = Object.GetAssociationObject( Index ) Получить свойство (**) Object.SetAssociationObject( Index, AssociationObject ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_AssociationObject( Index, &AssociationObject ) Получить свойство Object.put_AssociationObject( Index, AssociationObject ) Установить свойство Входные параметры: long Index - индекс вершины. ``` ## Clear - Очистить массив вершин Синтаксис Automation: ``` BOOL Clear(); ``` Синтаксис COM: ``` HRESULT Clear( BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` ## ClearTangentParameters - Удалить параметры управления во всех точках Синтаксис Automation: ``` BOOL ClearTangentParameters(); ``` Синтаксис COM: ``` HRESULT ClearTangentParameters( BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` ## Closed - Замкнутость Тип данных: BOOL Синтаксис Automation: ``` Closed = Object.Closed Получить свойство (* ) Object.Closed = Closed Установить свойство (* ) Closed = Object.GetClosed() Получить свойство (**) Object.SetClosed( Closed ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_Closed( &Closed ) Получить свойство Object.put_Closed( Closed ) Установить свойство ``` ## DeleteVertex - Удалить вершину с указанным индексом Синтаксис Automation: ``` BOOL DeleteVertex( long Index ); ``` Синтаксис COM: ``` HRESULT DeleteVertex( long Index, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: Index - индекс вершины. ``` ## GetPoint - Получить координаты и вес вершины Синтаксис Automation: ``` BOOL GetPoint( long Index, double * X, double * Y, double * Z, double * W ); ``` Синтаксис COM: ``` HRESULT GetPoint( long Index, double * X, double * Y, double * Z, double * W, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: Index - индекс вершины. Выходные параметры: X - координата по X, Y - координата по Y, Z - координата по Z, W - вес. ``` ## GetTangentVector - Получить направление касательного вектора Синтаксис Automation: ``` BOOL GetTangentVector( long Index, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetTangentVector( long Index, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: Index - индекс вершины. Выходные параметры: X - координата по X, Y - координата по Y, Z - координата по Z. ``` ## GetVertex - Получить координаты UV и вес вершины Синтаксис Automation: ``` BOOL GetVertex( long Index, double * U, double * V, double * W ); ``` Синтаксис COM: ``` HRESULT GetVertex( long Index, double * U, double * V, double * W, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: Index - индекс вершины. Выходные параметры: U - координата по U в %, V - координата по V в %, W - вес. ``` ## GetVertexParams - Массив параметров UV и весов вершин в виде SAFEARRAY double - VT_ARRAY | VT_R8 Синтаксис Automation: ``` BOOL GetVertexParams( VARIANT * UV, VARIANT * Points, VARIANT * Weights ); ``` Синтаксис COM: ``` HRESULT GetVertexParams( VARIANT * UV, VARIANT * Points, VARIANT * Weights, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Выходные параметры: UV - массив VT_ARRAY VT_R8 параметров UV, Points - массив VT_ARRAY VT_R8 координат вершин, Weights - массив VT_ARRAY VT_R8 весов вершин. ``` ## Invert - Сменить направление касательного вектора на обратное Синтаксис Automation: ``` BOOL Invert( long Index ); ``` Синтаксис COM: ``` HRESULT Invert( long Index, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: Index - индекс вершины. ``` ## Reverse - Противоположное направление Тип данных: BOOL Синтаксис Automation: ``` Reverse = Object.Reverse( Index ) Получить свойство (* ) Object.Reverse( Index ) = Reverse Установить свойство (* ) Reverse = Object.GetReverse( Index ) Получить свойство (**) Object.SetReverse( Index, Reverse ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_Reverse( Index, &Reverse ) Получить свойство Object.put_Reverset( Index, Reverse ) Установить свойство Входные параметры: long Index - индекс вершины. Свойство позволяет устанавливать и получать признак того, что направление изменено на противоположное. ``` ## SetPoint - Установить координаты и вес вершины Синтаксис Automation: ``` BOOL SetPoint( long Index, double X, double Y, double Z, double W ); ``` Синтаксис COM: ``` HRESULT SetPoint( long Index, double X, double Y, double Z, double W, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: X - координата по X, Y - координата по Y, Z - координата по Z, W - вес. ``` ## SetTangentVector - Установить направление касательного вектора Синтаксис Automation: ``` BOOL SetTangentVector( long Index, double X, double Y, double Z ); ``` Синтаксис COM: ``` HRESULT SetTangentVector( long Index, double X, double Y, double Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: Index - индекс вершины, X - координата по X, Y - координата по Y, Z - координата по Z. ``` ## SetVertex - Установить координаты UV и вес вершины Синтаксис Automation: ``` BOOL SetVertex( long Index, double U, double V, double W ); ``` Синтаксис COM: ``` HRESULT SetVertex( long Index, double U, double V, double W, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. Входные параметры: Index - индекс вершины, U - координата по U в %, V - координата по V в %, W - вес. ``` ## SplineOnPoles - Тип построения Тип данных: BOOL Синтаксис Automation: ``` SplineOnPoles = Object.SplineOnPoles Получить свойство (* ) Object.SplineOnPoles = SplineOnPoles Установить свойство (* ) SplineOnPoles = Object.GetSplineOnPoles() Получить свойство (**) Object.SetSplineOnPoles( SplineOnPoles ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_SplineOnPoles( &SplineOnPoles ) Получить свойство Object.put_SplineOnPoles( SplineOnPoles ) Установить свойство TRUE - по полюсам FALSE - по точкам. ``` ## SplineOrder - Порядок сплайна Тип данных: long Синтаксис Automation: ``` SplineOrder = Object.SplineOrder Получить свойство (* ) Object.SplineOrder = SplineOrder Установить свойство (* ) SplineOrder = Object.GetSplineOrder() Получить свойство (**) Object.SetSplineOrder( SplineOrder ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_SplineOrder( &SplineOrder ) Получить свойство Object.put_SplineOrder( SplineOrder ) Установить свойство ``` ## SplineTangent - Тип касательного вектора в вершине Тип данных: из перечисления ksSplineTangentEnum Синтаксис Automation: ``` SplineTangent = Object.SplineTangent( Index ) Получить свойство (* ) Object.SplineTangent( Index ) = SplineTangent Установить свойство (* ) SplineTangent = Object.GetSplineTangent( Index ) Получить свойство (**) Object.SetSplineTangent( Index, SplineTangent ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_SplineTangent( Index, &SplineTangent ) Получить свойство Object.put_SplineTangent( Index, SplineTangent ) Установить свойство Входные параметры: long Index - индекс вершины. ``` ## SurfaceObject - Установить поверхность Тип данных: Указатель на интерфейс IModelObject Синтаксис Automation: ``` SurfaceObject = Object.SurfaceObject Получить свойство (* ) Object.SurfaceObject = SurfaceObject Установить свойство (* ) SurfaceObject = Object.GetSurfaceObject() Получить свойство (**) Object.SetSurfaceObject( SurfaceObject ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_SurfaceObject( &SurfaceObject ) Получить свойство Object.put_SurfaceObject( SurfaceObject ) Установить свойство ``` ## TangentCurve - Касательная кривая Тип данных: Указатель на интерфейс IModelObject Синтаксис Automation: ``` TangentCurve = Object.TangentCurve( Index ) Получить свойство (* ) Object.TangentCurve( Index ) = TangentCurve Установить свойство (* ) TangentCurve = Object.GetTangentCurve( Index ) Получить свойство (**) Object.SetTangentCurve( Index, TangentCurve ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_TangentCurve( Index, &TangentCurve ) Получить свойство Object.put_TangentCurve( Index, TangentCurve ) Установить свойство Входные параметры: long Index - индекс вершины. ``` ## VectorLenght - Длина вектора Тип данных: double Синтаксис Automation: ``` VectorLenght = Object.VectorLenght( Index ) Получить свойство (* ) Object.VectorLenght( Index ) = VectorLenght Установить свойство (* ) VectorLenght = Object.GetVectorLenght( Index ) Получить свойство (**) Object.SetVectorLenght( Index, VectorLenght ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_VectorLenght( Index, &VectorLenght ) Получить свойство Object.put_VectorLenght( Index, VectorLenght ) Установить свойство Входные параметры: long Index - индекс вершины. ``` ## VertexCount - Получить количество вершин Тип данных: long Синтаксис Automation: ``` VertexCount = Object.VertexCount Получить свойство (* ) VertexCount = Object.GetVertexCount() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_VertexCount( &VertexCount ) Получить свойство ``` Примечание: Свойство доступно только для чтения.