• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Ускорение времени удаления компонентов сборки API7

Автор Lito 2, 16.01.15, 10:29:47

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

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

Lito 2

Добрый день.
При наличии массива sPartsEx := Spart.PartsEx[ksAllParts];
и использовании IFeature7.Delete в невидимом документе.
При каждом удалении в цикле происходит перестроении модели, что приводит к длительности операции у большого кол. компонентов (порядка 500 шт.).
Как можно ускорить удаление компонентов из состава сборки?


Использовать свойства:
ksDocument3D.treeNeedRebuild  - запретить пе­перестраивать дерево
и
ksPart.needRebuild - запретить перестроения объектов при изменении их свойств.

Slaviation

Глянь ksPart::needRebuild, ksDocument3D::treeNeedRebuild, windowNeedRebuild


Lito 2

Эти свойства в SDK я видел, но пока не использовал и прирост производительности не проверял.

Может быть можно как-то получить коллекцию компонентов и сразу ее удалить, а не каждый элемент по отдельности.

Через ISelectionManager - интерфейс менеджера выделенных объектов, выделить удаляемые компоненты и вызвать IApplication.ExecuteKompasCommand выполнив команду ksCMEditClear.

Lito 2

А разве команда  ksCMEditClear доступна при слепом режиме?