Files
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

18 KiB

title, type, api, domain, tags, sources
title type api domain tags sources
Интерфейс IBody7 interface
api7
3d
interface
api7
3d
ibody7
ibody7.html

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

Интерфейс IBody7

Интерфейс твердого тела. Иерархия: IDispatch IKompasAPIObject IBody7 IMassInertiaParam7 IPropertyKeeper Описание: Позволяет получить интерфейс твердого тела. Тело является результатом выполнения операций (например, операции выдавливания). Представляет собой область, ограниченную замкнутой поверхностью. Примечание:

  1. Интерфейс можно получить у интерфейса дерева с помощью метода IFeature7::ResultBodies.
  2. Интерфейс можно получить у интерфейса области применения для тел документа в операции с помощью метода IChooseBodies7::Bodies.
  3. Имеет дополнительные интерфейсы IMassInertiaParam7, IColorParam7, IFeature7, IPropertyKeeper, которые можно получить с помощью метода IUnknown::QueryInterface.

BeginBodyId - Идентификатор начального тела

Тип данных: long Синтаксис Automation:

BeginBodyId = Object. BeginBodyId    Получить свойство (* )
BeginBodyId = Object.GetBeginBodyId()    Получить свойство (**)

Синтаксис COM:

Object.get_BeginBodyId( &BeginBodyId )    Получить свойство

Примечание: Свойство доступно только для чтения.

BodyId - Идентификатор тела

Тип данных: long Синтаксис Automation:

BodyId = Object. BodyId    Получить свойство (* )
BodyId = Object.GetBodyId()    Получить свойство (**)

Синтаксис COM:

Object.get_BodyId( &BodyId )    Получить свойство

Примечание: Свойство доступно только для чтения.

CheckIntersectionWithBody - Проверка наличия пересечений с другим телом

Синтаксис Automation:

VARIANT CheckIntersectionWithBody( IBody7 * OtherBody, BOOL checkTangent );

Синтаксис COM:

HRESULT CheckIntersectionWithBody( IBody7 * OtherBody, BOOL checkTangent, VARIANT * Result );
Возвращаемое значение:
- массив результатов пересечения из пересечения Intersection_Type.
Входные параметры:
OtherBody    - тело, с которым проверяется пересечение,
checkTangent    - считать касания пересечениями.
Версия Компас v23

CheckIntersectionWithBodyEx - Проверка наличия пересечений с другим телом

Синтаксис Automation:

BOOL CheckIntersectionWithBodyEx( IBody7 * OtherBody, VARIANT * IntersectionFaces1, VARIANT * IntersectionFaces2, VARIANT * ConnectedFaces1, VARIANT * ConnectedFaces2 );

Синтаксис COM:

