e1337e4016
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>
264 lines
26 KiB
Markdown
264 lines
26 KiB
Markdown
---
|
||
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
|