Страница 1 из 1

Piping Spool и VBA

СообщениеДобавлено: 24 май 2012 16:15
bsfrc
Подскажите пожалуйста, как мне выделить в VBA в модели все Piping Spool (или хотя бы один)?
В цикле или или командой типа Search.

Задача в том, чтобы в модели переименовать Part Number всех Spool'ов

Re: Piping Spool и VBA

СообщениеДобавлено: 24 май 2012 17:08
Artem
Код: Выделить всё
Sub CATMain()
Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument
Dim selection1 As Selection
Set selection1 = productDocument1.Selection
selection1.Search "(CATPipSearch.PipingSpool + CATPiuSearch.PipingSpool),all"
For i = 1 To selection1.Count
selection1.Item(i).Value.PartNumber = CStr(i) + "_number"
Next
End Sub

Re: Piping Spool и VBA

СообщениеДобавлено: 24 май 2012 17:15
bsfrc
Огромное спасибо! Я уже мозг сломал! А как подобная строчка может выглядет на VBA, а не на VBScript:

selection1.Search "(CATPipSearch.PipingSpool + CATPiuSearch.PipingSpool),all" ?

А то он ругается Variable Not Defined, в частности когда я хочу использовать CATAsmSearch.MfFixConstraint

Re: Piping Spool и VBA

СообщениеДобавлено: 24 май 2012 17:25
bsfrc
и подскажите еще, пожалуйста, где взять инфу о команде selection1.Search, какие у нее есть параметры? А то V5Automation ничего нет ((

Re: Piping Spool и VBA

СообщениеДобавлено: 24 май 2012 17:33
Artem
там есть стандартная команда поиска (edit\search) - включи запись макроса -и увидишь код
1)это кстати vba
2)Точно сборка открыта?
3)Язык...включи попробуй английский...

Код: Выделить всё
Sub CATMain()
Dim productDocument1 'As ProductDocument
Set productDocument1 = CATIA.ActiveDocument
Dim selection1 'As Selection
Set selection1 = productDocument1.Selection
selection1.Search "(CATPipSearch.PipingSpool + CATPiuSearch.PipingSpool),all"
For i = 1 To selection1.Count
selection1.Item(i).Value.PartNumber = CStr(i) + "_number"
Next
End Sub

Попробуй так - должно сработать и для скрипта и для VBA

Включи запись макроса,как на картинке выдели спул - команда автоматом тип подставит, обязательно сделай хотя бы один поиск и смотри код..