В API есть возможность запустить почти любую команду компаса. А можно запустить команду с параметрами? Например запустить линейный размер где уже будет введен определенный текст под размером, или выбрано что этот размер будет вертикальным.
Можно, но придётся внедриться в процесс.
Цитата: magicalblade от 09.03.24, 17:28:50В API есть возможность запустить почти любую команду компаса. А можно запустить команду с параметрами?
Нельзя.
Цитата: UU от 09.03.24, 17:44:17Можно, но придётся внедриться в процесс.
Подскажите каким образом?
Слишком долго объяснять, разберитесь с данными интерфейсами:
- IProcessParam
- IProcess
- IProcess2D
- IProcess3D
PS. Понятно подтянутся и ещё несколько интерфейсов.
Цитата: UU от 11.03.24, 19:34:20Слишком долго объяснять, разберитесь с данными интерфейсами:
- IProcessParam
- IProcess
- IProcess2D
- IProcess3D
PS. Понятно подтянутся и ещё несколько интерфейсов.
IProcess и IProcess2D получаются с помощью IKompasDocument2D1::LibProcess и при этом получаю объект для создания своего процесса, а не объект процесса запущенной команды компас. Что я делаю не так?
Указать тип процесса.
https://help.ascon.ru/KOMPAS_SDK/22/ru-RU/processtypeenum.html
Цитата: 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