---
title: "Пересчет модели с учетом допусков"
type: interface
api: [api7]
domain: [3d]
tags: [interface, api7, 3d, bc2277893]
sources:
  - bc2277893.html
  - itolerancerecalcsmanager.html
  - itolerancerecalc.html
  - iqualitymanager.html
---

*API интерфейсов. Версия 7 > Документ 3D  > Оформление *




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

Менеджер пересчета модели по допускам.
Иерархия:
IDispatch
IToleranceRecalcsManager
Является дополнительным к интерфейсу менеджера 3D документа (можно получить с помощью QueryInterface).


## AddRecalc - Создать пересчет размеров

Синтаксис Automation:
```
LPDISPATCH AddRecalc();
Синтаксис СОМ:
HRESULT AddRecalc( IToleranceRecalc ** Result );
Возвращаемое значение:
- указатель на интерфейс пересчета размеров IToleranceRecalc.
```


## AddRecalcCopy - Создать пересчет размеров по образцу

Синтаксис Automation:
```
LPDISPATCH AddRecalcCopy( IToleranceRecalc * Source );
Синтаксис СОМ:
HRESULT AddRecalcCopy( IToleranceRecalc * Source, IToleranceRecalc ** Result );
Возвращаемое значение:
- указатель на интерфейс пересчета размеров IToleranceRecalc.
Входные параметры
Source    - указатель на копируемый пересчет размеров IToleranceRecalc.
```


## CurrentRecalc - Интерфейс текущего пересчета

Тип данных: указатель на интерфейс IToleranceRecalc
Синтаксис Automation:
```
CurrentRecalc= Object.CurrentRecalc    Получить свойство (* )
CurrentRecalc= Object.GetCurrentRecalc()    Получить свойство (**)
```
Синтаксис COM:
```
CurrentRecalc = Object.GetCurrentRecalc()    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## GetRecalc - Получить пересчет размеров по имени или индексу

Синтаксис Automation:
```
LPDISPATCH GetRecalc( VARIANT Index );
Синтаксис СОМ:
HRESULT GetRecalc( VARIANT Index, IToleranceRecalc ** Result );
Возвращаемое значение:
- указатель на интерфейс пересчета размеров IToleranceRecalc.
Входные параметры
Index    - имя или индекс пересчета.
```


## RecalcsCount - Количество пересчетов размеров

Тип данных: long
Синтаксис Automation:
```
RecalcsCount= Object.RecalcsCount    Получить свойство (* )
RecalcsCount= Object.GetRecalcsCount()    Получить свойство (**)
```
Синтаксис COM:
```
RecalcsCount = Object.GetRecalcsCount()    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## SaveRecalcModel - Сохранить пересчитанную копию модели

Синтаксис Automation:
```
BOOL SaveRecalcModel( BSTR FileName );
Синтаксис СОМ:
HRESULT SaveRecalcModel( BSTR FileName, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае удачного завершения,
FALSE    - в случае неудачи.
Входные параметры
FileName    - имя файла, в который будет сохранена модель.
```


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

Тип данных: BOOL
Синтаксис Automation:
```
ToleranceMode = Object.ToleranceMode;    Получить свойство (* )
Object.ToleranceMode = ToleranceMode;    Установить свойство (* )
ToleranceMode = Object.GetToleranceMode();    Получить свойство (**)
Object.SetToleranceMode( ToleranceMode );    Установить свойство (* )
```
Синтаксис COM:
```
Object->get_ToleranceMode( &ToleranceMode );    Получить свойство
Object->put_ToleranceMode( ToleranceMode );    Установить свойство
```


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

Интерфейс пересчета модели.
Иерархия:
IDispatch
IKompasAPIObject
IToleranceRecalc
Интерфейс можно получить у Менеджера пересчета модели c помощью методов IToleranceRecalcsManager::AddRecalc, IToleranceRecalcsManager::AddRecalcCopy, IToleranceRecalcsManager::GetRecalc и свойства IToleranceRecalcsManager::CurrentRecalc.


## AddAllVariables - Добавить все переменные

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


## AddItems - Добавить переменные, размер или компонент

Синтаксис Automation:
```
BOOL AddItems( IKompasAPIObject * Object );
```
Синтаксис COM:
```
HRESULT AddItems( IKompasAPIObject * Object, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Object    - указатель на интерфейс переменной, размера или компонента.
```


