Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/kswritereadgroup.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

2.4 KiB

title, type, api, tags, sources
title type api tags sources
ksWriteGroupToClip, ksReadGroupFromClip - пример использования guide
api7
guide
api7
kswritereadgroup
kswritereadgroup_clip_example.html

//делаем активным документ 1.cdw OpenDocument("c:\1.cdw", 0); double x, y, x1,y1; RequestInfo info; memset(&info, 0, sizeof(info)); info.prompt = "Укажите начальную точку окна"; if (Cursor(&info, &x, &y, 0)) { info.prompt = "Укажите конечную точку окна"; Phantom phantom; // ltdefine.h memset(&phantom, 0, sizeof(phantom)); //Задаем тип резиноыой нити - прямоугольник и передаем в Cursor, чтобы ввести область выделения phantom.phType = 3; //прямоугольник phantom.type3.xBase = x; phantom.type3.yBase = y; if (Cursor(&info, &x1, &y1, &phantom)) { //создадим пустую рабочую группу reference gr = NewGroup(0); EndGroup(); //помещаем в группу геометрию, которая попала в область выделения if (SelectGroup(gr, 1, x, y, x1, y1)) { // группу выделения записываем в буфер обмена int rez = ksWriteGroupToClip(gr, // указатель на группу 1); // 1 - с копированием; 0 - с удалением из текущего документа if (rez) { //делаем активным другой документ, например 1.frw, куда нужно перенести геометрию из буфера обмена OpenDocument("d:\0\1.frw", 0); //обнулить структуру info; memset(&info, 0, sizeof(info)); memset(&phantom, 0, sizeof(phantom)); int j = 1; //группу считываем из буфера обмена phantom.type1.gr = ksReadGroupFromClip(); phantom.phType = 1; //сдвиг группы phantom.type1.scale = 1; //сдвиг группы while (j) { j = Cursor(&info, &x ,&y, &phantom); if ( j == -1) { MoveObj(phantom.type1.gr, x, y); //смещаем группу в новый цетр StoreTmpGroup(phantom.type1.gr); //временную группу делаем постоянной ClearGroup(phantom.type1.gr); DeleteObj(phantom.type1.gr); //группу считываем из буфера обмена phantom.type1.gr = ksReadGroupFromClip(); //временная группа } } } } } }