--- title: "Интерфейс IViews" type: interface api: [api7] domain: [drawing] tags: [interface, api7, drawing, iviews] sources: - iviews.html --- *API интерфейсов. Версия 7 > Документ 2D  > Виды и слои  > Интерфейс IDrawingObjects  > IDrawingObjects - свойства * ## Интерфейс IViews Интерфейс коллекции видов графического документа. Иерархия: IKompasAPIObject IKompasCollection IDrawingObjects IViews Описание: Типы видов описаны в перечислении LtViewType. В документе типа Фрагмент есть только один системный вид. В документе типа Чертеж обязательно есть системный вид (только один) и могут быть до 254 видов любого типа из перечисления LtViewType, кроме системного. Примечание: Данный интерфейс можно получить от интерфейса менеджера видов и слоев IViewsAndLayersManager с помощью свойства IViewsAndLayersManager::Views. ## ActiveView - Активный вид Тип данных: указатель на интерфейс вида IView Синтаксис Automation: ``` ActiveView = iObject.ActiveView Получить свойство (* ) ActiveView = iObject.GetActiveView Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_ActiveView (&ActiveView) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Add - Создать вид (добавляет вид в коллекцию) Синтаксис Automation: ``` LPDISPATCH Add (long ViewType); ``` Синтаксис COM: ``` HRESULT Add ([in] LtViewType ViewType, [out, retval] IView** Result); Входные параметры: ViewType - тип создаваемого вида из перечисления LtViewType. Возвращаемое значение: - Указатель на интерфейс вида IView. ``` Примечание: 1. Системный вид создается автоматически при создании документа. Создавать второй системный вид (тип vt_System) нельзя. 2. После вызова этого метода вид будет добавлен в коллекцию, но в документе не появится. 3. Для отображения вида в документе нужно задать его параметры и вызвать метод IDrawingObject::Update. ## AddStandartViews - Создать группу стандартных ассоциативных видов (добавить виды в коллекцию) Синтаксис Automation: ``` BOOL AddStandartViews (BSTR FileName, BSTR ProjectionName, VARIANT ProjectionsTypes, double X, double Y, double Scale, double DX, double DY ); ``` Синтаксис COM: ``` HRESULT AddStandartViews (BSTR FileName, BSTR ProjectionName, VARIANT ProjectionsTypes, double X, double Y, double Scale, double DX, double DY, BOOL * Result); Входные параметры: FileName - имя файла модели-источника для проекции, ProjectionName - ориентация модели, ProjectionsTypes - массив SAFEARRAY VT VT_I4 типов проекций, X, Y - точка привязки группы видов, Scale - масштаб, DX, DY - расстояние между видами. Возвращаемое значение: TRUE - в случае удачи. ``` ## View - Вид, заданный по имени, ссылке или по индексу Тип данных: указатель на интерфейс вида IView Синтаксис Automation: ``` View = iObject.View (Index) Получить свойство (* ) View = iObject.GetView (Index) Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_View (Index, &View) Получить свойство Входные параметры: index - индекс вида в коллекции, ссылка на вид или имя вида; тип VARIANT. ``` Примечание: Свойство доступно только для чтения. ## ViewByNumber - Вид, заданный по номеру Тип данных: указатель на интерфейс вида IView Синтаксис Automation: ``` View = iObject.ViewByNumber (number) Получить свойство (* ) View = iObject.GetViewByNumber (number) Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_ViewByNumber (number, &View) Получить свойство Входные параметры: number - номер вида; тип long. ``` Примечание: Свойство доступно только для чтения.