Имя файла модели из вида чертежа

Автор Тема: Имя файла модели из вида чертежа  (Прочитано 4723 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн niksasaАвтор темы

  • ADN Club
  • **
  • Сообщений: 91
  • Карма: 0
  • Skype: niksasa1979
Добрый день. Есть чертеж, на который вставлены виды от разных моделей. Я могу узнать имена файлов всех вставленных моделей или только имя модели первого вида?

Оффлайн Владимир Ананьев

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
Re: Имя файла модели из вида чертежа
« Ответ #1 : 09-01-2014, 17:12:14 »
См. свойство DrawingView.ReferencedDocumentDescriptor.
Из дескриптора можно получить ссылку на документ и полный путь к файлу.

Оффлайн niksasaАвтор темы

  • ADN Club
  • **
  • Сообщений: 91
  • Карма: 0
  • Skype: niksasa1979
Re: Имя файла модели из вида чертежа
« Ответ #2 : 10-01-2014, 09:08:44 »
См. свойство DrawingView.ReferencedDocumentDescriptor.
Из дескриптора можно получить ссылку на документ и полный путь к файлу.
Что на подобие этого?
http://adndevblog.typepad.com/manufacturing/2012/06/use-drawingviewreferenceddocumentdescriptor-to-determine-the-document-providing-the-properties-in-the-text-format-dialog.html
и
http://inventortrenches.blogspot.com/2012/01/set-your-drawing-view-labels-to-use.html

Оффлайн Владимир Ананьев

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
Re: Имя файла модели из вида чертежа
« Ответ #3 : 10-01-2014, 09:42:04 »
Да, в обоих случаях используется один и тот же способ получения из DrawingView ссылки на документ через его дескриптор.  А дельше с этой ссылкой можно делать все, что угодно.  Раз есть документ, значит доступны его свойства, параметры и все остальное.  Типичная задача - извлечь нечто нестандартное из пользовательских свойств и отобразить непосредствено на чертеже.

Оффлайн niksasaАвтор темы

  • ADN Club
  • **
  • Сообщений: 91
  • Карма: 0
  • Skype: niksasa1979
Re: Имя файла модели из вида чертежа
« Ответ #4 : 10-01-2014, 10:43:11 »
Всё равно не ясно как мне например для двух видов разных моделей на чертеже задать вместо метки вида свое обозначение.
Если использовать это правило, то для всех видов задается одно и тоже обозначение, хотя виды от разных моделей.
Dim oApp As Application: oApp = ThisApplication
Dim oDoc As DrawingDocument:  oDoc = oApp.ActiveDocument
Dim oSheets As Sheets
Dim oSheet As Sheet
Dim oViews As DrawingViews
Dim oView As DrawingView
oSheets = oDoc.Sheets
For Each oSheet In oSheets
oViews = oSheet.DrawingViews
    For Each oView In oViews
       oModelName = _
                oView.ReferencedDocumentDescriptor.ReferencedDocument.DisplayName
                oPartNumber = iProperties.Value(oModelName, "Project", "Part Number")
            oView.Name = oPartNumber
   Next
Next
Какие дополнительные проверки нужно еще задать или нужно конкретно указывать имя каждого вида?

Оффлайн Владимир Ананьев

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
Re: Имя файла модели из вида чертежа
« Ответ #5 : 10-01-2014, 12:03:14 »
В команде
oPartNumber = iProperties.Value(oModelName, "Project", "Part Number")
вместо oModelName нужно задавать не DisplayName, а FullFIleName - полный путь к файлу.

Альтернатива:  извлекать Part number из документа, который вам дает дескриптор средствами Inventor API.
(ровно так, как вы поступили в случае c DisplayName).
См. обзор в хелпе про работу со свойствами iProperties.