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

443 lines
14 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: "Интерфейс IDrawingGroup"
type: interface
api: [api7]
domain: [2d, drawing]
tags: [interface, api7, 2d, drawing, idrawinggroup]
sources:
- 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 - в случае неудачи.
```
Примечание:
Метод позволяет скопировать объекты из группы в клип.