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

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

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

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

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

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

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

Выравнивание текста в колонках штампа

Автор Poltava, 17.08.11, 20:33:19

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

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

Poltava

Подскажите пожалуйста знатоки. Вот простенький макрос записанный библиотекой компас макро.

# -*- coding: cp1251 -*-
#|999

import Kompas10API5 as KAPI
import Kompas10API7 as KAPI7
import pythoncom
from win32com.client import Dispatch
import LDefin2D


import LDefin3D
import ksConstants as CONST2D7
import ksConstants3D as CONST3D7
import MiscellaneousHelpers as MH

iKompasObject = Dispatch('KOMPAS.Application.5')
iKompasObject = KAPI.KompasObject(iKompasObject)
MH.iKompasObject = iKompasObject

iApplication = Dispatch('KOMPAS.Application.7')
iApplication = KAPI7.IApplication(iApplication)
MH.iApplication = iApplication

iDocumentSpc = iKompasObject.SpcActiveDocument()

iStamp = iDocumentSpc.GetStamp()
iStamp.ksOpenStamp()
iStamp.ksColumnNumber(2)
iTextLineParam = KAPI.ksTextLineParam(iKompasObject.GetParamStruct(LDefin2D.ko_TextLineParam))
iTextLineParam.Init()
iTextLineParam.style = 32769

iTextItemArray = KAPI.ksDynamicArray(iKompasObject.GetDynamicArray(4))

iTextItemParam = KAPI.ksTextItemParam(iKompasObject.GetParamStruct(LDefin2D.ko_TextItemParam))
iTextItemParam.Init()
iTextItemParam.iSNumb = 0
iTextItemParam.s = "Нужный текст"
iTextItemParam.type = 0

iTextItemFontParam = KAPI.ksTextItemFont(iTextItemParam.GetItemFont())
iTextItemFontParam.Init()
iTextItemFontParam.bitVector = 4096
iTextItemFontParam.color = 0
iTextItemFontParam.fontName = "GOST type A"
iTextItemFontParam.height = 7.0
iTextItemFontParam.ksu = 1.0

iTextItemArray.ksAddArrayItem(-1, iTextItemParam)

iTextLineParam.SetTextItemArr(iTextItemArray)
iStamp.ksTextLine(iTextLineParam)

iStamp.ksCloseStamp()


Макрос прекрасно работает (то есть записывает в нужную графу штампа нужный текст) но напрочь отказывается выровнять текст в графе штампа скажем по левому краю.
Знатоки подскажите как поправить текст макроса чтоб происходило выравнивание ???


Добавить строку
iStamp.ksSetTextLineAlign(align)
align - признак выравнивания:
0 - по левому краю,
1 - по центру,
2 - по правому краю,
3 - по ширине.





Poltava


Poltava

ОГРОМНОЕ СПАСИБО все заработало !!!
+ вам в репу за подсказку здесь и за ваши замечательные библиотечки!!!