---
title: "Интерфейс IKompasDocument3D"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, ikompasdocument3d]
sources:
  - ikompasdocument3d.html
---

*API интерфейсов. Версия 7 > Документ  > Базовые интерфейсы  > Интерфейс IKompasDocument  > IKompasDocument - методы *


## Интерфейс IKompasDocument3D

Базовый класс документов-моделей КОМПАС (скрытый).
Иерархия:
IKompasAPIObject
IKompasDocument
IKompasDocument3D
IExternalTessellationManager
ISelectionManager
IChooseManager
Интерфейс событий...
Синтаксис Automation:
```
IKompasDocument3D document3D (application.GetActiveDocument());
```
Синтаксис COM:
```
pApplication->get_ActiveDocument( &document3D );
```
Примечание:
1. Данный интерфейс является базовым для интерфейсов документов-моделей КОМПАС API – детали IPartDocument и сборки IAssemblyDocument.
2. Интерфейс можно получить у интерфейса приложения IApplication с помощью свойства IApplication::ActiveDocument или свойства IApplication::Documents.
3. У данного интерфейса посредством вызова метода IUnknown::QueryInterface (const GUID far& IID, void** pif) можно получить дополнительные интерфейсы:
•IEmbodimentsManager
•IExternalTessellationManager
•ISelectionManager
•IChooseManager


## AttributesEx - Массив атрибутов документа в виде массива SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH

Тип данных: VARIANT
Синтаксис Automation:
```
AttributesEx = Object.AttributesEx( Key1, Key2, Key3, Key4, Numb, Objects, SourcePart )    Получить свойство (* )
AttributesEx = Object.GetAttributesEx( Key1, Key2, Key3, Key4, Numb, Objects, SourcePart )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_AttributesEx( Key1, Key2, Key3, Key4, Numb, Objects, SourcePart, &AttributesEx )    Получить свойство
Входные параметры:
key1, key2, key3, key4    - ключи атрибута,
Numb    - уникальный номер типа атрибута,
Objects    - массив VT_ARRAY    VT_DISPATCH объектов, для которых назначается атрибут,
SourcePart    - указатель на интерфейс вставки детали IPart.
```
Примечание:
Свойство доступно только для чтения.


## ChooseManager - Менеджер выбора (подсветки) объектов

Тип данных: указатель на интерфейс менеджера выбора (подсветки) объектов IChooseManager
Синтаксис Automation:
```
ChooseManager = Object.ChooseManager    Получить свойство (* )
ChooseManager = Object.GetChooseManager()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ChooseManager( &ChooseManager )    Получить свойство
Свойство позволяет получать указатель на менеджер выбора (подсветки) объектов.
```
Примечание:
Свойство доступно только для чтения.


## CreateAttrEx - Создать атрибут по номеру типа атрибута из библиотеки libname

Синтаксис Automation:
```
LPDISPATCH CreateAttrEx( double AttrID, BSTR Libname, VARIANT Objects, IPart7 * SourcePart );
```
Синтаксис COM:
```
HRESULT CreateAttrEx( double AttrID, BSTR Libname, VARIANT Objects, IPart7 * SourcePart, IAttribute ** Result );
Возвращаемое значение:
- указатель на интерфейс IAttribute
Входные параметры:
AttrID    - уникальный номер типа атрибута,
Libname    - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута берется из текущего документа,
Objects    - массив VT_ARRAY    VT_DISPATCH объектов, для которых назначается атрибут,
SourcePart    - указатель на интерфейс вставки детали IPart.
```


## CreateObjectsInCurrentLocalCS - Создавать новые объекты в текущей ЛСК

Тип данных: BOOL
Синтаксис Automation:
```
CreateObjectsInCurrentLocalCS = Object.CreateObjectsInCurrentLocalCS    Получить свойство (* )
Object.CreateObjectsInCurrentLocalCS = CreateObjectsInCurrentLocalCS    Установить свойство (* )
CreateObjectsInCurrentLocalCS = Object.GetCreateObjectsInCurrentLocalCS()    Получить свойство (**)
Object.SetCreateObjectsInCurrentLocalCS( CreateObjectsInCurrentLocalCS )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CreateObjectsInCurrentLocalCS( &CreateObjectsInCurrentLocalCS )    Получить свойство
Object.put_CreateObjectsInCurrentLocalCS( CreateObjectsInCurrentLocalCS )    Установить свойство
```
Примечание:
Свойство позволяет включить режим создания объектов модели в текущей системе координат. Для правильной работы библиотек нужно включить режим, создать нужные объекты и выключить режим.
Если флаг включен, то 3D точка, ломаная, сплайн, эскиз, импортированная поверхность, операция без истории, деталь заготовка через API будут создаваться в текущей локальной системе координат.
Параметры создания в локальной системе координат зависят от настроек системы.
См. также: ISystemSettings::ModelLocalCSCreateInAbsoluteCS и ISystemSettings::ModelLocalCSSetActive.


