Hi ben.gee,
This can be done without creating an addin, but instead just calling a VBA macro and assigning that to a button. I'll post a video in a moment, but in the mean time here is the code that will be placed in a VBA module to do this. The video will show where to place this code.
I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com
'Module_iLogicRules
'this module allows iLogic rules to be triggered
'from a VBA macro, fired from a ribbon button
Public Sub Hello_World()
'ilogic rule name:
RuniLogicExt "Hello World Rule"
End Sub
Public Sub My_Other_Rule()
'ilogic rule name:
RuniLogicExt "My_Other_Rule"
End Sub
Public Sub One_More_Rule()
'ilogic rule name:
RuniLogicExt "One_More_Rule"
End Sub
Public Sub RuniLogicExt(ByVal RuleName As String)
Dim oPath As String
oPath = "\\server\departments\CAD\Inventor\iLogic\"
Dim iLogicAuto As Object
Dim oDoc As Document
Set oDoc = ThisApplication.ActiveDocument
If oDoc Is Nothing Then
MsgBox "Missing Inventor Document"
Exit Sub
End If
Set iLogicAuto = GetiLogicAddin(ThisApplication)
If (iLogicAuto Is Nothing) Then
MsgBox "iLogicAuto Is Nothing"
Exit Sub
End If
iLogicAuto.RunExternalRule oDoc, oPath & RuleName & ".iLogicVb"
End Sub
Function GetiLogicAddin(oApplication As Inventor.Application) As Object
Set addIns = oApplication.ApplicationAddIns
Dim addIn As ApplicationAddIn
On Error GoTo NotFound
Set addIn = oApplication.ApplicationAddIns.ItemById("{3bdd8d79-2179-4b11-8a5a-257b1c0263ac}")
If (addIn Is Nothing) Then Exit Function
addIn.Activate
Set GetiLogicAddin = addIn.Automation
Exit Function
NotFound:
End Function
You would change:
- the macro name (Public Sub ...)
- the iLogic rule name (RuniLogicExt ...)
- the Path to find the external iLogic rule(oPath = ...)

Here is the video: