Message 1 of 12
Execute2 function errors when attempting to regenerate iLogic rules
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
We have this long-standing rule:
Sub Main() Dummyvalue = Update Dim controlDef As ControlDefinition = ThisApplication.CommandManager.ControlDefinitions.Item("iLogic.RegenAllRules") controlDef.Execute2(True) If Component.IsActive("LHC DOOR ASSY") = True Then Select Case vision_panel_type Case "VP 1" VP135LHC() Case "VP 2" VP135LHC() VP24LHC() Case "VP 3" VP135LHC() Case "VP 4" VP135LHC() VP24LHC() Case "VP 5" VP135LHC() Case "VP 6" VP67LHC() Case "VP 7" VP67LHC() End Select End If If Component.IsActive("RHC DOOR ASSY") = True Then Select Case vision_panel_type Case "VP 1" VP135RHC() Case "VP 2" VP135RHC() VP24RHC() Case "VP 3" VP135RHC() Case "VP 4" VP135RHC() VP24RHC() Case "VP 5" VP135RHC() Case "VP 6" VP67RHC() Case "VP 7" VP67RHC() End Select End If iLogicVb.RunRule("FINISH COLOUR") iLogicVb.UpdateWhenDone = True End Sub Sub VP135LHC() Dim VP135AssemblyNameLHC As String = ThisDoc.FileName(False) 'without extension ' Split string based on spaces Dim VP135namepartsLHC As String() = VP135AssemblyNameLHC.Split(New Char() {"-"c}) Dim VP135NameLHC As String If VP135namepartsLHC.Length = 1 Then VP135NameLHC = "LHC Vision Panel Type5 Assy.iam<ilogic>" Else 'Set LHC VP4 file name VP135NameLHC = VP135namepartsLHC(0)&"-LHC Vision Panel Type5 Assy-"&VP135namepartsLHC(2)&"-"&VP135namepartsLHC(3)&".iam<ilogic>" End If 'Replace LHCVP4 with ilogic LoD Component.Replace("LHC VP5 ASSY", VP135NameLHC, True) End Sub Sub VP135RHC() Dim VP135AssemblyNameRHC As String = ThisDoc.FileName(False) 'without extension ' Split string based on spaces Dim VP135namepartsRHC As String() = VP135AssemblyNameRHC.Split(New Char() {"-"c}) Dim VP135NameRHC As String If VP135namepartsRHC.Length = 1 Then VP135NameRHC = "RHC Vision Panel Type5 Assy.iam<ilogic>" Else 'Set LHC VP4 file name VP135NameRHC = VP135namepartsRHC(0)&"-RHC Vision Panel Type5 Assy-"&VP135namepartsRHC(2)&"-"&VP135namepartsRHC(3)&".iam<ilogic>" End If 'Replace LHCVP4 with ilogic LoD Component.Replace("RHC VP5 ASSY", VP135NameRHC, True) End Sub Sub VP24LHC() Dim VP24AssemblyNameLHC As String = ThisDoc.FileName(False) 'without extension ' Split string based on spaces Dim VP24namepartsLHC As String() = VP24AssemblyNameLHC.Split(New Char() {"-"c}) Dim VP24NameLHC As String If VP24namepartsLHC.Length = 1 Then VP24NameLHC = "LHC Vision Panel Type4 Assy.iam<ilogic>" Else 'Set LHC VP4 file name VP24NameLHC = VP24namepartsLHC(0)&"-LHC Vision Panel Type4 Assy-"&VP24namepartsLHC(2)&"-"&VP24namepartsLHC(3)&".iam<ilogic>" End If 'Replace LHCVP4 with ilogic LoD Component.Replace("LHC VP4 ASSY", VP24NameLHC, True) End Sub Sub VP24RHC() Dim VP24AssemblyNameRHC As String = ThisDoc.FileName(False) 'without extension ' Split string based on spaces Dim VP24namepartsRHC As String() = VP24AssemblyNameRHC.Split(New Char() {"-"c}) Dim VP24NameRHC As String If VP24namepartsRHC.Length = 1 Then VP24NameRHC = "RHC Vision Panel Type4 Assy.iam<ilogic>" Else 'Set RHC VP4 file name VP24NameRHC = VP24namepartsRHC(0)&"-RHC Vision Panel Type4 Assy-"&VP24namepartsRHC(2)&"-"&VP24namepartsRHC(3)&".iam<ilogic>" End If 'Replace RHCVP4 with ilogic LoD Component.Replace("RHC VP4 ASSY", VP24NameRHC, True) End Sub Sub VP67LHC() Dim VP67AssemblyNameLHC As String = ThisDoc.FileName(False) 'without extension ' Split string based on spaces Dim VP67namepartsLHC As String() = VP67AssemblyNameLHC.Split(New Char() {"-"c}) Dim VP67NameLHC As String If VP67namepartsLHC.Length = 1 Then VP67NameLHC = "LHC Vision Panel Type67 Assy" Else 'Set LHC VP4 file name VP67NameLHC = VP67namepartsLHC(0)&"-LHC Vision Panel Type67 Assy-"&VP67namepartsLHC(2)&"-"&VP67namepartsLHC(3)&".iam<ilogic>" End If 'Replace LHCVP4 with ilogic LoD Component.Replace("LHC VP 67 ASSY", VP67NameLHC, True) End Sub Sub VP67RHC() Dim VP67AssemblyNameRHC As String = ThisDoc.FileName(False) 'without extension ' Split string based on spaces Dim VP67namepartsRHC As String() = VP67AssemblyNameRHC.Split(New Char() {"-"c}) Dim VP67NameRHC As String If VP67namepartsRHC.Length = 1 Then VP67NameRHC = "RHC Vision Panel Type67 Assy.iam<ilogic>" Else 'Set LHC VP4 file name VP67NameRHC = VP67namepartsRHC(0)&"-RHC Vision Panel Type67 Assy-"&VP67namepartsRHC(2)&"-"&VP67namepartsRHC(3)&".iam<ilogic>" End If 'Replace LHCVP4 with ilogic LoD Component.Replace("RHC VP 67 ASSY", VP67NameRHC, True) End Sub
that runs normally when you manually activate it, but the following line (in red) fails when the update parameter is changed either manually or as the result of the addin that's designed to automate the assembly from my other recent thread here.
Dim controlDef as ControlDefinition = ThisApplication.CommandManager.ControlDefinitions.Item("iLogic.RegenAllRules") controlDef.Execute2(True)
This appears to be a bug or some other error because the error that Inventor gives is thus:
(See screencast)
Thoughts?
----------------------------------------------------------------
Alex Fielder
Inventor Expert
https://github.com/alexfielder/
LinkedIn - Github Inventor Extension Server - Bonkers polygon iLogic thing
Top ten iLogic Tips - API Shortcut In Google Chrome - Assembly Extrusion Example
Alex Fielder
Inventor Expert
https://github.com/alexfielder/
LinkedIn - Github Inventor Extension Server - Bonkers polygon iLogic thing
Top ten iLogic Tips - API Shortcut In Google Chrome - Assembly Extrusion Example