Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: Elfilagas от 26-06-2017, 11:53:14

Название: Как проверить открыт ли файл
Отправлено: Elfilagas от 26-06-2017, 11:53:14
Добрый день,
Подскажите, пожалуйста, как можно проверить открыт ли файл в Inventor, но не как активный документ.
Т.е. при работе с деталью проверить, открыт ли чертеж этой детали на другой вкладке.
Название: Re: Как проверить открыт ли файл
Отправлено: Elfilagas от 26-06-2017, 12:43:05
Сделал перебором документов:
Код - vb.net [Выбрать]
  1. Dim pDoc As PartDocument = InvApp.ActiveDocument
  2. Dim sFnDr As String = Replace(sFn3D, ".ipt", ".idw")
  3. sFnDr = Replace(sFnDr, ".IPT", ".IDW")
  4. Dim UseFile As Boolean = False
  5. For Each Doc As Document In InvApp.Documents
  6.       If Doc.FullFileName = sFnDr Then
  7.             UseFile = True
  8.             Exit For
  9.       End If
  10. Next
  11.  
Может как то еще можно?
Название: Re: Как проверить открыт ли файл
Отправлено: mikazakov от 26-06-2017, 13:00:39
Там, в объекте Application.Documents
есть свойство ItemByName. Можно его попробовать, оно должно быстрее работать, т.к. в нем идет поиск на нативном уровне, а не на уровне фреймворка как в вашем примере.
По поводу видимости документа, если документ открыт и виден на вкладках у него свойство Document.Views.Count >0. Пишу по памяти.
(https://s17.postimg.org/hc7gyvjx7/image.png) (https://postimg.org/image/hc7gyvjx7/)
Название: Re: Как проверить открыт ли файл
Отправлено: Elfilagas от 26-06-2017, 13:48:28
Да, действительно можно так. Спасибо.