Использование Edit/Search grammar для поиска элементов

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

Использование Edit/Search grammar для поиска элементов

Сообщение VladimirVladimirovich » 03 апр 2013 11:20

Уважаемые форумчане!
Подскажите, пожалуйста, где можно найти информацию по грамматике Edit/Search для организации сложных запросов поиска?
Сразу скажу, что CAA-RADE нет, все делаю через Automation.
Я так понимаю, что использование правильного запроса может дать очень плодотворные результаты и можно найти буквально любой элемент или связанный с искомым элементом другой элемент или состояние искомого элемента.
Например, для поиска эскизов у которых статcуы Under-Constrained средствами Automation я решить не смог, но мне подсказали, что можно эти эскизы найти, задав следующий запрос:
Код: Выделить всё
CATIA.ActiveDocument.Selection.Search "CATPrtSearch.Sketch.SolvingStatus=Underdefined,all"

и к моему удивлению, действительно неопределенные эскизы были найдены.

Начал искать хоть, что-нибудь по поисковым запросам в CATIA, но так ничего и не нашёл...
Всё, что не делается - всё к лучшему!!
VladimirVladimirovich
Новичок
Новичок
 
Сообщения: 16
Зарегистрирован: 21 сен 2012 00:12
Откуда: г. Жуковский

Re: Использование Edit/Search grammar для поиска элементов

Сообщение Artem » 03 апр 2013 11:38

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

Re: Использование Edit/Search grammar для поиска элементов

Сообщение VladimirVladimirovich » 03 апр 2013 15:32

...видимо я как-то не так описал ситуацию...
Меня интересует какие команды можно использовать для поиска каких-либо элементов или состояний элементов с помощью Selection.Search?
Должен же быть какой-то документ в котором описаны все запросы, которые можно использовать с данной функцией?
Допустим в примере выше можно ведь вместо SolvingStatus что-либо другое записать и найти эскизы по другому параметру...
Всё, что не делается - всё к лучшему!!
VladimirVladimirovich
Новичок
Новичок
 
Сообщения: 16
Зарегистрирован: 21 сен 2012 00:12
Откуда: г. Жуковский

Re: Использование Edit/Search grammar для поиска элементов

Сообщение Artem » 03 апр 2013 16:41


Включи запись макроса....покажет все даже на драфтинге(на коем, как известно, запись прочих операций не работает)


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

Re: Использование Edit/Search grammar для поиска элементов

Сообщение Wireless_Fidelity » 03 апр 2013 22:55

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

Вот моё сообщение о языке поиска с форума COE.org. Извиняюсь, что на английском, но времени на перевод, к сожалению, нет.

Hi.
Universal search query is useful when developing a multi-language application/macro.
It consists of three parts separated by dots, followed by value fragment after "=" sign and a scope modifier (GENERALLY after "," char)

<Search provider>.<Type>.<Attribute>=<value>,<scope>

Search provider name is a pre-defined string that groups together a set of objects according to their type. Think of it as an internal workbench name. 'Part Design' search provider named CATPrtSearch groups all objects available in Part Design workbench.
To learn exact search provider name go to intel_a\resources\msgcatalog and look for CAT*Search.CATNls files in root or English subdirectory. From this point you can look through results and simply guess proper name or keep searching for specified workbench alias as it gets displayed in the standard Search dialog: "Part Design", "Drawing", "Equipment Arrangement" etc. In the end you're going to find a single file with a key-value pair that looks like this:

Search.WorkbenchName="Part Design"

Name of the file is wanted search provider name.
Second and third parts of universal query are object's Knowledgeware type and attributes as they are displayed in Language Browser (available from formula or rule editor). There should be no problem retrieving them

Last but not least is scope modifier. They are also pre-defined and match with corresponding english variants. They key here is that for some reason different configurations (release+service pack) may require ";" separator, not "," I'm not sure if universal queries are affected by this, normal ones definitely are. So just be aware and try both options when possible.
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Использование Edit/Search grammar для поиска элементов

Сообщение VladimirVladimirovich » 04 апр 2013 09:59

Artem, Wireless_Fidelity
огромное спасибо за ответы!
буду изучать, проводить тесты... надеюсь, что облегчит поиск необходимых мне элементов по заданным критериям... :-)
Всё, что не делается - всё к лучшему!!
VladimirVladimirovich
Новичок
Новичок
 
Сообщения: 16
Зарегистрирован: 21 сен 2012 00:12
Откуда: г. Жуковский

Re: Использование Edit/Search grammar для поиска элементов

Сообщение timkaam » 14 дек 2015 17:31

Подскажите, кто в теме, пытаюсь с помощью Selection.Search выделить сборку по имени..если заводить в параметры поиска точное имя сборки, находит и выделяет, а если вместо ключевого слова заводить параметр (который определяет имя сборки)..то поиск и выделение не получается:
Этот код не даёт результатов
Код: Выделить всё
Sub CATMain()
Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument
Dim selection1 As Selection
Dim Same As String
Same = "0742.110.000"
Set selection1 = productDocument1.Selection
selection1.Search "Name=*Same*,all"
End Sub

А этот даёт

Код: Выделить всё
Sub CATMain()
Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument
Dim selection1 As Selection
Set selection1 = productDocument1.Selection
selection1.Search "Name=*0742.110.000*,all"
End Sub

В чём ошибка?
timkaam
Новичок
Новичок
 
Сообщения: 69
Зарегистрирован: 02 дек 2014 16:15

Re: Использование Edit/Search grammar для поиска элементов

Сообщение Artem » 15 дек 2015 09:42

selection1.Search "Name=*"+Same+"*,all"
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Использование Edit/Search grammar для поиска элементов

Сообщение timkaam » 15 дек 2015 11:24

Artem писал(а):selection1.Search "Name=*"+Same+"*,all"

вот спасибо, ни в жизнь не догадался бы!
timkaam
Новичок
Новичок
 
Сообщения: 69
Зарегистрирован: 02 дек 2014 16:15

Re: Использование Edit/Search grammar для поиска элементов

Сообщение timkaam » 24 дек 2015 14:25

Кто подскажет, можно ли обратить выделение, т.е. задать запрос типа, выделить кроме ...
timkaam
Новичок
Новичок
 
Сообщения: 69
Зарегистрирован: 02 дек 2014 16:15


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

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

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