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>
18 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Интерфейс IBody7 | interface |
|
|
|
|
*API интерфейсов. Версия 7 > Документ 3D > Твердое тело *
Интерфейс IBody7
Интерфейс твердого тела. Иерархия: IDispatch IKompasAPIObject IBody7 IMassInertiaParam7 IPropertyKeeper Описание: Позволяет получить интерфейс твердого тела. Тело является результатом выполнения операций (например, операции выдавливания). Представляет собой область, ограниченную замкнутой поверхностью. Примечание:
- Интерфейс можно получить у интерфейса дерева с помощью метода IFeature7::ResultBodies.
- Интерфейс можно получить у интерфейса области применения для тел документа в операции с помощью метода IChooseBodies7::Bodies.
- Имеет дополнительные интерфейсы 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 ) Получить свойство
Примечание: Свойство доступно только для чтения.