Justification и Alignment (VB.Net 2010 + Automatoin)

Программирование для CATIA.

Justification и Alignment (VB.Net 2010 + Automatoin)

Сообщение 3Dge » 30 май 2012 10:20

Здравствуйте,
Не могли бы вы помочь мне с catAlignment или Justification в Drawing. для меня очень важно выравнивание текста по центру.
Раньше на VB6 проходила функция :

Код: Выделить всё
    CatTextProperty iParam = catBold
     iFirst = 0
     inbCharacter = 0
     ival = 1
     MyText.SetParameterOnsubString iParam, iFirst, inbCharacter, ival


а на Visual Basic 2010 не проходит :(

Код: Выделить всё

            CATIA = GetObject(, "CATIA.Application")
            Drawingdocument1 = CATIA.ActiveDocument
            drawingSheets1 = Drawingdocument1.Sheets
            DrawingSheet1 = drawingSheets1.ActiveSheet
            BackGround1 = DrawingSheet1.Views.Item("Background View")
            BackGround1.Activate()

            X = DrawingSheet1.GetPaperWidth
            Y = DrawingSheet1.GetPaperHeight

            myFactory2D = BackGround1.Factory2D

            Dim textObj1 As DrawingText
            Dim catAlignment As DRAFTINGITF.CatTextProperty

    textObj1 = BackGround1.Texts.Add(TextBox2.Text, 0, 90)
            textObj1.AnchorPosition = 5
            textObj1.SetFontSize(0, 0, 7)
            textObj1.Angle = 0
            textObj1.SetParameterOnSubString(catAlignment, 0, 0, 1)


Заранее спасибо
3Dge
Новичок
Новичок
 
Сообщения: 30
Images: 0
Зарегистрирован: 14 дек 2009 12:58
Откуда: СПб

Re: Justification и Alignment (VB.Net 2010 + Automatoin)

Сообщение Wireless_Fidelity » 30 май 2012 18:22

Здравствуйте.

Такое, к сожалению, бывает. Попробуйте textObj1.SetParameterOnSubString(catAlignment, 1, 0, 1)
Однако, существует и надежный способ обойти ошибку, достаточно просто проблемный код поместить в скрипт, а затем выполнить его с помощью ExecuteScript.
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Justification и Alignment (VB.Net 2010 + Automatoin)

Сообщение 3Dge » 31 май 2012 09:31

Оказывается нужно было использовать вместо catAlignment просто 13 (Enum).

Код: Выделить всё

                CATIA = GetObject(, "CATIA.Application")
                Drawingdocument1 = CATIA.ActiveDocument
                drawingSheets1 = Drawingdocument1.Sheets
                DrawingSheet1 = drawingSheets1.ActiveSheet
                BackGround1 = DrawingSheet1.Views.Item("Background View")
                BackGround1.Activate()

                X = DrawingSheet1.GetPaperWidth
                Y = DrawingSheet1.GetPaperHeight

                myFactory2D = BackGround1.Factory2D

                Dim textObj1 As DrawingText
                Dim catAlignment As DRAFTINGITF.CatTextProperty

        textObj1 = BackGround1.Texts.Add(TextBox2.Text, 0, 90)
                textObj1.AnchorPosition = 5
                textObj1.SetFontSize(0, 0, 7)
                textObj1.Angle = 0
                textObj1.SetParameterOnSubString(13, 0, 0, 1)


ну и список Енумов можно посмотреть в Object Browser (мало ли кто не знает):
Вложения
3Dge
Новичок
Новичок
 
Сообщения: 30
Images: 0
Зарегистрирован: 14 дек 2009 12:58
Откуда: СПб


Вернуться в CAA-RADE

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

cron