Из ilogic в inventor addin. Вторая часть.

Автор Тема: Из ilogic в inventor addin. Вторая часть.  (Прочитано 5143 раз)

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

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

  • ADN Club
  • **
  • Сообщений: 91
  • Карма: 0
  • Skype: niksasa1979
Доброй ночи.
В ilogic я могу написать
cmat = ThisDrawing.ModelDocument.PropertySets("{D5CDD505-2E9C-101B-9397-08002B2CF9AE}").Item("Материал").ValueКак это будет выглядеть в VB.net?

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

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
Re: Из ilogic в inventor addin. Вторая часть.
« Ответ #1 : 09-01-2014, 00:44:11 »
Запись в одну строку будет выглядеть так:
cmat = oDrawDoc.ReferencedDocuments.Item(1).PropertySets.Item("Design Tracking Properties").Item("Материал").value
Вот тест на VBA:
Sub GetModelDocument()
  '  ссылка на активный документ чертежа
  Dim oDrawDoc As DrawingDocument
  Set oDrawDoc = ThisApplication.ActiveDocument

  '  ссылка на первый в списке документ модели.
  '  здесь это деталь, у которой есть свойство “Материал”
  Dim oDoc As Inventor.PartDocument
  Set oDoc = oDrawDoc.ReferencedDocuments.Item(1)
 
  '  ссылка на набор свойств, где живет свойство “Материал”
  Dim oPropSet As PropertySet
  '  английское наименование будет работать в русской версии Inventor
  Set oPropSet = oDoc.PropertySets.Item("Design Tracking Properties")
  '  или можно более загадочным и менее читабельным образом
  Set oPropSet = oDoc.PropertySets.Item("{32853F0F-3444-11D1-9E93-0060B03C1CA6}")
 
  '  Свойство “Материал” можно получить как по имени,
  '  так и по уникальному идентификатору PropId
  Dim cmat As String
  '  в русской версии, вероятно, “Material” придется заменить на “Материал”
  cmat = oPropSet.Item("Material").value
  cmat = oPropSet.ItemByPropId(20).value
 
  Debug.Print "cmat = " & cmat
End Sub

Просьба: новые вопросы размещайте в новых темах.  Это облегчает последующий поиск.  В гигантский темах реально неудобно искать сведения по конкретным проблемам. Спасибо.