## DeleteHistory - Удалить историю построения

Синтаксис Automation:
```
BOOL DeleteHistory();
```
Синтаксис COM:
```
HRESULT DeleteHistory( [out, retval] VARIANT_BOOL * Result);
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет удалить историю построения.


## DrawMode - Режим визуализации

Тип данных: long
Значение свойства:
Из перечисления ViewMode
Синтаксис Automation:
```
long DrawMode = iObject.DrawMode    Получить свойство (* )
iObject.DrawMode = DrawMode    Установить свойство (* )
long DrawMode = iObject.GetDrawMode()    Получить свойство (**)
iObject.SetDrawMode( DrawMode )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_DrawMode( &DrawMode )    Получить свойство
iObject->put_DrawMode( DrawMode )    Установить свойство
```


## EnableUndo - Включить/отключить добавление команд в Undo

Тип данных: BOOL
Синтаксис:
```
EnableUndo = Object.EnableUndo    Получить свойство (* )
Object.EnableUndo = EnableUndo    Установить свойство (* )
EnableUndo = Object.GetEnableUndo()    Получить свойство (**)
Object.SetEnableUndo( EnableUndo )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_EnableUndo( &EnableUndo )    Получить свойство
Object.put_EnableUndo( EnableUndo )    Установить свойство
```


## HideAllAuxiliaryGeom - Скрыть/показать все вспомогательные объекты

Тип данных: BOOL
Синтаксис Automation:
```
HideAllAuxiliaryGeom = Object.HideAllAuxiliaryGeom    Получить свойство (* )
Object.HideAllAuxiliaryGeom = HideAllAuxiliaryGeom    Установить свойство (* )
HideAllAuxiliaryGeom = Object.GetHideAllAuxiliaryGeom()    Получить свойство (**)
Object.SetHideAllAuxiliaryGeom( HideAllAuxiliaryGeom )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_HideAllAuxiliaryGeom( &HideAllAuxiliaryGeom )    Получить свойство
Object.put_HideAllAuxiliaryGeom( HideAllAuxiliaryGeom )    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideAllAxis - Скрыть/показать конструктивные оси

Тип данных: BOOL
Значения свойства:
| TRUE | - конструктивные оси скрыты, |
| --- | --- |
| FALSE | - конструктивные оси показаны. |
Синтаксис Automation:
```
BOOL HideAllAxis = iObject.HideAllAxis    Получить свойство (* )
iObject.HideAllAxis = HideAllAxis    Установить свойство (* )
BOOL HideAllAxis = iObject.GetHideAllAxis()    Получить свойство (**)
iObject.SetHideAllAxis (HideAllAxis)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_HideAllAxis (&HideAllAxis)    Получить свойство
iObject->put_HideAllAxis (HideAllAxis)    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideAllControlPoints - Скрыть/показать контрольные точки

Тип данных: BOOL
Значения свойства:
| TRUE | - контрольные точки скрыты, |
| --- | --- |
| FALSE | - контрольные точки показаны. |
Синтаксис Automation:
```
BOOL HideAllControlPoints = iObject.HideAllControlPoints    Получить свойство (* )
iObject.HideAllControlPoints = HideAllControlPoints    Установить свойство (* )
BOOL HideAllControlPoints = iObject.GetHideAllControlPoints()    Получить свойство (**)
iObject.SetHideAllControlPoints (HideAllControlPoints)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_HideAllControlPoints (&HideAllControlPoints)    Получить свойство
iObject->put_HideAllControlPoints (HideAllControlPoints)    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideAllCurves - Скрыть/показать пространственные кривые

Тип данных: BOOL
Значения свойства:
| TRUE | - пространственные кривые скрыты, |
| --- | --- |
| FALSE | - пространственные кривые показаны. |
Синтаксис Automation:
```
BOOL HideAllCurves = iObject.HideAllCurves    Получить свойство (* )
iObject.HideAllCurves = HideAllCurves    Установить свойство (* )
BOOL HideAllCurves = iObject.GetHideAllCurves()    Получить свойство (**)
iObject.SetHideAllCurves (HideAllCurves)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_HideAllCurves (&HideAllCurves)    Получить свойство
iObject->put_HideAllCurves (HideAllCurves)    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideAllDesignations - Скрыть/показать условные обозначения

Тип данных: BOOL
Синтаксис Automation:
```
HideAllDesignations = Object.HideAllDesignations    Получить свойство (* )
Object.HideAllDesignations = HideAllDesignations    Установить свойство (* )
HideAllDesignations = Object.GetHideAllDesignations()    Получить свойство (**)
Object.SetHideAllDesignations( HideAllDesignations )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_HideAllDesignations( &HideAllDesignations )    Получить свойство
Object.put_HideAllDesignations( HideAllDesignations )    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideAllDimensions - Скрыть/показать размеры

