Тема: Поиск текста в файлах чертежей Инвентора

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

Re: Поиск текста в файлах чертежей Инвентора

В общем, похоже этого нельзя сделать:
http://discussion.autodesk.com/thread.j … dID=581322
http://discussion.autodesk.com/thread.j … dID=571649

Re: Поиск текста в файлах чертежей Инвентора

Андрей Березин пишет:

В общем, похоже этого нельзя сделать:

Можно! Если написать макрос отрывающий файлы считывающий текст и снова их закрывающий.

Re: Поиск текста в файлах чертежей Инвентора

К сожалению, все-таки на поиск с помощью макросов наложены ограничения: я так и не нашел способа доступа к текстовым полям, находящимся прямо на листе (Sheet). Остальной текст, который меня интересует: текстовые поля textBox в эскизах DrawingSketch чертежа, в основной надписи и т.д. - ко всему этому есть доступ.

Re: Поиск текста в файлах чертежей Инвентора

> Андрей Березин
Похоже, вы правы. Надеюсь, в планы Autodesk'а входит открыть доступ к этим объектам.

Re: Поиск текста в файлах чертежей Инвентора

Андрей Березин пишет:

я так и не нашел способа доступа к текстовым полям, находящимся прямо на листе (Sheet).

Да вот же они!

ThisApplication.ActiveSheet.DrawingNotes.GeneralNotes

Re: Поиск текста в файлах чертежей Инвентора

точнее

ThisApplication.ActiveDocument.ActiveSheet.DrawingNotes.GeneralNotes

Re: Поиск текста в файлах чертежей Инвентора

> brigval
Круто! Вы правы. Разве так сразу поймешь, что текст в эскизах называется так-то, а на листе совсем по-дугому.

Re: Поиск текста в файлах чертежей Инвентора

> brigval
Большое человеческое спасибо. Сажусь за написание плагина!

Re: Поиск текста в файлах чертежей Инвентора

Вот накропал для поиска текста в открытом чертеже:

Sub Findtext()
Dim oDrawDoc As DrawingDocument
Set oDrawDoc = ThisApplication.ActiveDocument
Dim Message, Title, Default, MyValue
Message = "Enter a text string"    ' Set prompt.
Title = "Search text in drawing"    ' Set title.
Default = "TITLE"    ' Set default.
' Display message, title, and default value.
MyValue = InputBox(Message, Title, Default)
If oDrawDoc.Sheets.Count > 0 Then
    Dim sh As Sheet
    For Each sh In oDrawDoc.Sheets
        'поиск среди текстовых полей на листе
        If sh.DrawingNotes.GeneralNotes.Count > 0 Then
            Dim gn As GeneralNote
            For Each gn In sh.DrawingNotes.GeneralNotes
                If InStr(gn.Text, MyValue) > 0 Then
                    MsgBox gn.Text
                End If
            Next
        End If
        'поиск среди текстовых полей в спецификациях
        If sh.PartsLists.Count > 0 Then
            Dim oPartList As PartsList
            For Each oPartList In sh.PartsLists
                Dim i As Long
                For i = 1 To oPartList.PartsListRows.Count
                    ' Get the current row.
                    Dim oRow As PartsListRow
                    Set oRow = oPartList.PartsListRows.Item(i)
                    ' Iterate through each column in the row.
                    Dim j As Long
                    For j = 1 To oPartList.PartsListColumns.Count
                        ' Get the current cell.
                        Dim oCell As PartsListCell
                        Set oCell = oRow.Item(j)
                        If InStr(oCell.Value, MyValue) > 0 Then
                            MsgBox oCell.Value
                        End If
                    Next
                Next
            Next
        End If
        'поиск среди текстовых полей в эскизах
        If sh.Sketches.Count > 0 Then
            Dim ds As DrawingSketch
            For Each ds In sh.Sketches
                If ds.TextBoxes.Count > 0 Then
                    Dim tb As TextBox
                    For Each tb In ds.TextBoxes
                        If InStr(tb.Text, MyValue) > 0 Then
                            MsgBox tb.Text
                        End If
                    Next
                End If
            Next
        End If
    Next
End If
End Sub

Re: Поиск текста в файлах чертежей Инвентора

Так, на вскидку.
1 Количество листов всегда больше нуля, поэтому можно не проверять.
2 Если PartsList не вставлен, то Вы в нем ничего не найдете. У Вас отсутствует вариант вставки PartsList, когда он не вставлен.
3 Для базовых видов будут разные PartsList, когда виды получены из разных сборок. Необходимо сделать проверку и вставлять все PartsList. Если это, конечно, нужно.
4 Проверка ведется только с учетом регистра. Возможно, надо предусмотреть вариант поиска и без учета регистра.
5 Я бы добавил еще поиск в Leader Note.
6 Нет классической проверки MyValue на отсутствие текста. Если текст не введен, то нет смысла его искать.

Re: Поиск текста в файлах чертежей Инвентора

> brigval
Спасибо за советы! Постараюсь учесть.

Re: Поиск текста в файлах чертежей Инвентора

Сделал плагин, предназначенный для поиска текста в чертежах Инвентора, находящихся в выбранной папке (и ее подпапках и т.д.).
После установки искать в меню Tools (Средства). Проверялся на AIP11 SP3.
Название: IDWTSetup.rar
Размер: 803.17 кб
Доступен до: 2007-09-23 13:10:28
Ссылка для скачивания файла: http://ifolder.ru/3095353

Re: Поиск текста в файлах чертежей Инвентора

Переработал плагин.
Изменения:
-теперь это отдельное приложение (требует запущенного Инвентора)
-поддержка многозадачности (кнопка Stop для процесса поиска)
-поддержка поиска с указанием набор мест поиска (набор дисков или набор папок)
Объекты чертежа для поиска:
-General Notes
-Leader Notes
-Parts Lists
-Sketches on Sheets
-Sketches on Drawing Views
Название: IDWT21.rar
Размер: 387.92 кб
Доступен до: 2007-09-30 09:29:59
Ссылка для скачивания файла: http://ifolder.ru/3174696

(изменено: , 20 ноября 2023г. 09:57:40)

Re: Поиск текста в файлах чертежей Инвентора

Андрей Березин пишет:

Сделал плагин, предназначенный для поиска текста в чертежах Инвентора, находящихся в выбранной папке (и ее подпапках и т.д.).
После установки искать в меню Tools (Средства). Проверялся на AIP11 SP3.
Название: IDWTSetup.rar
Размер: 803.17 кб
Доступен до: 2007-09-23 13:10:28
Ссылка для скачивания файла: http://ifolder.ru/3095353

Здравствуйте!
Подскажите на 2024 версию имеется такой плагин?
И если нет, можете написать? Конечно за плату, Очень срочнонужно!

evge123 пишет:
Андрей Березин пишет:

Сделал плагин, предназначенный для поиска текста в чертежах Инвентора, находящихся в выбранной папке (и ее подпапках и т.д.).
После установки искать в меню Tools (Средства). Проверялся на AIP11 SP3.
Название: IDWTSetup.rar
Размер: 803.17 кб
Доступен до: 2007-09-23 13:10:28
Ссылка для скачивания файла: http://ifolder.ru/3095353

Здравствуйте!
Подскажите на 2024 версию имеется такой плагин?
И если нет, можете написать? Конечно за плату, Очень срочно нужно!

И кстати ссылка не  рабочая!!