Повторить команду "Выделить/По стилю кривой"

Автор ТрындецЪ, 12.09.18, 11:53:02

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

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

ТрындецЪ

Как повторить программно команду "Выделить/По стилю кривой"?
Нужно выделить или собрать в группу все геометрические объекты в 2D, имеющие одинаковый стиль кривой.
Может есть какой-то специальный итератор для этого?
Из доступных моим познаниям способов, есть только способ перебора всех объектов  (Objects = iDrawingContainer.Objects( 0 )) с опросом у каждого его стиля кривой. Но выполнение этого алгоритма занимает много времени.


ТрындецЪ

Спасибо!
А если у меня это всё в скрытом режиме будет происходить, как мне стиль линии команде подсунуть?

Да наверно никак.
В скрытом режиме перебор должен летать.

ТрындецЪ

#4
Цитата: Sabahs от 12.09.18, 12:36:05
В скрытом режиме перебор должен летать.
Ну, это не про Python  :-)))

Upd: в скрытом режиме iApplication.ExecuteKompasCommand(35718, True) возвращает True. Видимо, вызов команды срабатывает. Может, всё-таки можно стиль линии как-то подсунуть?

333

Создаешь итератор по объектам вида
и у кривых спрашиваешь ksGetObjectStyle
+ Благодарностей: 1

Вират Лакх

Для видимого режима, чтобы после вызова диалогового окна ksCMSelectByCurveStyle выбрать основную линию и продолжить работу, нужно программно нажать Enter.
А перед этим убедиться, что окно компаса активно.

from win32gui import SetForegroundWindow
from win32com.client import Dispatch
...
SetForegroundWindow(KompasObject.ksGetHWindow())
KompasObject.ksExecuteKompasCommand(35718, True)
Dispatch("WScript.Shell").SendKeys('{ENTER}')