Тип данных: BOOL
Синтаксис Automation:
```
HideAllDimensions = Object.HideAllDimensions    Получить свойство (* )
Object.HideAllDimensions = HideAllDimensions    Установить свойство (* )
HideAllDimensions = Object.GetHideAllDimensions()    Получить свойство (**)
Object.SetHideAllDimensions( HideAllDimensions )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_HideAllDimensions( &HideAllDimensions )    Получить свойство
Object.put_HideAllDimensions( HideAllDimensions )    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideAllPlaces - Скрыть/показать начала координат

Тип данных: BOOL
Значения свойства:
| TRUE | - начала координат скрыты, |
| --- | --- |
| FALSE | - начала координат показаны. |
Синтаксис Automation:
```
BOOL HideAllPlaces = iObject.HideAllPlaces    Получить свойство (* )
iObject.HideAllPlaces = HideAllPlaces    Установить свойство (* )
BOOL HideAllPlaces = iObject.GetHideAllPlaces()    Получить свойство (**)
iObject.SetHideAllPlaces (HideAllPlaces)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_HideAllPlaces (&HideAllPlaces)    Получить свойство
iObject->put_HideAllPlaces (HideAllPlaces)    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideAllPlanes - Скрыть/показать конструктивные плоскости

Тип данных: BOOL
Значения свойства:
| TRUE | - конструктивные плоскости скрыты, |
| --- | --- |
| FALSE | - конструктивные плоскости показаны. |
Синтаксис Automation:
```
BOOL HideAllPlanes = iObject.HideAllPlanes    Получить свойство (* )
iObject.HideAllPlanes = HideAllPlanes    Установить свойство (* )
BOOL HideAllPlanes = iObject.GetHideAllPlanes()    Получить свойство (**)
iObject.SetHideAllPlanes (HideAllPlanes)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_HideAllPlanes (&HideAllPlanes)    Получить свойство
iObject->put_HideAllPlanes (HideAllPlanes)    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideAllSketches - Скрыть/показать эскизы

Тип данных: BOOL
Значения свойства:
| TRUE | - эскизы скрыты, |
| --- | --- |
| FALSE | - эскизы показаны. |
Синтаксис Automation:
```
BOOL HideAllSketches = iObject.HideAllSketches    Получить свойство (* )
iObject.HideAllSketches = HideAllSketches    Установить свойство (* )
BOOL HideAllSketches = iObject.GetHideAllSketches()    Получить свойство (**)
iObject.SetHideAllSketches (HideAllSketches)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_HideAllSketches (&HideAllSketches)    Получить свойство
iObject->put_HideAllSketches (HideAllSketches)    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideAllSurfaces - Скрыть/показать поверхности

