--- title: "Описание импортированной поверхности (Интерфейсы ksImportedSurfaceDefinition, IImportedSurfaceDefinition)" type: interface api: [api7] domain: [2d] tags: [interface, api7, 2d, ksimportedsurfacedefinition] sources: - ksimportedsurfacedefinition.html --- *API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы дополнительных элементов * ## Описание импортированной поверхности (Интерфейсы ksImportedSurfaceDefinition, IImportedSurfaceDefinition) Интерфейс параметров импортированной поверхности. | ksImportedSurfaceDefinition | - интерфейс Automation | | --- | --- | | IImportedSurfaceDefinition | - интерфейс COM | Примечание: 1. Поверхность можно импортировать, задав массив упорядоченных массивов точек. Один упорядоченный массив точек IVertexCollection определяет одну кривую. Если первая и последняя точки кривой совпадают, это является признаком замкнутости кривой. Для нормального построения поверхности кривых должно быть, как минимум, две. 2. Данный интерфейс можно получить, используя метод интерфейса элемента модели ksEntity::GetDefinition или IEntity::GetDefinition. ## AddCurve - Добавить кривую по массиву точек Пример... Синтаксис Automation: ``` BOOL AddCurve (VARIANT arr); ``` Синтаксис COM: ``` BOOL AddCurve (VARIANT arr); Входные параметры: arr - массив координат точек кривой. Возвращаемое значение: TRUE - в случае успеха, FALSE - в случае неудачи. ``` Примечание: 1. Тип переменной arr - VT_ARRAY | VT_R8. Одномерный SAFEARRAY массив double значений. 2. Каждая точка представлена тремя координатами x, y, z. Следовательно число точек в массиве должно быть кратно. ## AddPoint - Добавить точку в определение новой кривой Синтаксис Automation: ``` BOOL AddPoint(double x, double y, double z); ``` Синтаксис COM: ``` BOOL AddPoint(double x, double y, double z); Входные параметры: x, y, z - координаты точки кривой. Возвращаемое значение: TRUE - в случае успеха, FALSE - в случае неудачи. ``` Примечание: Перед добавлением точек кривой нужно открыть описание кривой методом ksImportedSurfaceDefinition::BeginCurve. После добавления точек необходимо закрыть определение кривой методом ksImportedSurfaceDefinition::EndCurve. ## BeginCurve - Начать создание новой кривой Синтаксис Automation: ``` BOOL BeginCurve(); ``` Синтаксис COM: ``` BOOL BeginCurve(); Возвращаемое значение: TRUE - в случае успеха, FALSE - в случае неудачи. ``` Примечание: Для добавления точек кривой используется метод ksImportedSurfaceDefinition::AddPoint. После добавления точек необходимо завершить задание кривой методом ksImportedSurfaceDefinition::EndCurve. ## Clear - Очистить содержимое Синтаксис Automation: ``` BOOL Clear(); ``` Синтаксис COM: ``` BOOL Clear(); Возвращаемое значение: TRUE - в случае успеха, FALSE - в случае неудачи. ``` Примечание: Очищается имя файла и массив кривых. ## EndCurve - Завершить создание новой кривой Синтаксис Automation: ``` BOOL EndCurve(); ``` Синтаксис COM: ``` BOOL EndCurve(); Возвращаемое значение: TRUE - в случае успеха, FALSE - в случае неудачи. ``` Примечание: Перед добавлением точек кривой нужно открыть описание кривой методом ksImportedSurfaceDefinition::BeginCurve. Для добавления точек используется метод ksImportedSurfaceDefinition::AddPoint.