Piping Spool и VBA

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

Piping Spool и VBA

Сообщение bsfrc » 24 май 2012 16:15

Подскажите пожалуйста, как мне выделить в VBA в модели все Piping Spool (или хотя бы один)?
В цикле или или командой типа Search.

Задача в том, чтобы в модели переименовать Part Number всех Spool'ов
bsfrc
Новичок
Новичок
 
Сообщения: 39
Зарегистрирован: 27 май 2011 09:36

Re: Piping Spool и VBA

Сообщение Artem » 24 май 2012 17:08

Код: Выделить всё
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
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Piping Spool и VBA

Сообщение bsfrc » 24 май 2012 17:15

Огромное спасибо! Я уже мозг сломал! А как подобная строчка может выглядет на VBA, а не на VBScript:

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

А то он ругается Variable Not Defined, в частности когда я хочу использовать CATAsmSearch.MfFixConstraint
bsfrc
Новичок
Новичок
 
Сообщения: 39
Зарегистрирован: 27 май 2011 09:36

Re: Piping Spool и VBA

Сообщение bsfrc » 24 май 2012 17:25

и подскажите еще, пожалуйста, где взять инфу о команде selection1.Search, какие у нее есть параметры? А то V5Automation ничего нет ((
bsfrc
Новичок
Новичок
 
Сообщения: 39
Зарегистрирован: 27 май 2011 09:36

Re: Piping Spool и VBA

Сообщение Artem » 24 май 2012 17:33

там есть стандартная команда поиска (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

Включи запись макроса,как на картинке выдели спул - команда автоматом тип подставит, обязательно сделай хотя бы один поиск и смотри код..
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14


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

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

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