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>
14 KiB
title, type, api, domain, tags, sources
| title | type | api | domain | tags | sources | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Интерфейс IDrawingGroup | interface |
|
|
|
|
*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 ) Получить свойство
Примечание:
- Свойство позволяет получать признак того, что группа является текущей.
- Свойство доступно только для чтения.
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 ) Получить свойство
Примечание:
- Свойство позволяет получать массив объектов, входящих в группу. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.
- Свойство доступно только для чтения.
ObjectsCount - Количество объектов в группе
Тип данных: long Синтаксис Automation:
ObjectsCount = Object.ObjectsCount Получить свойство(* )
ObjectsCount = Object.GetObjectsCount() Получить свойство (**)
Синтаксис COM:
Object.get_ObjectsCount( &ObjectsCount ) Получить свойство
Примечание:
- Свойство позволяет получать количество объектов в группе.
- Свойство доступно только для чтения.
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 - в случае неудачи.
Примечание: Метод позволяет скопировать объекты из группы в клип.