ADN Club > Inventor API
Автоматическое обновление свойств
niksasa:
Добрый день. Есть addin, который представляет собой пользовательский элемент управления usercontrol, на котором размещены текстовые поля для работы со свойствами и параметрами, а также кнопки. Для считывания свойств инвентора используется кнопка "обновить"
--- Код: ---Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Updatepart.Click
If m_inventorApplication.ActiveDocumentType = DocumentTypeEnum.kPartDocumentObject Then
' Update the property values.
pDoc = m_inventorApplication.ActiveDocument
Me.mPartnumber.Text = pDoc.PropertySets.Item("Design Tracking Properties").Item("Part Number").Value
и т.д.
--- Конец кода ---
Хочу сделать, чтобы свойства обновлялись автоматически после открытия файла инвентора на подобие этого кода, где отображается имя открытого файла:
--- Код: ---Private Sub m_appEvents_OnOpenDocument(ByVal DocumentObject As Inventor.Document, _
ByVal FullDocumentName As String, _
ByVal BeforeOrAfter As Inventor.EventTimingEnum, _
ByVal Context As Inventor.NameValueMap, _
ByRef HandlingCode As Inventor.HandlingCodeEnum)
System.Windows.Forms.MessageBox.Show("OnOpenDocument: " + DocumentObject.DisplayName)
End Sub
--- Конец кода ---
Какие здесь могут быть нюансы? Или надо делать по-другому?
Владимир Ананьев:
Чтение свойств из документа Inventor выполняется точно так же.
А вот делать это следует только тогда, когда окно вашего AddIn открыто,
и пользователь ожидает автозаполнения полей.
В противном случае вроде бы логично просто проигнорировать событие OnOpenDocument.
niksasa:
Использовал событие OnActivateDocument и все заработало.
Только вот что то не получается обновлять свойства для деталей и сборок, редактируемых по месту.
Через кнопку все работает, а вот через событие OnActivateDocument не хочет.
Владимир Ананьев:
А может быть это и логично. Пусть юзер явно дает указание изменить данные в файле. Он же может и Cancel нажать, так ведь?
niksasa:
--- Цитата: Владимир Ананьев от 31-01-2014, 13:31:48 ---А может быть это и логично. Пусть юзер явно дает указание изменить данные в файле.
--- Конец цитаты ---
Тогда смысл автоматизации и ухода от рутины теряется. Зачем кнопка, если можно обойтись без нее?
Навигация
Перейти к полной версии