Тип данных: BOOL
Значения свойства:
| TRUE | - поверхности скрыты, |
| --- | --- |
| FALSE | - поверхности показаны. |
Синтаксис Automation:
```
BOOL HideAllSurfaces = iObject.HideAllSurfaces    Получить свойство (* )
iObject.HideAllSurfaces = HideAllSurfaces    Установить свойство (* )
BOOL HideAllSurfaces = iObject.GetHideAllSurfaces()    Получить свойство (**)
iObject.SetHideAllSurfaces (HideAllSurfaces)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_HideAllSurfaces (&HideAllSurfaces)    Получить свойство
iObject->put_HideAllSurfaces (HideAllSurfaces)    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideAllThreads - Резьбы

Тип данных: BOOL
Значения свойства:
| TRUE | - резьбы скрыты, |
| --- | --- |
| FALSE | - резьбы показаны. |
Синтаксис Automation:
```
BOOL HideAllThreads = iObject.HideAllThreads    Получить свойство (* )
iObject.HideAllThreads = HideAllThreads    Установить свойство (* )
BOOL HideAllThreads = iObject.GetHideAllThreads()    Получить свойство (**)
iObject.SetHideAllThreads (HideAllThreads)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_HideAllThreads (&HideAllThreads)    Получить свойство
iObject->put_HideAllThreads (HideAllThreads)    Установить свойство
```
Примечание:
В зависимости от флага HideInComponentsMode позволяет скрыть или показать все вспомогательные объекты в документе или, если документ является сборкой, во вставках.


## HideInComponentsMode - Режим скрытия вспомогательной геометрии в компонентах

Тип данных: BOOL
Синтаксис Automation:
```
HideInComponentsMode = Object.HideInComponentsMode    Получить свойство (* )
Object.HideInComponentsMode = HideInComponentsMode    Установить свойство (* )
HideInComponentsMode = Object.GetHideInComponentsMode()    Получить свойство (**)
Object.SetHideInComponentsMode( HideInComponentsMode )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_HideInComponentsMode( &HideInComponentsMode )    Получить свойство
Object.put_HideInComponentsMode( HideInComponentsMode )    Установить свойство
```
Примечание:
Флаг позволяет для сборки включить режим работы с флагами скрытия вспомогательной геометрии во вставках или в документе.
Если флаг включен, то свойства: HideAllPlanes, HideAllAxis, HideAllSketches, HideAllPlaces, HideAllSurfaces, HideAllThreads, HideAllCurves, HideAllControlPoints, HideAllDimensions, HideAllDesignations, HideAllAuxiliaryGeom
управляют признаками скрытия вспомогательной геометрии во вставках.


## Perspective - Скрыть/показать перспективу

Тип данных: BOOL
Значения свойства:
| TRUE | - показывать перспективу, |
| --- | --- |
| FALSE | - не показывать перспективу. |
Синтаксис Automation:
```
BOOL Perspective = iObject.Perspective    Получить свойство (* )
iObject.Perspective = Perspective    Установить свойство (* )
BOOL Perspective = iObject.GetPerspective()    Получить свойство (**)
iObject.SetPerspective (Perspective)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Perspective (&Perspective)    Получить свойство
iObject->put_Perspective (Perspective)    Установить свойство
```


## RebuildDocument - Перестроить документ

Синтаксис Automation:
```
BOOL RebuildDocument();
```
Синтаксис COM:
```
HRESULT RebuildDocument( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет вызвать перестроение 3D-документа.


## SelectionManager - Менеджер селектированных объектов

Тип данных: указатель на интерфейс менеджера селектированных объектов ISelectionManager
Синтаксис Automation:
```
SelectionManager = Object.SelectionManager    Получить свойство (* )
SelectionManager = Object.GetSelectionManager()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SelectionManager (&SelectionManager)    Получить свойство
Свойство позволяет получать указатель на менеджер селектированных объектов.
```
Примечание:
Свойство доступно только для чтения.


## ShadedWireframe - Полутоновое изображение с каркасом

Тип данных: BOOL
Значения свойства:
| TRUE | - каркас показан, |
| --- | --- |
| FALSE | - каркас скрыт. |
Синтаксис Automation:
```
BOOL ShadedWireframe = iObject.ShadedWireframe    Получить свойство (* )
iObject.ShadedWireframe = ShadedWireframe    Установить свойство (* )
ShadedWireframe = iObject.GetShadedWireframe()    Получить свойство (**)
iObject.SetShadedWireframe (ShadedWireframe)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_ShadedWireframe (&ShadedWireframe)    Получить свойство
iObject->put_ShadedWireframe (ShadedWireframe)    Установить свойство
```


## TechnicalDemand3D - Технические требования 3D

Тип данных: указатель на интерфейс ITechnicalDemand3D
Синтаксис Automation:
```
TechnicalDemand3D = Object.TechnicalDemand3D    Получить свойство (* )
TechnicalDemand3D = Object.GetTechnicalDemand3D()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_TechnicalDemand3D( &TechnicalDemand3D )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Свойство позволяет получить указатель на интерфейс технических требований 3D.


## ToleranceMode - Включить/отключить режим пересчета по допуску

Синтаксис Automation:
```
ToleranceMode = Object.ToleranceMode    Получить свойство (* )
Object.ToleranceMode = ToleranceMode    Установить свойство (* )
ToleranceMode = Object.GetToleranceMode()    Получить свойство (**)
Object.SetToleranceMode( ToleranceMode )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ToleranceMode( &ToleranceMode )    Получить свойство
Object.put_ToleranceMode( ToleranceMode )    Установить свойство
```
Примечание:
Свойство позволяет включать и отключать режим перестроения по допуску.


## TopPart - Верхний компонент (сам документ)

Тип данных: указатель на интерфейс IPart7
Синтаксис Automation:
```
TopPart = iObject.TopPart    Получить свойство (* )
TopPart = iObject.GetTopPart()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_TopPart( &TopPart )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## UndoContainer - Включить/отключить объединение команд в Undo

Тип данных: BOOL
Синтаксис:
```
UndoContainer = Object.UndoContainer    Получить свойство (* )
Object.UndoContainer = UndoContainer    Установить свойство (* )
UndoContainer = Object.GetUndoContainer()    Получить свойство (**)
Object.SetUndoContainer( UndoContainer )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_UndoContainer( &UndoContainer )    Получить свойство
Object.put_UndoContainer( UndoContainer )    Установить свойство
```
