Форум пользователей ПО АСКОН

Профессиональные вопросы => Программирование приложений => Тема начата: magicalblade от 09.03.24, 17:28:50

Название: Запуск команд компас с параметрами
Отправлено: magicalblade от 09.03.24, 17:28:50
В API есть возможность запустить почти любую команду компаса. А можно запустить команду с параметрами? Например запустить линейный размер где уже будет введен определенный текст под размером, или выбрано что этот размер будет вертикальным.
Название: Re: Запуск команд компас с параметрами
Отправлено: UU от 09.03.24, 17:44:17
Можно, но придётся внедриться в процесс.
Название: Re: Запуск команд компас с параметрами
Отправлено: p3452 от 09.03.24, 18:31:50
Цитата: magicalblade от 09.03.24, 17:28:50В API есть возможность запустить почти любую команду компаса. А можно запустить команду с параметрами?
Нельзя.
Название: Re: Запуск команд компас с параметрами
Отправлено: magicalblade от 11.03.24, 19:28:27
Цитата: UU от 09.03.24, 17:44:17Можно, но придётся внедриться в процесс.
Подскажите каким образом?
Название: Re: Запуск команд компас с параметрами
Отправлено: UU от 11.03.24, 19:34:20
Слишком долго объяснять, разберитесь с данными интерфейсами:
 - IProcessParam
 - IProcess
 - IProcess2D
 - IProcess3D
PS. Понятно подтянутся и ещё несколько интерфейсов.
Название: Re: Запуск команд компас с параметрами
Отправлено: magicalblade от 15.03.24, 13:59:32
Цитата: UU от 11.03.24, 19:34:20Слишком долго объяснять, разберитесь с данными интерфейсами:
 - IProcessParam
 - IProcess
 - IProcess2D
 - IProcess3D
PS. Понятно подтянутся и ещё несколько интерфейсов.
IProcess и IProcess2D получаются с помощью IKompasDocument2D1::LibProcess и при этом получаю объект для создания своего процесса, а не объект процесса запущенной команды компас. Что я делаю не так?
Название: Re: Запуск команд компас с параметрами
Отправлено: UU от 16.03.24, 00:35:13
Указать тип процесса.
https://help.ascon.ru/KOMPAS_SDK/22/ru-RU/processtypeenum.html
Название: Re: Запуск команд компас с параметрами
Отправлено: magicalblade от 16.03.24, 10:43:17
Цитата: UU от 16.03.24, 00:35:13Указать тип процесса.
https://help.ascon.ru/KOMPAS_SDK/22/ru-RU/processtypeenum.html
Извиняюсь не указал что версия компаса 20 пишу на C#. Возможно проблема в версии хоть в SDK и написано что IKompasDocument2D1::LibProcess принимает перечисление ProcessType, но в среде разработке (Visual Studio) показывается что принимает только перечисление ksProcess2DTypeEnum в котором только два типа процесса ksProcess2DTypeEnum.ksProcess2DCursor и ksProcess2DTypeEnum.ksProcess2DPlacement. При попытке подсунуть ProcessTypeEnum  приведя его к ksProcess2DTypeEnum получаю процесс типа ksProcess2DTypeEnum.ksProcess2DPlacement. Возможно в более свежих версиях компаса и SDK это работает по другому  или что то не учел...

Процесс.JPG
ksProcess2DTypeEnum.JPG