Files
kompas3d-mcp/docs/Kompas3D_SDK/interfaces/idrawinggroup.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

14 KiB
Raw Blame History

title, type, api, domain, tags, sources
title type api domain tags sources
Интерфейс IDrawingGroup interface
api7
2d
drawing
interface
api7
2d
drawing
idrawinggroup
idrawinggroup.html

*API интерфейсов. Версия 7 > Документ 2D  > Группы *

Интерфейс IDrawingGroup

Интерфейс группы (постоянной, временной, именованной). Иерархия: IDispatch IKompasAPIObject IDrawingGroup Описание: Интерфейс позволяет задавать параметры группы (постоянной, временной или именованной). Примечание: Интерфейс можно получить у коллекции групп, используя свойство IDrawingGroups::Item или метод IDrawingGroups::Add или у дополнительного интерфейса документа 2D с помощью свойства IKompasDocument2D1::CurrentGroup.

AddObjects - Добавить объекты в группу

Синтаксис Automation:

BOOL AddObjects( VARIANT Objects );

Синтаксис COM:

HRESULT AddObjects( VARIANT Objects,
BOOL * Result );
Входные параметры:
Objects    - объект или массив объектов для добавления в группу ( VARIANT типа VT_DISPATCH или VT_ARRAY    VT_DISPATCH).
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: Метод позволяет добавить объекты в группу.

AddRegion - Добавить объекты в группу рамкой

Синтаксис Automation:

BOOL AddRegion( long RegionType,
double XMin,
double YMin,
double XMax,
double YMax );

Синтаксис COM:

HRESULT AddRegion( ksRegionTypeEnum RegionType,
double XMin,
double YMin,
double XMax,
double YMax,
BOOL * Result );
Входные параметры:
RegionType    - тип рамки из перечисления ksRegionTypeEnum,
XMin, YMin    - координаты нижнего левого угла рамки,
XMax, YMax    - координаты верхнего правого угла рамки.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: Метод позволяет добавить объекты в группу рамкой.

Clear - Очистить группу

Синтаксис Automation:

BOOL Clear( BOOL DeleteTmp );

Синтаксис COM:

HRESULT Clear( BOOL DeleteTmp,
BOOL * Result );
Входные параметры:
DeleteTmp    - удалять ли временные объекты.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: Метод позволяет удалить все объекты из группы.

Close - Закрыть группу

Синтаксис Automation:

BOOL Close();

Синтаксис COM:

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

Примечание: Метод позволяет закрыть отредактированную группу.

CopyToDocument - Копировать группу

Синтаксис Automation:

LPDISPATCH CopyToDocument( IKompasDocument2D * OtherDocument );

Синтаксис COM:

HRESULT CopyToDocument( IKompasDocument2D * OtherDocument, IDrawingGroup * * Result );
Возвращаемое значение:
- Группа созданных объектов IDrawingGroup.
Входные параметры:
OtherDocument    - Указатель на другой документ, куда копируется группа IKompasDocument2D.
КOMPAS v24

Current - Текущая группа

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

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

Синтаксис COM:

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

Примечание:

  1. Свойство позволяет получать признак того, что группа является текущей.
  2. Свойство доступно только для чтения.

Delete - Удалить группу

Синтаксис Automation:

BOOL Delete();

Синтаксис COM:

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

Примечание: Метод позволяет удалить группу.

DetachObjects - Исключить объекты из группы

Синтаксис Automation:

BOOL DetachObjects( VARIANT Objects,
BOOL DeleteTmp );

Синтаксис COM:

HRESULT DetachObjects( VARIANT Objects,
BOOL DeleteTmp,
BOOL * Result );
Входные параметры:
Objects    - объект или массив объектов для удаления из группы( VARIANT типа VT_DISPATCH или VT_ARRAY    VT_DISPATCH ),
DeleteTmp    - удалять ли временные объекты.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: Метод позволяет исключить объекты из группы.

Draw - Отрисовать в окне

Синтаксис Automation:

BOOL Draw( OLE_HANDLE HWnd );

Синтаксис COM:

