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

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

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

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

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

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

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

Не обновляется коллекция линий-выносок ассоциативного вида (ILeaders)

Автор ТрындецЪ, 04.05.18, 16:20:36

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

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

ТрындецЪ

КОМПАС 16.1. Проблема только с ассоциативными видами. Число линий-выносок (ILeaders.Count) всегда показывается то, какое было на момент открытия документа. Может чего-то где-то обновить надо (кроме КОМПАСа)?
Цель: создать линию выноску командой КОМПАСа и получить её Reference, отыскав её, как последнюю, в коллекции всех линий-выносок активного вида.

Может, надо показать?
PS. С V16, уже, не работаю, т.к. он кандидат, после, 16.1, есть ...

ТрындецЪ



ТрындецЪ

Вот тут действия и реакция,
а ниже код на Python:
# -*- coding:  utf-8 -*-

import pythoncom, time
from win32com.client import Dispatch, gencache

KAPI = gencache.EnsureModule('{0422828C-F174-495E-AC5D-D31014DBBE87}', 0, 1, 0)
iKompasObject = KAPI.KompasObject(Dispatch('Kompas.Application.5')._oleobj_.QueryInterface(KAPI.KompasObject.CLSID, pythoncom.IID_IDispatch))
KAPI7 = gencache.EnsureModule('{69AC2981-37C0-4379-84FD-5DD2F3C0A520}', 0, 1, 0)
iApplication = KAPI7.IApplication(Dispatch('Kompas.Application.7')._oleobj_.QueryInterface(KAPI7.IApplication.CLSID, pythoncom.IID_IDispatch))

ksDocument2D = iKompasObject.ActiveDocument2D()
iDocument = iApplication.ActiveDocument
iDocument2D = KAPI7.IKompasDocument2D(iDocument)
iViewsAndLayersManager = iDocument2D.ViewsAndLayersManager
iViews = iViewsAndLayersManager.Views
iSymbols2DContainer = KAPI7.ISymbols2DContainer(iViews.ActiveView)
iLeaders = iSymbols2DContainer.Leaders

print u'Число линий-выносок: ', iLeaders.Count

iKompasObject.ksExecuteKompasCommand(10074, 1)
while iKompasObject.ksIsKompasCommandCheck(10074):
    time.sleep(0.1)

print u'Число линий-выносок: ', iLeaders.Count

У меня, всё нормально работает, Компас v18.
+ Благодарностей: 1