## Coefficient - Коэффициент

Тип данных: double
Синтаксис Automation:
```
Coefficient = Object.Coefficient( Index );    Получить свойство (* )
Object.Coefficient( Index ) = Coefficient;    Установить свойство (* )
Coefficient = Object.GetCoefficient( Index );    Получить свойство (**)
Object.SetCoefficient( Index, Coefficient );    Установить свойство (* )
```
Синтаксис COM:
```
Object.get_Coefficient( Index, &Coefficient );    Получить свойство
Object.put_Coefficient( Index, Coefficient );    Установить свойство
Входные параметры:
VARIANT index    I- имя или индекс пересчета.
```


## Current - Текущий пересчет

Тип данных: BOOL
Синтаксис Automation:
```
Current = Object.Current;    Получить свойство (* )
Object.Current = Current;    Установить свойство (* )
Current = Object.GetCurrent();    Получить свойство (**)
Object.SetCurrent( Current );    Установить свойство (* )
```
Синтаксис COM:
```
Object->get_Current( &Current );    Получить свойство
Object->put_Current( Current );    Установить свойство
```
Примечание:
Установить свойство можно только равным TRUE.


## DeleteItem - Удалить переменную или вариант пересчета компонента по имени, индексу или интерфейсу

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


## Id - Идентификатор

Тип данных: long
Синтаксис Automation:
```
Id = Object.Id    Получить свойство (* )
Id = Object.GetId()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Id( &Id )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Item - Получить переменную или компонент

Тип данных: Указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
Item = Object.Item( Index )    Получить свойство (* )
Item = Object.GetItem( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Item( Index, &Item )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ItemsCount - Количество объектов в пересчете

Тип данных: long
Синтаксис Automation:
```
ItemsCount= Object.ItemsCount    Получить свойство (* )
ItemsCount= Object.GetItemsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ItemsCount( &ItemsCount )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Name - Имя

Тип данных: BSTR
Синтаксис Automation:
```
Name = Object.Name;    Получить свойство (* )
Object.Name = Name;    Установить свойство (* )
Name = Object.GetName();    Получить свойство (**)
Object.SetName( Name );    Установить свойство (* )
```
Синтаксис COM:
```
Object->get_Name( &Name );    Получить свойство
Object->put_Name( Name );    Установить свойство
```


## RecalcType - Способ пересчета

Тип данных: из перечисления ksToleranceRecalcsEnum
Синтаксис Automation:
```
RecalcType = Object.RecalcType( Index );    Получить свойство (* )
Object.RecalcType( Index ) = RecalcType;    Установить свойство (* )
RecalcType = Object.GetRecalcType( Index );    Получить свойство (**)
Object.SetRecalcType( Index, RecalcType );    Установить свойство (* )
```
Синтаксис COM:
```
Object.get_RecalcType( Index, &RecalcType );    Получить свойство
Object.put_RecalcType( Index, RecalcType );    Установить свойство
Входные параметры:
VARIANT    Index - имя или индекс пересчета.
```


## RecalcUserType - Способ пользовательского пересчета для вставки

Тип данных: BSTR
Синтаксис Automation:
```
RecalcUserType = Object.RecalcUserType( Index );    Получить свойство (* )
Object.RecalcUserType( Index ) = RecalcUserType;    Установить свойство (* )
RecalcUserType = Object.GetRecalcUserType( Index );    Получить свойство (**)
Object.SetRecalcUserType( Index, RecalcUserType );    Установить свойство (* )
```
Синтаксис COM:
```
Object.get_RecalcUserType( Index, &RecalcUserType );    Получить свойство
Object.put_RecalcUserType( Index, RecalcUserType );    Установить свойство
Входные параметры:
VARIANT    Index - имя или индекс пересчета.
```


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

Менеджер класса допуска.
Иерархия:
IDispatch
IQualityManager
Примечание:
Интерфейс является дополнительным для IApplication.
КOMPAS v24


## GetQualityContensParam - Получить параметры отклонений по имени допуска

