Существует ли аналог метода ksDestroyObjects на API7?

Автор p3452, 14.02.22, 22:56:23

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

p3452

Разрушение сложного объекта на составные элементы:
// ksDocument2D ksDoc2D;    // API5
// IDrawingObject iDrawingObject;   // API7
if (iDrawingObject != null && ksDoc2D != null)
// Разрушить объект заданный Reference
if (ksDoc2D.ksDestroyObjects(iDrawingObject.Reference) == 0)
iDrawingObject.Update();
- мешанина из интерфейсов...

В связи с этим вопрос:
Существует ли аналог метода ksDestroyObjects (или самого действия) на API7?
+ Благодарностей: 1

Михаил88


Если пишется библиотека dll(rtw), то можно использовать API экспортных функций ksDestroyObjects.
На API7 можно попробовать IApplication.ExecuteKompasCommand, но код будет длиннее.
+ Благодарностей: 2

Михаил88

# Разрушить макроэлемент
application.ExecuteKompasCommand(kompas6_constants.ksCMDestroyMacro, False)

Тоже думал сделать через ExecuteKompasCommand, но с первого раза не увидел нужную команду. После Вашего сообщения еще раз решил внимательно просмотреть команды и нашел. Спасибо.
+ Благодарностей: 1

p3452

Вот, уж...! :o: 
Сам бы, ни за что не догадался, что Ассоциативная таблица Отчета подпадает под определения "Макро объект"!? :o
Однако - работает (на выделенном объекте):
iDrawingObject.Application.ExecuteKompasCommand((int)ksKompasCommandEnum.ksCMDestroyMacro, false);