---
title: "Новые возможности в API КОМПАС-3D v24 по сравнению с предыдущими версиями КОМПАС"
type: guide
api: [api7]
domain: [3d]
tags: [guide, api7, 3d, new]
sources:
  - new_api.html
---


## Новые возможности в API КОМПАС-3D v24 по сравнению с предыдущими версиями КОМПАС

Новые интерфейсы...
Новые свойства...
Новые методы...
Новые события...
Новые структуры параметров, перечисления и константы...


## Новые интерфейсы в API КОМПАС-3D v24

IBlockByPoints - Интерфейс параллелепипеда по двум точкам и высоте
IBlockBySizes - Интерфейс параллелепипеда по точке и трем размерам
IChoiceModelParam - Интерфейс параметров выбора модели
IConeByAngle - Интерфейс конуса по центру основания, диаметрам и углу
IConeByArcs - Интерфейс конуса по двум дугам
IConeByHeight - Интерфейс конуса по центру основания, диаметрам и высоте
ICylinder - Интерфейс цилиндра
IDeleteHistoryParam - Интерфейс параметров удаления истории построения
IElementaryBody - Интерфейс элементарного тела
IElementaryBodies - Интерфейс коллекции элементарных тел
IInertiaProperties - Интерфейс плоских массо-центровочных характеристик
IInertiaPropertiesCalculateParam - Интерфейс параметров для расчёта плоских массо-центровочных характеристик
IInsertPartParameters - Интерфейс параметров добавления вставки модели в сборку
IMassInertiaProperties - Интерфейс объёмных массо-центровочных характеристик
IMassInertiaPropertiesCalculateParam - Интерфейс параметров для расчёта объёмных массо-центровочных характеристик
IMiddleSurface - Интерфейс средней поверхности
IMiddleSurfaces - Интерфейс коллекции средних поверхностей
IParametrizationParam7 - Интерфейс параметров параметризации
IPipeElement -  Интерфейс трубчатого элемента
IPipeElements - Интерфейс коллекции трубчатых элементов
IQualityManager - Менеджер класса допуска
ISphere - Интерфейс сферы
ISheetSpecification - Интерфейс спецификации или таблицы изменений на листе.
ISnapSettings - Интерфейс параметров привязок
ISymbolOrSpecSignDialogParam - Интерфейс параметров диалога "Символы и спецзнаки"
IWrappedCurve - Интерфейс свернутой или развернутой кривой
IWrappedCurves - Интерфейс коллекции свернутых и развернутых кривых


## Общие сведения о библиотеках типа Converter

Библиотеки типа Converter позволяют выполнять импорт и экспорт документов различных форматов.
В библиотеке должен быть реализован интерфейс конвертора IKompasConverter.
В библиотеке должны быть реализованы следующие функции.
•LIBRARYID - идентификатор для ресурсов библиотеки, который позволяет получить имя библиотеки и меню команд.
•LPKOMPASCONVERTER WINAPI GetIKompasConverter() - предопределенная функция, возвращающая интерфейс конвертора.
•void WINAPI LIBRARYENTRY (unsigned int comm) - точка входа для вызова команд.
Чтобы создать библиотеку, следует использовать функции оформления библиотек. Они обеспечивают стыковку системы КОМПАС и приложения.
После регистрации конвертора в реестре указанные расширения файлов появляются в диалогах сохранения (после вызова команды Файл - Сохранить как...) и открытия файлов. В диалоге сохранения файлов расширения файлов появятся в том случае, если для текущего типа файла задан номер команды для сохранения SaveCommandID. В диалоге открытия файлов фильтр будет содержать все расширения, для которых задан номер команды для открытия OpenCommandID.
Примечание. Номера команд для разных типов файлов могут совпадать.
IKompasConverter::Convert - для сохранения или открытия файла из диалога, как функция интерфейса.
При сохранении документа в качестве имени исходного файла передается пустая строка, а в качестве имени выходного файла передается имя, заданное пользователем в диалоге. Значение номера команды выбирается из реестра.
При открытии файла в качестве имени исходного файла передается имя, заданное пользователем в диалоге, а в качестве выходного файла передается пустая строка.
При вызове конвертора из прикладной библиотеки может приходить и входное, и выходное имя файла. Это означает, что нужно открыть нужный файл (можно в невидимом режиме), если он еще не открыт, и конвертировать его. После конвертации, если файл был открыт конвертором, он должен быть закрыт.
Пример файла реестра Windows для регистрации библиотеки (*.reg)...
Параметры библиотек типа Converter


