Перейти к публикации

Как это сделать в скрипте


Krusty

Рекомендованные сообщения

Всем Привет!!

Пишу скрипт хочу его заставить выдирать поля в описании модели и загонять их в штам чертежа.

По сему возникает вопрос как на VBScript узнать значение поля в описании детали например поля Разработчик, и затолкнуть его в штамп?

Буду очень признателен за помощь

Если все получиться выложу для пользования всеми с комментариями

СПАСИБО!!!!

Ссылка на сообщение
Поделиться на других сайтах


Далее пойдет текс скрипта. сам не до конца осмыслил как это происходит. но в поле Text15 он вписывает юзера.

Text_15 = CATIA.SystemService.Environ("LOGNAME")

If (Text_15 = "") Then

Text_15 = CATIA.SystemService.Environ("USERNAME")

End If

Set Text = DrwTexts.Add(Text_14, OH + Col(7) + 1. , OV + Row(5) - 2 )

CATFormatTBText "TitleBlock_Text_Designer" , catTopLeft , 2

Set Text = DrwTexts.Add(Text_15, OH + Col(7) + 17 , OV + Row(5) - 2 )

CATFormatTBText "TitleBlock_Text_Designer_1" , catTopLeft , 2

Ссылка на сообщение
Поделиться на других сайтах

Далее пойдет текс скрипта. сам не до конца осмыслил как это происходит. но в поле Text15 он вписывает юзера.

в первой части объявление переменной

во второй прописывание.

Text_15 = CATIA.SystemService.Environ("LOGNAME")

If (Text_15 = "") Then

Text_15 = CATIA.SystemService.Environ("USERNAME")

End If

Set Text = DrwTexts.Add(Text_14, OH + Col(7) + 1. , OV + Row(5) - 2 )

CATFormatTBText "TitleBlock_Text_Designer" , catTopLeft , 2

Set Text = DrwTexts.Add(Text_15, OH + Col(7) + 17 , OV + Row(5) - 2 )

CATFormatTBText "TitleBlock_Text_Designer_1" , catTopLeft , 2

Ссылка на сообщение
Поделиться на других сайтах

а ты случаем тонкие линии рисовать не научился?

а еще курсивом писать выбранным шрифтом. оч нада

<{POST_SNAPBACK}>

selection.Clear

Set Line = drawingViews1.Item(2).Factory2D.CreateLine(0, 0, 1, 1)

selection.Add (Line)

selection.VisProperties.SetRealWidth CDbl(UserForm1.TextBox3.text), 200

selection.Clear

text.SetFontName 0, 667, "GOSTtype A"

text.SetParameterOnsubString catitalic, 0, 0, 1

возьми у мебиуса гостовский шрифт там для курсива отдельный файл

Изменено пользователем MArtmath
Ссылка на сообщение
Поделиться на других сайтах

Ни фига не срослось

Так и не пойму как мне сделать такую весчь, я сделал скрипт который в опсиание модели добовляет переменную Разработчик, у нее значение например Иванов, Так вот как мне узнать знаачение переменной разработчик и загнать в рамку

:(

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

MArtmath,дело в том, что я строю рамку в "бакгроунде" и если можно плз. расшифруй что есть ху. очень тяжко. с нуля то;)

у меня каждая линия формируется следующими двумя строками:

Set Line = Fact.CreateLine(OH + Col(7), OV + Row(2), OH , OV + Row(2))

Line.Name = "TitleBlock_Line_Row_2"

