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>
3.8 KiB
title, type, api, tags, sources
| title | type | api | tags | sources | |||||
|---|---|---|---|---|---|---|---|---|---|
| ksOpenMacro - Открыть макроэлемент для редактирования | guide |
|
|
|
*API экспортных функций > Функции работы с графическим документом > Создание графических объектов > Работа с макроэлементами и библиотечными макроэлементами > Функции работы с макроэлементами и библиотечными макроэлементами *
ksOpenMacro - Открыть макроэлемент для редактирования
Пример... Аналог данной функции при использовании Automation - метод ksDocument2D::ksOpenMacro. Синтаксис:
int ksOpenMacro(reference macro);
Входной параметр:
macro - указатель на макроэлемент.
Возвращаемое значение:
1 - в случае успешного завершения,
0 - в случае неудачи.
Примечание:
- После вызова функции можно добавлять в macro новые объекты вида, использовать функцию FindObj; режим закрывается функцией EndObj();
- Открыт доступ к внутренним объектам макроэлементов. Теперь при создании макроэлемента или при добавлении к макроэлементу новых объектов вида, на внутренние объекты выдается указатель (reference), как и на самостоятельные объекты вида. Пример....
- Допускается вводить пустой макроэлемент. Пустой макроэлемент является вырожденным объектом. Он живет только в период редактирования документа. После записи документа, в котором находился пустой макро, этот макро будет удален. Макроэлемент считается нормальным, если в нем находится хотя бы один внутренний объект. Пример…
- Функции работы с указателями на объекты допускают работу с внутренними объектами макроэлемента. К ним относятся: – 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();