--- title: "Интерфейс IImportedSurface" type: interface api: [api7] tags: [interface, api7, iimportedsurface] sources: - iimportedsurface.html --- *API интерфейсов. Версия 7 > Документ 3D  > Поверхности  > Интерфейс ISurfaceContainer  > ISurfaceContainer - свойства * ## Интерфейс IImportedSurface Интерфейс параметров импортированной поверхности Иерархия: IDispatch IKompasAPIObject IModelObject IImportedSurface ILocalCSObject Интерфейс можно получить у интерфейса коллекции импортированных поверхностей с помощью свойства IImportedSurfaces::ImportedSurface или метода IImportedSurfaces::Add. С помощью метода IUnknown::QueryInterface у интерфейса можно получить интерфейс подчиненного объекта ЛСК ILocalCSObject. ## AddPoint - Добавить точку в создаваемый ряд Синтаксис Automation: ``` BOOL AddPoint( double X, double Y, double Z ); ``` Синтаксис COM: ``` HRESULT AddPoint( double X, double Y, double Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае удачного завершения, FALSE - в случае неудачи. Входные параметры: X, Y, Z - координаты точки. ``` Примечание: Метод должен вызываться между вызовами методов IImportedSurface::BeginPointsSeries и IImportedSurface::EndPointsSeries. ## AddPointsSeries - Добавить ряд точек Синтаксис Automation: ``` BOOL AddPointsSeries( BOOL UV, long IndexAt, VARIANT arr ); ``` Синтаксис COM: ``` HRESULT AddPointsSeries( BOOL UV, long IndexAt, VARIANT arr, BOOL * Result ); Возвращаемое значение: TRUE - в случае удачного завершения, FALSE - в случае неудачи. Возвращаемое значение: UV - TRUE - добавлять по U, FALSE - по V, IndexAt - индекс, перед которым добавлять, arr - массив VT_ARRAY VT_R8 координат точек. ``` ## BeginPointsSeries - Начать добавление нового ряда точек Синтаксис Automation: ``` BOOL BeginPointsSeries( BOOL UV, long IndexAt ); ``` Синтаксис COM: ``` HRESULT BeginPointsSeries( BOOL UV, long IndexAt, BOOL * Result ); Возвращаемое значение: TRUE - в случае удачного завершения, FALSE - в случае неудачи. Входные параметры: UV - TRUE - добавлять по U, - FALSE - по V, IndexAt - индекс ряда, перед которым добавлять новый ряд. ``` ## ClearPointsSeries - Очистить список рядов точек Синтаксис Automation: ``` BOOL ClearPointsSeries(); ``` Синтаксис COM: ``` HRESULT ClearPointsSeries( BOOL * Result ); Возвращаемое значение: TRUE - в случае удачного завершения, FALSE - в случае неудачи. Метод позволяет удалить все точки поверхности. ``` ## DeletePointsSeries - Удалить ряд точек Синтаксис Automation: ``` BOOL DeletePointsSeries( BOOL UV, long Index ); ``` Синтаксис COM: ``` HRESULT DeletePointsSeries( BOOL UV, long Index, BOOL * Result ); Возвращаемое значение: TRUE - в случае удачного завершения, FALSE - в случае неудачи. Входные параметры: UV - TRUE - удалять по U, - FALSE - по V, Index - индекс удаляемого ряда. ``` ## EndPointsSeries - Завершить создание нового ряда точек Синтаксис Automation: ``` BOOL EndPointsSeries(); ``` Синтаксис COM: ``` HRESULT EndPointsSeries( BOOL * Result ); Возвращаемое значение: TRUE - в случае удачного завершения, FALSE - в случае неудачи. ``` ## GetPoint - Получить параметры точки Синтаксис Automation: ``` BOOL GetPoint( long UIndex, long VIndex, double * X, double * Y, double * Z ); ``` Синтаксис COM: ``` HRESULT GetPoint( long UIndex, long VIndex, double * X, double * Y, double * Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае удачного завершения, FALSE - в случае неудачи. Входные параметры: UIndex - индекс точки по U, VIndex - индекс точки по V. Выходные параметры: X, Y,Z - координаты точки. Метод позволяет получить параметры точки. ``` ## GetPoints - Получить массив всех точек Синтаксис Automation: ``` VARIANT GetPoints( long * UPCount, long * VPCount ); ``` Синтаксис COM: ``` HRESULT GetPoints( long * UPCount, long * VPCount, VARIANT * Result ); Возвращаемое значение: Массив VT_ARRAY | VT_R8 точек поверхности Выходные параметры: UPCount - количество точек по U, VPCount - количество точек по V. ``` ## PointsUCount - Количество точек по U Тип данных: long Синтаксис Automation: ``` PointsUCount = Object.PointsUCount Получить свойство (* ) PointsUCount = Object.GetPointsUCount() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_PointsUCount( &PointsUCount ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## PointsVCount - Количество точек по V Тип данных: long Синтаксис Automation: ``` PointsVCount = Object.PointsVCount Получить свойство (* ) PointsVCount = Object.GetPointsVCount() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_PointsVCount( &PointsVCount ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## SetPoint - Установить параметры точки Синтаксис Automation: ``` BOOL SetPoint( long UIndex, long VIndex, double X, double Y, double Z ); ``` Синтаксис COM: ``` HRESULT SetPoint( long UIndex, long VIndex, double X, double Y, double Z, BOOL * Result ); Возвращаемое значение: TRUE - в случае удачного завершения, FALSE - в случае неудачи. Входные параметры: UIndex - индекс точки по U, VIndex - индекс точки по V, X, Y, Z - координаты точки. Метод позволяет установить параметры точки. ``` ## SetPoints - Установить массив всех точек Синтаксис Automation: ``` BOOL SetPoints( long UPCount, long VPCount, VARIANT Points ); ``` Синтаксис COM: ``` HRESULT SetPoints( long UPCount, long VPCount, VARIANT Points, BOOL * Result ); Возвращаемое значение: TRUE - в случае удачного завершения, FALSE - в случае неудачи. Входные параметры: UPCount - количество точек по U, VPCount - количество точек по V, Points - массив VT_ARRAY VT_R8 координат точек. Метод позволяет установить массив точек поверхности. ```