## Новые методы в API КОМПАС-3D v24

IApplicationDialogs::ChoiceFolder - Создать диалог выбора каталога
IApplicationDialogs::ChoiceSymbolOrSpecSign - Диалог Символы и спецзнаки
IApplicationDialogs::ChoiceQuality - Диалог Выбор класса допуска
IApplicationDialogs::GetPredefinedText - Получение предопределенного текста из файла *.kle
IApplicationDialogs::EditTextLine - Редактировать форматированный текст
IApplicationDialogs::SelectColor - Выбор цвета
IApplicationDialogs::SheetSetup - Диалог 'Формат листа'
IAssociationView::Rebuild - Перестроить вид
IChoiceModelDialogParam::GetLoadCombinationComment - Получить комментарий типа загрузки документа
IChoiceModelDialogParam::GetLoadCombinationIndex - Получить индекс типа загрузки документа
IChoiceModelDialogParam::GetLoadCombinationName - Получить имя типа загрузки документа
IChoiceModelDialogParam::GetLoadCombinationState - Получить тип загрузки документа
ICut::InitCutObjects - Установить секущие объекты (эскизы и поверхности)
ICurve2D::GetNormalAngle - Получить угол нормали к кривой в заданной точке
ICurve2D::GetNormalAngleByT - Получить угол нормали к кривой в точке заданной параметром кривой T
ICurve2D::GetNurbsParamsEx - Получить параметры в NURBS-представлении
ICurve2D::TangentLineAngle - Расчет касательных к кривой под заданным углом
IDrawingDocument::RebuildViews - Перестроить вид или виды
IDrawingGroup::CopyToDocument - Копировать группу
IDrawingText::ConvertToCurves - Преобразовать текст в кривые
IFace::GetNormal - Получить нормаль грани
IFace::GetPoint - Получить точку на грани
IFace::NearPointProjection - Получить ближайшую проекцию точки на поверхность
IFace::GetDistanceToPoint - Функция возвращает расстояние между точкой и проекцией точки на грань
IFace::GetFaceParam - Получить параметры грани FaceU и FaceV по параметрам поверхности
IFace::GetSurfaceParam - Получить параметры поверхности SurfaceU и SurfaceV по параметрам грани
IInsertsLibrary::IsDocumentExist - Функция проверяет существование документа с именем в библиотеке документов
IKompasDocument1::GetTextLength - Определить длину текста
IKompasDocument2D1::CheckAssociation - Проверить и восстановить ассоциативность объектов
IKompasDocument2D1::CreateApproximationCurve - Аппроксимировать кривую дугами и отрезками с заданной точностью
IKompasDocument2D1::ParametrizeObjects - Установить параметрические ограничения на группу объектов
IKompasDocument2D1::KeepTemporaryObjects - Запрет удаления временных объектов после завершения выполнения команды библиотеки
IKompasDocument2D1::TrimCurve - Усечение кривой
IKompasDocument2D1::TrimCurveByParam - Усечение кривой по параметрам
IKompasDocument2D1::ViewGetObjectsArea - Получить группу графических объектов, определяющих область выделения, используя визуальный процесс
IKompasDocument3D1::DeleteHistoryWithParam - Удалить историю построения
IKompasDocument3D1::DeleteRollbackedObjects - Удалить объекты под указателем в дереве
IKompasDocument3D1::ExcludeFeaturesAfter -  Включить/Исключить из расчета объекты в дереве ниже заданного
IKompasDocument3D1::PlaceFeaturesInto - Переместить объект дерева внутрь другого объекта дерева
IKompasDocument3D1::PlaceFeaturesAfter - Переместить объект дерева после другого объекта дерева
IKompasDocument3D1::ResetEditObject - Сбросить редактируемый объект
ILayer::GetLayerObjects - Объекты слоя
ILayer3D::GetLayerObjects - Объекты слоя
ILibraryManager::IsDocumentExistInLibrary - Функция проверяет существование документа с именем в библиотеке документов
ILibraryManager::GetConverterPath - Получить путь к библиотеке конвертера по имени
ILibraryManager::GetPredefinedTextLibraryPath - Получить путь к библиотеке предопределенных текстов *.kle
ILocalCoordinateSystem::TransformPointFromLocalCS - Перевод координат точки, присланной СК, в текущую систему координат
ILocalCoordinateSystem::TransformPointsFromLocalCS - Перевод координат точек, присланных СК, в текущую систему координат
ILocalCoordinateSystem::TransformPointToLocalCS - Перевод координат точки из текущей системы координат в присланную СК
ILocalCoordinateSystem::TransformPointsToLocalCS - Перевод координат точек из текущей системы координат в присланную СК
IMath2D::Calculate - Вычислить выражение
IMath2D::CalculateReset - Очистить результаты вычислений и переменные калькулятора
IMath2D::IsEqualPointsWithEpsilon - Определить эквивалентность двух точек с заданной точностью
IMath2D::LineAngle - Угол линии по двум точками
IMath2D::PointsDistance - Расстояние между двумя точками
IMath2D::IsEqualPoints - Определить эквивалентность двух точек
IMath2D::CalculateMassInertiaProperties - Функция возвращает объемные массо-центровочные характеристики
IMath2D::CalculateInertiaProperties - Функция возвращает плоские массо-центровочные характеристики
IMathCurve3D::GetDistanceToPoint - Функция возвращает расстояние между точкой и проекцией точки на грань
IMathSurface3D::GetDistanceToPoint - Функция возвращает расстояние между точкой и проекцией точки на грань
IMateConstraints3D::DeleteTemporaryMateConstraints - Удалить временные сопряжения
IModelObject1::GetDrawColor - Получить параметры цвета объекта с учетом настроек объекта и его владельцев
IPart7::GetObjectByName - Найти объект по имени
IPart7::SetSourceVariables - Установить значения переменных из источника
IParts7::AddFromFileWithParam - Добавляет существующий компонент из файла или из библиотеки моделей в документ и в коллекцию с заданными параметрами
IParts7::AddWithParam - Создать новую вставку в контексте сборки с заданными параметрами
IPlacement3D::GetEulerAngles - Получить направления углов Эйлера
IPlacement3D::SetEulerAngles - Установить направления углов Эйлера
IProcess2D::GetSnapPoint - Точка привязки
IRasters::CalcRasterScale - Рассчитать масштаб для вставки растра в прямоугольник заданных габаритов
IRasterConvertParameters::CalcRasterGabarits - Рассчитать габарит изображения
IRasterConvertParameters::CalcRasterScale - Рассчитать масштаб растра для получения заданных габаритов изображения
ISpecificationTuningSection::AddSortColumn - Добавить колонку в список сортируемых
ISpecificationTuningSection::SetSortColumn - Изменить параметры сортировки
ISpecificationTuningSection::DeleteSortColumn - Удалить колонку из списка сортируемых
ISpecificationTuningSection::ClearSortColumns - Очистить список сортируемых колонок
ISpecificationTuningSection::GetSortParameters - Параметры сортировки
ISystemSettings::GetChoiceModelParam - Получить дополнительные параметры выбора файла модели
IThreads::FindThread - Найти обозначение резьбы, созданной на грани
IText::InsertPredefinedText - Получение предопределенного текста из файла *.kle


