--- title: "Сплайн (Интерфейсы ksSplineDefinition и ISplineDefinition)" type: interface api: [api7] domain: [2d] tags: [interface, api7, 2d, kssplinedefinition] sources: - kssplinedefinition.html --- *API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы пространственных кривых * ## Сплайн (Интерфейсы ksSplineDefinition и ISplineDefinition) Интерфейс параметров сплайна. | ksSplineDefinition | - интерфейс Automation | | --- | --- | | ISplineDefinition | - интерфейс COM | Примечание: Интерфейс может быть получен от интерфейса ksEntity или IEntity с помощью метода ksEntity::GetDefinition или IEntity::GetDefinition и последующим приведением объекта типа IDispatch или IUnknown к интерфейсу типа ksSplineDefinition или ISplineDefinition соответственно. ## AddVertex - Добавить вершину Синтаксис Automation: ``` BOOL AddVertex (double x, double y, double z, double weight); ``` Синтаксис COM: ``` BOOL AddVertex (double x, double y, double z, double weight); Входные параметры: x - x координата вершины, y - y координата вершины, z - z координата вершины, weight - вес вершины. Возвращаемое значение: TRUE - в случае успешного завершения. ``` ## AddVertexAndAssociation - Добавить вершину по опорному объекту Синтаксис Automation: ``` BOOL AddVertexAndAssociation (long index, LPDISPATCH obj, double weight); ``` Синтаксис COM: ``` BOOL AddVertexAndAssociation (long index, LPENTITY obj, double weight); Входные параметры: index - индекс, с которым добавляется вершина, obj - указатель на интерфейс точки ksEntity или IEntity, weight - вес вершины. Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` Примечание: 1. Метод позволяет добавить в пространственную кривую новую вершину. Координаты новой вершины будут равны координатам опорного объекта obj. Вес вершины равен weight. 2. Объект (точка) obj становится опорным. 3. Если index = -1 или значение index превышает количество вершин, то новая вершина добавляется после последней. ## AttachAssociation - Задать опорную точку по индексу Синтаксис Automation: ``` BOOL AttachAssociation (long index, LPDISPATCH obj); ``` Синтаксис COM: ``` BOOL AttachAssociation (long index, LPENTITY obj); Входные параметры: index - индекс вершины в массиве, obj - указатель на интерфейс точки ksEntity или IEntity, Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` Примечание: Метод позволяет задать опорный объект для существующей вершины с номером index пространственной кривой. Если объект уже был задан, он будет заменен новым. ## cls - Признак замкнутости сплайна Тип данных: BOOL Значения свойства: | TRUE | - замкнутый сплайн, | | --- | --- | | FALSE | - разомкнутый сплайн. | Синтаксис Automation: ``` cls = iSpline.cls Получить свойство (* ) iSpline.cls = cls Установить свойство (* ) cls = iSpline.GetClosed() Получить свойство (**) iSpline.SetClosed(cls) Установить свойство (**) ``` ## degree - Порядок сплайна Тип данных: long Синтаксис Automation: ``` degree = iSpline.degree Получить свойство (* ) iSpline.degree = degree Установить свойство (* ) degree = iSpline.GetDegree() Получить свойство (**) iSpline.SetDegree(degree) Установить свойство (**) ``` ## DeleteVertex - Удалить вершину с указанным индексом Синтаксис Automation: ``` BOOL DeleteVertex (long index); ``` Синтаксис COM: ``` BOOL DeleteVertex (long index); Входной параметр: index - индекс вершины в массиве. Возвращаемое значение: TRUE - в случае успешного завершения. ``` ## Flush - Очистить массив вершин Синтаксис Automation: ``` BOOL Flush(); ``` Синтаксис COM: ``` BOOL Flush(); Возвращаемое значение: TRUE - в случае успешного завершения. ``` ## GetAssociation - Получить указатель на опорную точку по индексу Синтаксис Automation: ``` LPDISPATCH GetAssociation(long index); ``` Синтаксис COM: ``` LPENTITY GetAssociation(long index); Входные параметры: index - индекс вершины в массиве. Возвращаемое значение: - указатель на интерфейс точки ksEntity или IEntity, - в случае успешного завершения, - FALSE - в случае неудачи. ``` Примечание: Метод позволяет получить опорный объект для существующей вершины с номером index пространственной кривой, если он был задан. ## GetCountVertex - Получить количество вершин Синтаксис Automation: ``` long GetCountVertex(); ``` Синтаксис COM: ``` long GetCountVertex(); Возвращаемое значение: - количество вершин. ``` ## GetParamVertex - Получить параметры вершины с указанным индексом Синтаксис Automation: ``` BOOL GetParamVertex (long index, double* x, double* y, double* z, double* weight); ``` Синтаксис COM: ``` BOOL GetParamVertex (long index, double* x, double* y, double* z, double* weight); Входной параметр: index - индекс вершины в массиве. Выходные параметры: x - x координата вершины, y - y координата вершины, z - z координата вершины, weight - вес вершины. Возвращаемое значение: TRUE - в случае успешного завершения. ``` ## InsertVertex - Вставить вершину перед указанной Синтаксис Automation: ``` BOOL InsertVertex (long index, double x, double y, double z, double weight); ``` Синтаксис COM: ``` BOOL InsertVertex (long index, double x, double y, double z, double weight); Входные параметры: index - индекс вершины в массиве, x - x координата вершины, y - y координата вершины, z - z координата вершины, weight - вес вершины. Возвращаемое значение: TRUE - в случае успешного завершения. ``` ## ReadFromFile - Прочитать параметры вершин из текстового файла Синтаксис Automation: ``` BOOL ReadFromFile (BSTR fileName); ``` Синтаксис COM: ``` BOOL ReadFromFile (LPOLESTR fileName); Входной параметр: fileName - имя файла. Возвращаемое значение: TRUE - в случае успешного завершения. Примечание. См. также WriteToFile. ``` ## SetAssociation - Задать опорную точку по индексу Синтаксис Automation: ``` BOOL SetAssociation(long index, LPDISPATCH obj); ``` Синтаксис COM: ``` BOOL SetAssociation(long index, LPENTITY obj); Входные параметры: index - индекс вершины, obj - указатель на интерфейс IEntity или ksEntity. Возвращаемое значение: TRUE - в случае успешного завершения. ``` ## splineOnPoles - Признак способа построения сплайна Тип данных: BOOL Значения свойства: | TRUE | - по полюсам, | | --- | --- | | FALSE | - по вершинам. | Синтаксис Automation: ``` splineOnPoles = iSpline.splineOnPoles Получить свойство (* ) iSpline.splineOnPoles = splineOnPoles Установить свойство (* ) splineOnPoles = iSpline.GetSplineOnPoles() Получить свойство (**) splineOnPoles = iSpline.GetSplineOnPoles() Установить свойство (**) ``` ## WriteToFile - Записать параметры вершин в текстовый файл Синтаксис Automation: ``` BOOL WriteToFile (LPCTSTR fileName); ``` Синтаксис COM: ``` BOOL WriteToFile (LPOLESTR fileName); Входные параметр: fileName - имя файла. Возвращаемое значение: TRUE - в случае успешного завершения. Примечание. См. также ReadFromFile. ```