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>
2.3 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| ksDrawKompasGroup - Отрисовать группу в виде слайда в окне | guide |
|
|
|
*API экспортных функций > Функции работы с прикладной библиотекой > Функции вывода на экран *
ksDrawKompasGroup - Отрисовать группу в виде слайда в окне
Пример... Аналог данной функции при использовании Automation - метод ksDocument2D::ksDrawKompasGroup. Синтаксис:
int ksDrawKompasGroup ( void * HWindow, reference gr );
Входные параметры:
HWindow - дескриптор окна,
gr - указатель на группу.
Описание: Функция выполняет отрисовку указанной группы в виде слайда в присланном окне.
ksDrawKompasGroup - пример использования
//текущим документом должен быть графический документ if ( ksGetCurrentDocument( 1 ) ) { TWindow *st = new TWindow ( GetWindowPtr( ( HWND )GetHWindow( ) ), 0 ); st->Attr.X =300; st->Attr.Y =30; st->Attr.W =170; st->Attr.H =160; st->Create( ); //создали окно, в котором хотим отрисовать группу //создаем группу с изображением прямоугольника reference gr = NewGroup( 1 ); Mtr( 20, 15, 45, 1 ); LineSeg( -10, 0, 10, 0, 1 ); LineSeg( 10, 0, 10, 20, 1 ); LineSeg( 10, 20, -10, 20, 1 ); LineSeg( -10, 20, -10, 0, 1 ); DeleteMtr( ); EndGroup( ); //отрисовываем группу в окне st ksDrawKompasGroup ( ( void * )st->HWindow, // несущее окно gr ); //группа //для красоты рисуем рамочку по периметру окна TClientDC dc(*st ); HPEN hPen = ( HPEN ) ::SelectObject( dc, ::CreatePen( PS_SOLID,2,RGB( 0,0,255 ) ) ); dc.MoveTo( 0, 0 ); dc.LineTo( 170, 0 ); dc.LineTo( 170, 160 ); dc.LineTo( 0, 160 ); dc.LineTo( 0, 0 ); ::DeleteObject( ::SelectObject( dc, hPen ) ); Message( "смотри" ); delete st; } else Error ( "Графический документ не активен" );