## Новые свойства в API КОМПАС-3D v24

IApplication::ExtensionProgressBar - Интерфейс индикатора процесса
IAdditionalBlockTuning::DocumentMarking - Обозначение документа
IAssociationView::HatchParametersFromModel - Использовать параметры ассоциативной штриховки из модели
IAuxiliaryGeomContainer::WrappedCurves - Коллекция свернутых и развернутых кривых
IBodyReposition::RepositionObjects - Перемещаемые объекты (тела, поверхности, кривые, точки)
IChoiceModelDialogParam::EnableSelectLoadCombination - Разрешить выбор типов загрузки для сборок
IConicSurface::ApexCurve - Вершинная кривая
ICurve2D::Periodic - Периодичность кривой
ICut::CutObjects - Секущие объекты (эскизы и поверхности)
IDimensionText::Width - Ширина размерной надписи, мм
IDimensionText::Height - Высота размерной надписи, мм
IDocument2DSettings::SnapSettings - Параметры привязок
IDrawingObject1::LightObjectType - Способ подсветки объекта
IDrawingObject1::Style - Стиль линии, текста, штриховки, точки
IEdge::SameSense - Получить направление относительно кривой.TRUE - направления совпадают
IExtensionSurface::Simplify - Упрощение кромки
IExtensionSurface::SurfaceOperationResult - Результат операции
IExtensionSurface::Side - Сменить сторону. True - левая, False - правая
IExtensionSurface::SplitIntoFaces - Разбивать на грани
IFace::ParamUMin - Получить значение параметра U начальное
IFace::ParamUMax - Получить значение параметра U конечное
IFace::ParamVMin - Получить значение параметра V начальное
IFace::ParamVMax - Получить значение параметра V конечное
IFeature7::OrderNumber - Порядковый номер
IInsertsLibrary::IsPredefinedTextLibrary - Использовать библиотеку для вставки типовых текстов
IKompasDocument1::IsActiveProcessRunning - Проверить запущен ли в текущем графическом документе построительный процесс
IKompasDocument1::ObjectNameByType - Вернуть имя объекта по его типу
IKompasDocument2D1::TreeNeedRebuild - Необходимость перестроения дерева при изменении его состава
IKompasDocument2D1::TreeNeedUpdateItems - Необходимость обновления узлов дерева при изменении свойств и состояний объектов документа
IKompasDocument2D1::ParametricMode - Параметрический режим
IKompasDocument2D1::OrthogonalMode - Ортогональное черчение
IKompasDocument3D1::HideTexts - Скрыть / показать надписи
IKompasDocument3D1::HideTables - Скрыть / показать таблицы
IKompasDocument3D1::HideMeshes - Скрыть / показать полигональные объекты
ILoft::BuildingFactor - Коэффициент. Множитель величины производной при установке нормали
IMacroObject::UsePlacement - Использовать систему координат
IMassInertiaParam7::MassFromSource - Масса из источника
IModelsFamilyManager::ModelsFamilyTableProperties - Список свойств таблицы семейства моделей
IModelContainer::ElementaryBodies - Коллекция элементарных тел
IModelContainer::PipeElements - Коллекция трубчатых элементов
IPart7::ShowExternalVariables - Отображать внешние переменные
IPart7::UseSourceLayers - Признак размещения объектов на слоях. TRUE - на слоях-источниках, FALSE - на указанном слое
IPlane3DNormalToSurface::AutoBuilding - Автоопределение
IProcess2D::SnapType1 - Тип привязки на первом объекте
IProcess2D::SnapObject1 - Первый объект в привязках
IProcess2D::SnapType2 - Тип привязки на втором объекте
IProcess2D::SnapObject2 - Второй объект в привязках
IProductDataManager::ChildObjects - Список подчиненных объектов в исполнении
IPropertyGrid::MultiSelect - Разрешить множественный выбор строк сетки
IPropertyGrid::SelectedRows - Выбранные строки сетки
IPropertyGrid::IsRowSelected - Признак выбранной строки
IReportFilter::FilterOperatorType - Тип операторов сравнения
IRotated1::Profiles - Список сечений
IRough::Angle - Угол наклона оси значка шероховатости
ISketch::BuildingType - Способ построения
ISketch::Curves - Траектория
ISketch::OffsetType - Тип задания смещения
ISketch::Offset - Величина смещения
ISketch::Direction - Направление
ISpecificationDescription::SheetSpecification - Спецификация или таблица изменений на листе
ISpecificationDescriptions::IsSlaveActive - Активно ли окно редактирования описания спецификации
ISpecificationTuningSection::SortColumnCount - Количество колонок, участвующих в сортировке
ISystemSettings::PickCutSketchEdges - Редактор моделей: Выбирать кривые эскиза с учетом
пересечений
ISurfaceContainer::MiddleSurfaces - Коллекция средних поверхностей