HRESULT CheckIntersectionWithBodyEx( IBody7 * OtherBody, VARIANT * IntersectionFaces1, VARIANT * IntersectionFaces2, VARIANT * ConnectedFaces1, VARIANT * ConnectedFaces2, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
OtherBody    - второе тело.
Выходные параметры:
IntersectionFaces1    - пересекаемые грани первого тела,
IntersectionFaces2    - пересекаемые грани второго тела,
ConnectedFaces1    - совпадающие грани первого тела,
ConnectedFaces2    - совпадающие грани второго тела.

Примечание: Пересекаемые и совпадающие грани возвращаются в VARIANT-е следующим образом: •Если грань одна, то VARIANT заполняется как VT_DISPATH в автоматизации и VT_UNKNOVN в COM. •Если граней несколько, то VARIANT заполняется как массив SafeArray типа VT_ARRAY | VT_DISPATH в автоматизации и VT_ARRAY | VT_UNKNOVN в COM. Количество граней в массивах intersectionFaces1 и intersectionFaces2 совпадают и образуют пары, т.е. грань с индексом i из массива intersectionFaces1 пересекается с гранью i из массива intersectionFaces2. Одна и та же грань может встречаться в массиве несколько раз, если она пересекается с несколькими гранями. Так же заполняются и массивы connectedFaces1 и connectedFaces2. Версия Компас v23

CreateSpcObjects - Создавать объекты спецификации

Тип данных: BOOL Синтаксис Automation:

CreateSpcObjects = Object.CreateSpcObjects    Получить свойство (* )
Object.CreateSpcObjects = CreateSpcObjects    Установить свойство (* )
CreateSpcObjects = Object.GetCreateSpcObjects()    Получить свойство (**)
Object.SetCreateSpcObjects( CreateSpcObjects )    Установить свойство (**)

Синтаксис COM:

Object.get_CreateSpcObjects( &CreateSpcObjects )    Получить свойство
Object.put_CreateSpcObjects( CreateSpcObjects )    Установить свойство

CurveIntersection - Расчет пересечений c кривой

Синтаксис Automation:

BOOL CurveIntersection( IMathCurve3D * Curve, VARIANT * Faces, VARIANT * Points );

Синтаксис COM:

HRESULT CurveIntersection( IMathCurve3D * Curve, VARIANT * Faces, VARIANT * Points, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Curve    - Указатель на математическую кривую IMathCurve3D.
Выходные параметры:
Faces    - список граней, пересекаемых кривой VT_APPAY    VT_DISPATCH,
Points    - координаты точек пересечения VT_APPAY    VT_R8.
Версия Компас v23

Editable - Признак редактирования

Тип данных: из перечисления ksEditableStateEnum Синтаксис Automation:

Editable = Object.Editable    Получить свойство (* )
Object.Editable = Editable    Установить свойство (* )
Editable = Object.GetEditable()    Получить свойство (**)
Object.SetEditable( Editable )    Установить свойство (**)

Синтаксис COM:

Object.get_Editable( &Editable )    Получить свойство
Object.put_Editable( Editable )    Установить свойство

FinalBodyId - Идентификатор конечного тела

Тип данных: long Синтаксис Automation:

FinalBodyId = Object. FinalBodyId    Получить свойство (* )
FinalBodyId = Object.GetFinalBodyId()    Получить свойство (**)

Синтаксис COM:

Object.get_FinalBodyId( &FinalBodyId )    Получить свойство

Примечание: Свойство доступно только для чтения.

GetGabarit - Получить габарит

Синтаксис Automation:

BOOL GetGabarit( double * X1,
double * Y1,
double * Z1,
double * X2,
double * Y2,
double * Z2 );

Синтаксис COM:

HRESULT GetGabarit( double * X1,
double * Y1,
double * Z1,
double * X2,
double * Y2,
double * Z2
BOOL * Result );
Входные параметры:
X1, Y1, Z1, X2, Y2, Z2    - координаты габаритного прямоугольника.
Возвращаемое значение:
TRUE    - успешное завершение,
FALSE    - в случае неудачи.

Примечание: Метод позволяет установить габаритный прямоугольник Панели свойств. Точки задаются в относительных координатах окна КОМПАС.

HatchParam - Параметры штриховки

Тип данных: Указатель на интерфейс IHatchParam Синтаксис Automation:

HatchParam = Object.HatchParam    Получить свойство (* )
HatchParam = Object.GetHatchParam()    Получить свойство (**)

Синтаксис COM:

Object.get_HatchParam( &HatchParam )    Получить свойство
Свойство позволяет получать интерфейс параметров штриховки тела.

Примечание: Свойство доступно только для чтения.

Hidden - Состояние видимости объекта

Тип данных: BOOL Синтаксис Automation:

Hidden = Object.Hidden    Получить свойство (* )
Object.Hidden = Hidden    Установить свойство (* )
Hidden = Object.GetHidden()    Получить свойство (**)
Object.SetHidden( Hidden )    Установить свойство (**)

Синтаксис COM:

Object.get_Hidden( &Hidden )    Получить свойство
Object.put_Hidden( Hidden )    Установить свойство

Примечание: Свойство позволяет устанавливать и получать обозначение компонента.

HiddenEx - Состояние видимости объекта

Тип данных: из перечисления ksVisibleStateEnum Синтаксис Automation:

HiddenEx = Object.HiddenEx    Получить свойство (* )
Object.HiddenEx = HiddenEx    Установить свойство (* )
HiddenEx = Object.GetHiddenEx()    Получить свойство (**)
Object.SetHiddenEx( HiddenEx )    Установить свойство (**)

Синтаксис COM:

Object.get_HiddenEx( &HiddenEx )    Получить свойство
Object.put_HiddenEx( HiddenEx )    Установить свойство

IsSolid - Является ли тело твердым или оболочкой (TRUE - твердое тело, FALSE - оболочка)

Тип данных: BOOL Синтаксис Automation:

IsSolid = Object.IsSolid    Получить свойство (* )
IsSolid = Object.GetIsSolid()    Получить свойство (**)

Синтаксис COM:

Object.get_IsSolid( &IsSolid )    Получить свойство
Возвращаемое значение:
TRUE    - объект является твердым телом,
FALSE    - объект является поверхностью или оболочкой.

Примечание: Свойство доступно только для чтения. Версия Компас v23

LayerNumber - Номер слоя

Тип данных: long Синтаксис Automation:

LayerNumber = Object.LayerNumber    Получить свойство (* )
Object.LayerNumber = LayerNumber    Установить свойство (* )
LayerNumber = Object.GetLayerNumber()    Получить свойство (**)
Object.SetLayerNumber( LayerNumber )    Установить свойство (**)

Синтаксис COM:

Object.get_LayerNumber( &LayerNumber )    Получить свойство
Object.put_LayerNumber( LayerNumber )    Установить свойство

Marking - Обозначение компонента

Тип данных: строка Синтаксис Automation:

Marking = iObject.Marking    Получить свойство (* )
iObject.Marking = Marking    Установить свойство (* )
Marking = iObject.GetMarking()    Получить свойство (**)
iObject.SetMarking ( Marking)    Установить свойство (**)

Синтаксис COM:

iObject->get_Marking ( &Marking)    Получить свойство
iObject->put_Marking ( Marking)    Установить свойство

Примечание: Свойство позволяет устанавливать и получать обозначение компонента.

MultiBodyParts - Признак того, что компонент состоит из нескольких частей

Тип данных: BOOL Синтаксис Automation:

MultiBodyParts = Object.MultiBodyParts    Получить свойство (* )
MultiBodyParts = Object.GetMultiBodyParts()    Получить свойство (**)

Синтаксис COM:

Object.get_MultiBodyParts( &MultiBodyParts )    Получить свойство
Значения свойства:
TRUE    - компонент состоит из нескольких частей,
FALSE    - компонент не состоит из нескольких частей.

Примечание: 1.Свойство доступно только для чтения. 2.Свойство позволяет узнать состоит ли компонент их нескольких частей.  В результате работы свойства можно получить компонент (деталь), состоящую из нескольких частей. С точки зрения конструктора, деталь должна представлять нечто целое - частей быть не должно. Следовательно, нужно отыскать в компоненте операции, порождающие несколько частей, и выключить из расчета не нужные, чтобы образовалось целое тело. Версия Компас v23

Name - Имя тела

Тип данных: BSTR (строка) Синтаксис Automation:

Name = iObject.Name    Получить свойство (* )
iObject.Name = Name    Установить свойство (* )
Name = iObject.GetName()    Получить свойство (**)
iObject.SetName (Name)    Установить свойство (**)

Синтаксис COM:

iObject->get_Name (&Name)    Получить свойство
iObject->put_Name (Name)    Установить свойство

Примечание: Свойство позволяет устанавливать и получать имя трехмерной модели.

OwnerBodyId - Идентификатор тела, которое поглотило это тело

Тип данных: long Синтаксис Automation:

OwnerBodyId = Object. OwnerBodyId    Получить свойство (* )
OwnerBodyId = Object.GetOwnerBodyId()    Получить свойство (**)

Синтаксис COM:

Object.get_OwnerBodyId( &OwnerBodyId )    Получить свойство

Примечание: Свойство доступно только для чтения.

Projected - Признак проецирования

Тип данных: из перечисления ksProjectionOptionEnum Синтаксис Automation:

Projected = Object.Projected    Получить свойство (* )
Object.Projected = Projected    Установить свойство (* )
Projected = Object.GetProjected()    Получить свойство (**)
Object.SetProjected( Projected )    Установить свойство (**)

Синтаксис COM:

Object.get_Projected( &Projected )    Получить свойство
Object.put_Projected( Projected )    Установить свойство

Threads - Коллекция условных обозначений резьбы

Тип данных: Указатель на интерфейс IThreads Синтаксис Automation:

Threads = Object.Threads    Получить свойство(* )
Threads = Object.GetThreads()    Получить свойство (**)

Синтаксис COM:

Object.get_Threads( &Threads )    Получить свойство

Update - Изменить свойства объекта

Синтаксис Automation:

BOOL Update( );

Синтаксис COM:

HRESULT Update ( VARIANT_BOOL* PVal );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: После вызова метода вступают в силу измененные свойства тела: имя, обозначение, свойства массово-центровочных характеристик.

UserParameters - Получить интерфейс параметров

Тип данных: Указатель на интерфейс IUnknown Синтаксис Automation:

UserParameters = Object.UserParameters( Val )    Получить свойство(* )
UserParameters = Object.GetUserParameters( Val )    Получить свойство (**)

Синтаксис COM:

Object.get_UserParameters( Val, &UserParameters )    Получить свойство

Примечание: Свойство доступно только для чтения.