Как через API получить выделенный узел дерева построения Тела и Компоненты?

Автор Вират Лакх, 05.12.19, 10:37:30

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

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

Вират Лакх

Подскажите, как через API получить выделенный узел дерева построения Тела и Компоненты? А у него получить все тела или компоненты.
То есть, как определить, что выбраны все тела или все компоненты (см. картинку)?
ISelectionManager и IChooseManager вроде как не при делах.

IFeature7.ResultBodies - Массив тел (SAFEARRAY).
IPart7.Parts- Коллекция компонентов.
IPart7.PartsEx - Массив SAFEARRAY компонентов.

Вират Лакх

Это будет потом, а как определить, что выбрано "Тела" или "Компоненты"? Они же могут быть и не выбраны.
В зависимости от того, выбраны они таким образом или нет, будет разное продолжение программы.
И от чего получать этот IFeature7 ? У этих узлов есть свой IFeature7 ?

Для выделенных объектов ещё проще, ISelectionManager.SelectedObjects - Получить массив выделенных объектов в виде SAFEARRAY | VT_DISPATCH.

Вират Лакх

Так вот ISelectionManager.SelectedObjects говорит None, когда выбрано "Тела" или "Компоненты". Или "Системы координат", или всё остальное, которое заканчивается на ы.


По проверял, через API5 можно получить, что есть выделение, но тип объекта не определён и если смотреть на картинку, то тут я согласен, и считаю это ошибкой, либо недоработкой.
Error_Part.png