Форум пользователей ПО АСКОН

Профессиональные вопросы => Программирование приложений => Python и КОМПАС-Макро => Тема начата: trimaran от 15.08.24, 16:06:57

Название: Получить значение атрибута
Отправлено: trimaran от 15.08.24, 16:06:57
Добрый день.
Подскажите, пожалуйста, как правильно получить значения атрибутов у объекта в компасе (у отрезка, сплайна и т.д., или у самого документа)
Свойство Attributes через дополнительного интерфейса iKompasDocument1 я разобрался как получить.
Он возвращает, как написано в SDK, массив атрибутов документа в виде массива SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH.
Но как из этого массива получить само значение атрибута?
Понимаю, что его необходимо преобразовать каким то образом.
Название: Re: Получить значение атрибута
Отправлено: msvteh от 15.08.24, 23:25:10
    Attributes_kompas_document_1 = kompas_document_1.Attributes( 0,0,0,0,0,Object)
    if Attributes_kompas_document_1:
        for iattr in Attributes_kompas_document_1:
            # получили указатель на интерфейс атрибута IAttribute.
            print 'iattr in Attributes: ',iattr
            #iattr in Attributes:  <win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.IAttribute instance at 0x125436296>