Bolted Connections created in Inventor can become out of date when changes to a part in an assembly happen (for example a material thickness change).
I’ve adapted a bit of iLogic code shared on a forum by Rossano Praderi. My version of the code iterates through the assembly, identifies bolted connections, and sets them to Automatic Solve. This will update all bolted connections that are out of date. Once this is complete, the code then iterates back through the assembly and sets all of the bolted connections back to Manual Solve.
Below is an animated GIF showing how the code updates the model.
Below is a quick overview of the 3 most common statuses that a bolted connection will display in Inventor.
Automatic Solve: Automatically updates with any model change (not set by default, makes your model run slower). To set Automatic Solve Right Click > Component > Automatic Solve
Manual Solve: This is the default setting for bolted connections
Update Needed: The Bolted Connection is out of date. To update a bolted connection in this state, either edit it, or set it to Automatic Solve. Always remember to set your bolted connections back to Manual.
Here is the iLogic Code:
'This version of the code by Clint Brown, originally posted at https://clintbrown.co.uk/iLogicBolts 'Acknowlegments: Rossano Praderi posted see his post in the forum below 'https://forums.autodesk.com/t5/inventor-customization/bolt-size-with-ilogic/td-p/6232695 On Error Resume Next Dim oAss As AssemblyDocument = ThisApplication.ActiveEditDocument Dim bp As BrowserPane = ThisApplication.ActiveDocument.BrowserPanes.ActivePane Dim node As BrowserNode For Each node In bp.TopNode.BrowserNodes If InStr(1, UCase(node.BrowserNodeDefinition.Label), "BOLTED") > 0 Then oAss.SelectSet.Select(node.NativeObject) Call ThisApplication.CommandManager.ControlDefinitions.Item("FDSolveAuto").Execute ThisApplication.StatusBarText = "Success: @ClintBrown3D" End If Next ThisApplication.StatusBarText = "Bolts updated, system will now set them back to Manual Solve: @ClintBrown3D" For Each node In bp.TopNode.BrowserNodes If InStr(1, UCase(node.BrowserNodeDefinition.Label), "BOLTED") > 0 Then oAss.SelectSet.Select(node.NativeObject) Call ThisApplication.CommandManager.ControlDefinitions.Item("FDSolveManual").Execute ThisApplication.StatusBarText = "Success: @ClintBrown3D" End If Next ThisApplication.StatusBarText = "Your Bolted Connections have all been Updated: @ClintBrown3D"