Синтаксис Automation:
```
VARIANT GetQualityContensParam( BSTR QualityName, double DimValueFilter, BOOL Display, ksQualitySystemEnum * QualSystem, ksQualityTypeEnum * QualityType );
```
Синтаксис COM:
```
HRESULT GetQualityContensParam( BSTR QualityName, double DimValueFilter, BOOL Display, ksQualitySystemEnum * QualSystem, ksQualityTypeEnum * QualityType, VARIANT * Result );
Возвращаемое значение:
- массив значений интервала размеров (минимальное и максимальное) и отклонений (минимальное и максимальное).
Входные параметры:
QualityName    - название класса допуска,
DimValueFilter    - значение размера для фильтрации,
Display    - использовать единицы измерения текущего документа (true - единицы измерения текущего документа, false - в мм).
Выходные параметры:
QualSystem    - система класса допуска (вал или отверстие) из перечисления ksQualitySystemEnum,
QualityType    - тип класса допуска из перечисления ksQualityTypeEnum.
```


## GetQualityContensParamByIndex - Получить параметры отклонений по индексу

Синтаксис Automation:
```
VARIANT GetQualityContensParamByIndex( long Index, BSTR * QualityName, ksQualitySystemEnum QualSystem, BOOL WithLimitation, BOOL Display, ksQualityTypeEnum * QualityType );
```
Синтаксис COM:
```
HRESULT GetQualityContensParamByIndex( long Index, BSTR * QualityName, ksQualitySystemEnum QualSystem, BOOL WithLimitation, BOOL Display, ksQualityTypeEnum * QualityType, VARIANT * Result );
Возвращаемое значение:
- массив значений интервала размеров (минимальное и максимальное) и отклонений (минимальное и максимальное).
Входные параметры:
Index    - - индекс таблицы классов допуска с учетом ограничений,
WithLimitation    - признак учета ограничений, наложенных в системе для классов допуска,
Display    - использовать единицы измерения текущего документа (true - единицы измерения текущего документа, false - в мм).
Выходные параметры:
QualityName    - название класса допуска,
QualSystem    - система класса допуска (вал или отверстие) из перечисления ksQualitySystemEnum,
QualityType    - тип класса допуска из перечисления ksQualityTypeEnum.
```


## GetQualityDefects - Получить отклонения

Синтаксис Automation:
```
BOOL GetQualityDefects( BSTR QualityName, double DimValue, BOOL Display, double * MaxDeviation, double * MinDeviation );
```
Синтаксис COM:
```
HRESULT GetQualityDefects( BSTR QualityName, double DimValue, BOOL Display, double * MaxDeviation, double * MinDeviation, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
QualityName    - название класса допуска,
DimValue    - значение размера,
Display    - использовать единицы измерения текущего документа (true - единицы измерения текущего документа, false - в мм).
Выходные параметры:
MaxDeviation    - верхнее отклонение,
MinDeviation    - нижнее отклонение.
```


## GetQualityNames - Получить список полей допусков

Синтаксис Automation:
```
VARIANT GetQualityNames( double DimValue, double MaxDeviation, double MinDeviation, ksQualitySystemEnum QualSystem, BOOL WithLimitation );
```
Синтаксис COM:
```
HRESULT GetQualityNames( double DimValue, double MaxDeviation, double MinDeviation, ksQualitySystemEnum QualSystem, BOOL WithLimitation, VARIANT * Result );
Возвращаемое значение:
- список названий классов допуска.
Входные параметры:
DimValue    - значение размера,
MaxDeviation    - верхнее отклонение,
MinDeviation    - нижнее отклонение,
QualSystem    - система класса допуска (вал или отверстие) из перечисления ksQualitySystemEnum,
WithLimitation    - признак учета ограничений, наложенных в системе для классов допуска.
```


## QualityCount - Количество классов допуска

Тип данных: long
Синтаксис Automation:
```
QualityCount = Object.QualityCount( QualSystem, WithLimitation )    Получить свойство (* )
QualityCount = Object.GetQualityCount( QualSystem, WithLimitation )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_QualityCount( QualSystem, WithLimitation, &QualityCount )    Получить свойство
Входные параметры:
QualSystem    - система класса допуска (вал или отверстие) из перечисления ksQualitySystemEnum,
WithLimitation    - признак учета ограничений, наложенных в системе для классов допуска.
```
Примечание:
Свойство доступно только для чтения.