HRESULT Draw( OLE_HANDLE HWnd,
BOOL * Result );
Входные параметры:
HWnd    - дескриптор окна.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

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

ExistObject - Проверить, есть ли объект в группе

Синтаксис Automation:

BOOL ExistObject( LPDISPATCH Object );

Синтаксис COM:

HRESULT ExistObject( IDrawingObject * Object,
BOOL * Result );
Входные параметры:
Object    - объект, наличие которого в группе надо проверить.
Возвращаемое значение:
TRUE    - объект есть в группе,
FALSE    - объекта нет в группе.

Примечание: Метод позволяет определить, есть ли в группе заданный объект.

GetGabarit - Габарит объектов группы

Синтаксис Automation:

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

Синтаксис COM:

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

Name - Имя именованной группы

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

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

Синтаксис COM:

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

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

Objects - Получить массив объектов SAFEARRAY|VT_DISPATCH

Тип данных: VARIANT типа VT_ARRAY | VT_DISPATCH Синтаксис Automation:

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

Синтаксис COM:

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

Примечание:

  1. Свойство позволяет получать массив объектов, входящих в группу. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
  2. Свойство доступно только для чтения.

ObjectsCount - Количество объектов в группе

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

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

Синтаксис COM:

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

Примечание:

  1. Свойство позволяет получать количество объектов в группе.
  2. Свойство доступно только для чтения.

Open - Открыть группу

Синтаксис Automation:

BOOL Open();

Синтаксис COM:

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

Примечание: Метод позволяет открыть группу для редактирования.

ReadFragment - Добавить объекты в группу из фрагмента

Синтаксис Automation:

BOOL ReadFragment( BSTR FileName,
BOOL CurentLayer,
double XBase,
double YBase,
double Scale,
double Angle,
BOOL ScaleProjLinesSize );

Синтаксис COM:

HRESULT ReadFragment( BSTR FileName,
BOOL CurentLayer,
double XBase,
double YBase,
double Scale,
double Angle,
BOOL ScaleProjLinesSize,
BOOL * Result );
Входные параметры:
FileName    - имя файла фрагмента,
CurentLayer    - тип размещения по слоям FALSE - на свои слои, TRUE - в текущий слой,
XBase, YBase    - координаты базовой точки в СК вида,
Scale    - масштаб,
Angle    - угол поворота в СК вида,
ScaleProjLinesSize    - масштабировать ли проекционные линии.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: Метод позволяет добавить объекты в группу из фрагмента.

ReadFromClip - Считать объекты из клипа

Синтаксис Automation:

BOOL ReadFromClip( BOOL AttrCopy,
BOOL SpcObjCopy );

Синтаксис COM:

HRESULT ReadFromClip( BOOL AttrCopy,
BOOL SpcObjCopy,
BOOL * Result );
Входные параметры:
AttrCopy    - копировать ли атрибуты,
SpcObjCopy    - копировать ли объекты спецификации.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: Метод позволяет считать объекты из клипа в группу.

Store - Вставить временную группу в документ

Синтаксис Automation:

BOOL Store();

Синтаксис COM:

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

Примечание: Метод позволяет вставить временную группу в документ.

WriteFragment - Записать в фрагмент

Синтаксис Automation:

BOOL WriteFragment( BSTR FileName,
BSTR Comment,
double XBase,
double YBase );

Синтаксис COM:

HRESULT WriteFragment( BSTR FileName,
BSTR Comment,
double XBase,
double YBase,
BOOL * Result );
Входные параметры:
FileName    - имя файла фрагмента,
Comment    - комментарий,
XBase, YBase    - координаты базовой точки в СК вида,
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: Метод позволяет записать группу в фрагмент.

WriteToClip - Записать объекты в клип

Синтаксис Automation:

BOOL WriteToClip( BOOL AttrCopy,
BOOL SpcObjCopy );

Синтаксис COM:

HRESULT WriteToClip( BOOL AttrCopy,
BOOL SpcObjCopy,
BOOL * Result );
Входные параметры:
AttrCopy    - копировать ли атрибуты,
SpcObjCopy    - копировать ли объекты спецификации.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.

Примечание: Метод позволяет скопировать объекты из группы в клип.