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

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

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

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

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

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

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

Параметры шрифта колонки спецификации

Автор /|exa_in_da_house, 04.05.22, 13:45:51

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

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

/|exa_in_da_house

Здравствуйте, пишу небольшой макрос: необходимо у документа-спецификации часто менять параметры шрифта некоторых колонок у всех объектов спецификации (делаем вспомогательными объектами). Пробегаюсь по всем составляющим текста ячейки (строкам, компонентам), использую следующий код:
spcDescriptions = doc.SpecificationDescriptions
  spcDescription = spcDescriptions.Item(0)
  for i in spcDescription.Objects:
    if i.ObjectType in [1, 2]:
      if i.Section not in [0]:
        for column in i.Columns:
          itext = module.IText(column.Text) # для каждой колонки
          for text_line in itext.TextLines: # для каждой строки
            text_line.Align = 0 # выравнивание
            for text_item in text_line.TextItems: # для каждого компонента строки
              text_font = module.ITextFont(text_item) # интерфейс параметров шрифта компонента
              text_font.FontName = 'Gost Type A' # шрифт
              text_font.Height = 5 # высота шрифта
              text_font.WidthFactor = 1 # коэффициент сужения
              text_font.Color = 0xff0000 # цвет
              text_font.Italic = True # курсив
              text_font.Bold = False # жирный
              text_font.Underline = False # подчёркнутый
              text_item.Update()
        i.Update()

Проблема в том, что в некоторых многострочных текстах ячейки часть текста не меняется (см. вложение)

Что я делаю не так?

Slaviation

Добрый день.
Попробуйте найти причину, записав в pyKompasMacro макрос создания форматированного текста и сравнив его со своим кодом. Предварительно установите в конфигурационном файле <каталог установки pyKompasMacro>\conf\ PyKompasMacro.ini параметр FormattedTextMode = 1.

/|exa_in_da_house

Цитата: Slaviation от 18.05.22, 07:39:24Добрый день.
Попробуйте найти причину, записав в pyKompasMacro макрос создания форматированного текста и сравнив его со своим кодом. Предварительно установите в конфигурационном файле <каталог установки pyKompasMacro>\conf\ PyKompasMacro.ini параметр FormattedTextMode = 1.
PyKompasMacro реагирует только на создание нового объекта спецификации, но, к сожалению, не реагирует на изменение параметров существующего. Попробовал посмотреть код, когда он создаёт объект сам, но там слишком сложно (он создаёт строки, компоненты последовательно, я же в коде пытаюсь пробежаться по всем компонентам)