Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/new.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

264 lines
26 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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