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

3.8 KiB
Raw Blame History

title, type, api, tags, sources
title type api tags sources
ksOpenMacro - Открыть макроэлемент для редактирования guide
api7
guide
api7
ksopenmacro
ksopenmacro.html

*API экспортных функций > Функции работы с графическим документом  > Создание графических объектов  > Работа с макроэлементами и библиотечными макроэлементами  > Функции работы с макроэлементами и библиотечными макроэлементами *

ksOpenMacro - Открыть макроэлемент для редактирования

Пример... Аналог данной функции при использовании Automation - метод ksDocument2D::ksOpenMacro. Синтаксис:

int ksOpenMacro(reference macro);
Входной параметр:
macro    - указатель на макроэлемент.
Возвращаемое значение:
1    - в случае успешного завершения,
0    - в случае неудачи.

Примечание:

  1. После вызова функции можно добавлять в macro новые объекты вида, использовать функцию FindObj; режим закрывается функцией EndObj();
  2. Открыт доступ к внутренним объектам макроэлементов. Теперь при создании макроэлемента или при добавлении к макроэлементу новых объектов вида, на внутренние объекты выдается указатель (reference), как и на самостоятельные объекты вида. Пример....
  3. Допускается вводить пустой макроэлемент. Пустой макроэлемент является вырожденным объектом. Он живет только в период редактирования документа. После записи документа, в котором находился пустой макро, этот макро будет удален. Макроэлемент считается нормальным, если в нем находится хотя бы один внутренний объект. Пример…
  4. Функции работы с указателями на объекты допускают работу с внутренними объектами макроэлемента. К ним относятся: CopyObj DecomposeObj DeleteObj GetObjGabaritRect GetObjParam ksEditViewObject LightObj MoveObj RotateObj SetObjParam SymmetryObj TransformObj

ksOpenMacro - пример использования

Macro (0); LineSeg(50,100, 100, 150, 1); reference p = EndObj(); Message("Создан макроэлемент"); ksOpenMacro (p); Macro (0); reference cir = Circle(50, 50, 20, 1); reference p1 = EndObj(); EndObj(); Message("Макроэлемент отредактирован");

ksOpenMacro - пример использования

//самостоятельный объект вида reference l = LineSeg(10, 10, 20, 20, 1); Macro(0); //внутренний объект макроэлемента reference l1 = LineSeg(50,100, 100, 150, 1); reference p = EndObj(); ksOpenMacro (p); //внутренний объет макроэлемента Macro(0); reference cir = Circle(50, 50, 20, 1); reference p1 = EndObj(); EndObj();

ksOpenMacro - пример использования

Macro(0); reference p = EndObj(); ksOpenMacro (p); //внутренний объет макроэлемента Macro(0); reference cir = Circle(50, 50, 20, 1); reference p1 = EndObj(); EndObj();