Поэтапное создание AddIn
В Visual Studio создаем проект и используем шаблон «Autodesk Inventor AddIn» (Рисунок 3).
Рисунок 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. Список надстроек
Создание инсталлятора
Сведения о Inno Setup
Для создания инсталлятора воспользовался бесплатной программой Inno Setup
Inno Setup - Эта программа представляет собой многофункциональный инструмент для создания исполняемых (ЕХЕ) файлов, имеющий в своем арсенале множество полезных функций. Например, при создании нового дистрибутива поможет специальный "мастер" (wizard), а в процессе вы можете настроить множество различных параметров. Кроме этого, Inno Setup позволяет определить все записи в файлах системного реестра и инициализации, выбрать, будет ли программа автоматически загружаться с запуском операционной системы и добавлять свою пиктограмму в меню "Пуск", а также оснащает каждый дистрибутив системой корректного удаления из системы.