## Новые структуры параметров, перечисления и константы в API КОМПАС-3D v24

Новые перечисления
ksBlockPositionTypeEnum - Тип привязки тела
ksCheckAssociationResultEnum - Результат проверки ассоциативности объектов
ksCheckObjectsTypeEnum - Тип проверяемых объектов
ksCheckStyleEnum - Стиль проверяемых объектов
ksCursorEnum - Стандартные системные курсоры
ksCurveTrimTypeEnum - Тип усечения кривой
ksFilterOperatorTypeEnum - Тип операторов сравнения фильтра
ksHotPointCursorEnum - Типы курсоров для характерных точек
ksLightObjectTypeEnum - Способ подсветки объекта
ksMessageButtonEnum - Кнопка, нажатая в окне сообщения
ksMessageButtonSetEnum - Набор кнопок, отображаемых в окне сообщения
ksMessageTypeEnum - Тип отображаемого сообщения
ksMiddleSurfaceDirectionEnum - Направление построения средней поверхности
ksQualitySystemEnum - Система квалитета
ksQualityTypeEnum - Типы квалитетов
ksPipeBuildingTypeEnum - Режим построения трубы
ksPipeWallDirectionEnum - Режим построения стенки трубы
ksSketchBuildingTypeEnum - Способ построения эскиза
ksSlaveActiveEnum - Признак режима редактирования объектов спецификации
ksShowExternalVariablesEnum - Отображение внешних переменных
ksSurfaceOperationResultEnum - Результат операции над поверхностями
ksTransformPartsTypeEnum - Способ преобразования вставок
Новые константы в перечислениях
ControlTypeEnum - Типы элементов управления Панели свойств
KompasAPIObjectTypeEnum - Типы объектов КОМПАС API
ksDocumentFrameNotifyEnum - События для окна документа: клавиатура, мышь, события по отрисовке документа
ksKompasCommandEnum - Команды меню и команды панели команд системы КОМПАС м
ksKompasObjectNotifyEnum - События приложения
ksNotifyType - Перечень интерфейсов событий
ksPropertyManagerNotifyEnum - События Панели свойств или процессных параметров
ksRequestFilesTypeEnum - Тип процесса, запрашивающего файл или список файлов
ksSaveDocumentVersionEnum - Версия сохранения файла
ksPropertyTreeNotifyEnum - События пользовательского элемента управления - Дерево
ksPart7CollectionTypeEnum – Тип коллекции компонентов
ksObjectsFilter3DEnum - Способ фильтрации 3D объектов
Obj3dType (ksObj3dTypeEnum) - Типы объектов документа-модели; соответствие интерфейсов API 5 и API 7
ProcessTypeEnum - Типы процессов КОМПАС API
