Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.6 Mб
Скачать

Процедура работы с приложением

После установки приложения и выполнения необходимых условий, пользователь увидит на главной странице Autodesk Inventor на вкладке «Сборка» кнопку «Включение/выключение видимости» (Рисунок 1).

Рисунок 1. Начальная панель с кнопкой приложения

Для правильного выполнения программы, необходимо сначала выбрать деталь сборки и нажать на эту кнопку, произойдет процесс изменения параметра «Наличие в сечении и сборке» пользователь увидит диалоговое окно, в котором сообщится «Видимость изменена» (Рисунок 2).

Рисунок 2. Оповещение об изменении видимости

Создание Registry-free Inventor AddIn

Сведения о AddIn

AddIn – Это некоторое приложение, написанное для определенной программы, которое используется в этой программе, с целью упрощения работы с программой.

Преимущества Add-In

  • Загружается при старте Inventor

  • Можно вести разработку на новых языках

  • Возможна полная интеграция в интерфейс Inventor

  • Лучше поддержка событий

  • Простая установка

  • Легче управлять исходным кодом

  • Код безопаснее

  • Более эффективная поддержка транзакций

Поэтапное создание AddIn

В Visual Studio создаем проект и используем шаблон «Autodesk Inventor AddIn» (Рисунок 3).

Группа 2

Рисунок 3. Выбор шаблона

Далее открываем окно (по умолчанию) кода StandardAddInServer и добавляем код

Imports Inventor

Imports System.Runtime.InteropServices

Imports Microsoft.Win32

Namespace HelloWorldAddIn_VB

<ProgIdAttribute("HelloWorldAddIn_VB.StandardAddInServer"), _

GuidAttribute("82ed13f7-bdb1-4685-840e-6fcc84a0f84c")> _

Public Class StandardAddInServer

Implements Inventor.ApplicationAddInServer

Public m_inventorApplication As Inventor.Application

Private mAsmButtonDef As ButtonDefinition

Private mPartButtonDef As ButtonDefinition

Private Const strAddInGuid As String = "b22d0530-5e1f-426d-9a76-5b383def94fa"

#Region "ApplicationAddInServer Members"

Public Sub Activate(ByVal addInSiteObject As Inventor.ApplicationAddInSite, ByVal firstTime As Boolean) Implements Inventor.ApplicationAddInServer.Activate

m_inventorApplication = addInSiteObject.Application

Dim oCtrlDefs As ControlDefinitions _

= m_inventorApplication.CommandManager.ControlDefinitions

Dim oIPictureDisp As Object = PictureDispConverter _

.ToIPictureDisp(My.Resources.Icon)

mAsmButtonDef = oCtrlDefs.AddButtonDefinition( _

"Включение/выключение видимости", _

"Autodesk:RibbonVBTest:Button1", _

CommandTypesEnum.kQueryOnlyCmdType, _

strAddInGuid, _

"Описание", _

"Изменить видимость в сечении", _

oIPictureDisp, _

oIPictureDisp, _

ButtonDisplayEnum.kDisplayTextInLearningMode)

If (firstTime) Then

Dim UIManager As UserInterfaceManager _

= m_inventorApplication.UserInterfaceManager

Dim assemblyRibbon As Inventor.Ribbon _

= UIManager.Ribbons.Item("Assembly")

Dim assemblyTab As Inventor.RibbonTab _

= assemblyRibbon.RibbonTabs.Item("id_TabAssemble")

Dim panel1 As Inventor.RibbonPanel _

= assemblyTab.RibbonPanels.Add( _

"Работа с сечением", _

"Autodesk:RibbonVBTest:Panel1", _

strAddInGuid)

panel1.CommandControls.AddButton(mAsmButtonDef, True)

End If

AddHandler mAsmButtonDef.OnExecute, AddressOf Me.mAsmButtonDef_OnExecute

End Sub

#Region "Event handlers"

Private Sub mAsmButtonDef_OnExecute(ByVal Context As Inventor.NameValueMap)

Dim Assem As AssemblyDocument

Dim PartD As PartDocument

Dim oModelSettings As ModelingSettings

Assem = m_inventorApplication.ActiveDocument

If Assem.SelectSet.Count = 0 Then

MsgBox("Выберите деталь")

Return

End If

Try

Dim selec As SelectSet

selec = Assem.SelectSet

Dim detal As ComponentOccurrence = Nothing

For Each obj As Object In selec

detal = obj

PartD = detal.Definition.Document

oModelSettings = PartD.ModelingSettings

If oModelSettings.AllowSectioningThruPart = True Then

oModelSettings.AllowSectioningThruPart = False

ElseIf oModelSettings.AllowSectioningThruPart = False Then

oModelSettings.AllowSectioningThruPart = True

End If

Next

Catch

End Try

End Sub

#End Region

Public Sub Deactivate() Implements Inventor.ApplicationAddInServer.Deactivate

Marshal.ReleaseComObject(m_inventorApplication)

m_inventorApplication = Nothing

System.GC.WaitForPendingFinalizers()

System.GC.Collect()

End Sub

Public ReadOnly Property Automation() As Object Implements Inventor.ApplicationAddInServer.Automation

Get

Return Nothing

End Get

End Property

Public Sub ExecuteCommand(ByVal commandID As Integer) Implements Inventor.ApplicationAddInServer.ExecuteCommand

End Sub

#End Region

End Class

Компилируем, сохраняем проект далее для работы AddIn необходимо:

Из папки Ваш путь \Program\obj\Debug\ скопировать файл Program.dll

в папку Ваш путь\Autodesk\Inventor 2015\Bin

Из папки Ваш путь \Program\ скопировать файл Autodesk.Program.Inventor

в папку Ваш путь\Autodesk\Inventor 2015\Addins

В Autodesk Inventor переходим на вкладку «Инструменты» далее кнопка «Надстройка» (Рисунок 4), находим наш Addin жмем на параметр «Загружать автоматически». Нажимаем «ок». Теперь при запуске Autodesk Inventor Addin будет загружаться

Рисунок 4. Список надстроек

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]