пытаюсь пропихнуть сюда твои интрукции, опять таки на бессознательном уровне, и ничего не выходит:((( :wallbash:

Изменено пользователем zhulik
Ссылка на сообщение
Поделиться на других сайтах

И немного о наболевшем - может кто-нибудь знает как при помощи скрипта можно убрать у текста атрибут autoflip? Это необходимо для того чтобы развернуть надпись на 180 градусов, а он мешает это сделать, т.к. по умолчанию включен и даже повернутый на 180 текст возвращает в исходное (неперевернутое) положение!

И исчо - как скриптом удалить часть линии, аля trim/extend!?

Ссылка на сообщение
Поделиться на других сайтах

Вообщем поля такие как Revision и.т.д. добовляются в штам нормально

но созданные мною поля нифига не хотят, как быть народ помогите нужную весчь делаю

DrwTexts.GetItem("TitleBlock_Text_Number_1").Text = ProductDrawn.PartNumber (Катит)

DrwTexts.GetItem("TitleBlock_Text_Title").Text = ProductDrawn.Nazvanie_Detali (А это не катит)

Nazvanie_Detali - мною созданное поле, тип String

Ссылка на сообщение
Поделиться на других сайтах

MArtmath,дело в том, что я строю рамку в "бакгроунде" и если можно плз. расшифруй что есть ху. очень тяжко. с нуля то;)

<{POST_SNAPBACK}>

sorry

Public drawingDocument1 As DrawingDocument

Public drawingSheets1 As DrawingSheets

Public drawingSheet1 As DrawingSheet

Public drawingViews1 As DrawingViews

Public drawingView1 As DrawingView

Public selection ' As selection

Public text As DrawingText

Public Sub CATInit()

On Error Resume Next

Set drawingDocument1 = CATIA.ActiveDocument

If Err.Number <> 0 Then

MsgBox "Создайте документ!!!", vbInformation, "CATIA"

Exit Sub

End If

Set drawingSheets1 = drawingDocument1.Sheets

Set drawingSheet1 = drawingSheets1.ActiveSheet

Set drawingViews1 = drawingSheet1.Views

Set selection = drawingDocument1.selection

end sub

.

Set text = drawingViews1.Item(2).Texts.Item(№ строки)

.

Set Line = drawingViews1.Item(2)...-вот он твой бакгроунд,кстати

надеюсь так понятно?

а вообще заглядавай на <noindex>http://www.coe.org/forums/</noindex> таже вода, но иногда че нить да найдешь

Изменено пользователем MArtmath
Ссылка на сообщение
Поделиться на других сайтах

И немного о наболевшем - может кто-нибудь знает как при помощи скрипта можно убрать у текста атрибут autoflip?

<{POST_SNAPBACK}>

Вообще он че сильно нужен? Я его в стандартах на глобальном уровне убрал никто и не заметил,зато все встает на свои места.(Но если узнаешь как убрать сообщи)

Люди а кто нить знает для текста задать position/orientation link,а?

Изменено пользователем MArtmath
Ссылка на сообщение
Поделиться на других сайтах

Help!!! MArtmath

моя не понимает :wallbash:

вот так я рисую линию:

On Error Resume Next

Set Line = Fact.CreateLine(OH + Col(1), OV , OH , OV )

Line.Name = "TitleBlock_Line_Bottom"

А вот так текст:

Set Text = DrwTexts.Add(Text_80, OH + Col(5) + 2, OV + Row(5) + 5.5 )

CATFormatTBText "TitleBlock_Text_Adress" , catBottomLeft , 2

и че-та я непойму КАК сделать линю тоньше, а текст другого стиля. :lamo:

Ссылка на сообщение
Поделиться на других сайтах

Public selection'Где объявление переменных

.

Public sub CATInit2' текст процедуры см. выше

.

end sub

.

On Error Resume Next

CATInit2

selection.Clear

Set Line = Fact.CreateLine(OH + Col(1), OV , OH , OV )

Line.Name = "TitleBlock_Line_Bottom"

selection.Add (Line)

selection.VisProperties.SetRealWidth CDbl("здесь № толщины линии"), 200

selection.Clear

Set Text = DrwTexts.Add(Text_80, OH + Col(5) + 2, OV + Row(5) + 5.5 )

text.SetFontName 0, 667, "GOSTtype A"

text.SetParameterOnsubString catitalic, 0, 0, 1

CATFormatTBText "TitleBlock_Text_Adress" , catBottomLeft , 2

А вообще ,ты бы с исходной рамкой получше разобрался ,а то я смотрю не зная броду... Кстати пишешь В VBScript или в VBA?

Ссылка на сообщение
Поделиться на других сайтах

Линия:

' selection1 (или любое другое имя) должен быть объявлен (Public selection1 ' As selection)

' И определён (set selection1 = drawingDocument1.selection)

On Error Resume Next

Set Line = Fact.CreateLine(OH + Col(1), OV , OH , OV )

Line.Name = "TitleBlock_Line_Bottom"

Selection1.Clear ' очищаем список выбранных элементов

Selection1.Add Line ' добавляем нужную линию (или несколько, много) к выбранным (выделенным)

Selection1.VisProperties.SetVisibleLineType 2, 0 ' меняем свойства выделенных элементов

 ' 2 – Это тип линии (as integer) как в опциях или свойствах.

Selection1.Clear  ' очищаем список выбранных элементов

Текст:

Set Text = DrwTexts.Add(Text_80, OH + Col(5) + 2, OV + Row(5) + 5.5 )

CATFormatTBText "TitleBlock_Text_Adress" , catBottomLeft , 2

Text.SetFontName 0, 0, "GOST (TrueType)"
' Название шрифта удобнее всего копировать из свойств текста

Второй вариант

Так как

CATFormatTBText
это у вас функция, то можно изменить (дополнить) её.

Добавить еще один параметр (например sFontName as string),

добавить внутрь строку (

Text.SetFontName 0, 0, sFontName
)

Соответственно изменится и вызов этой функции на:

CATFormatTBText "TitleBlock_Text_Adress" , catBottomLeft , 2, "GOST (TrueType)"

post-4621-1137577340_thumb.png

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Сообщения

    • Killerchik
      Если нужно что-то поменять, выкладывайте фото экрана станка, я думаю можно будет дистанционно Вам объяснить, как отредактировать.
    • bubl leg
      Всем доброго! Вопрос следующий: мне тут по одному из прошлых вопросов сильно помогли: как измерить длину кривой - показали инструмент, который я в упор не видел:-D А вот сейчас у меня возникла потребность наоборот: уменьшить длину произвольной кривой, меняя цифры в настройках. Возможно такое? Скажем, есть у меня хитрая кривая в виде произвольной загогулины. И чтобы не вручную менять её размеры по ХУ, постоянно снова и снова замеряя получившуюся длину и подгоняя таким образом длину под свои потребности, а чтобы вот так: увидеть длину в настройках - вбить туда новую цифру и длина кривой будет соответственно уменьшена. При этом (вероятно) урежется сама кривая и будет показан только её сегмент - ничего страшного, мне именно это и надо. Буду благодарен любому совету!
    • Mixon513
      Всем спасибо что тыкнули пальцем. Действительно производитель перепутал данные вывода.
    • Mixon513
      Спасибо, в понедельник попробую. 
    • Guhl
      И всё-таки поучаствовали )))
    • Viktor2004
      Я изначально не участвовал в этой теме потому что во первых это не влияет на работоспособность станка, а во вторых, задача это элементарно решается на горячем станке, где видно в режиме онлайн в каких регистрах хранится номера стаканов, в каких номера инструментов и из каких регистров идет отображение на индикатор. Любой сервисник который находится у станка решит эту задачу за десять минут. А тут копаться в ладдере в котором ничего не отображается можно сутками, перенося в уме свои догадки что там могло бы быть.
    • Killerchik
      @Mixon513 Вы можете например на станке открыть ладдэр, поискать поиском R65 или Р0225 и посмотреть логику формирования этого значения.
    • rasta89
      Всем привет. Проводил в LS-Dyna расчет на усталость по SN. Получил результаты Damage и Life:   Но вот Expected Fatigue cycles = 0. Кто-нибудь может объяснить подробно почему? Может быть что-то упустил в картах, куда обратить внимание? Спасибо.  
    • Guhl
      Это надо сидеть и разбираться с логикой, которая в ладдере прописана разработчиками. Возможно, что править надо. Комментарии там на английском, вам повезло. В Яндексе задавать вопросы бесполезно на этот счет
    • Mixon513
      Подскажите где нужно менять параметры. Или как задать вопрос яндексу?
×
×
  • Создать...