Hi @t_fransman. Since I do not know how capable you may be at developing your own custom iLogic rules yet, below is the code for an unfinished iLogic rule which contains a custom Sub routine specifically for reordering drawing sheets. Before you call that custom Sub routine to run, you will first need to customize the block of code that will add each Sheet of your drawing to that List, in the order you want them to be in when done. Once that is done, just call the custom Sub routine to process that List of sheets, and it will reorder the Sheets in the model browser tree to the same order they are in that input List. I do not know what order you need them to be in based solely on the brief, difficult to understand comments in your first post.
It looks like the example code provided by @dalton_northwind will try to order them according to the order of the rows in a PartsList that if expects to find on the initially active sheet of the drawing, going by the FullFileName match of the item in that row, and the first view found within each Sheet. Nice job @dalton_northwind.
Sub Main
Dim oDDoc As Inventor.DrawingDocument = TryCast(ThisApplication.ActiveDocument, Inventor.DrawingDocument)
If oDDoc Is Nothing Then Return
Dim oSheets As Inventor.Sheets = oDDoc.Sheets
Dim oASheet As Inventor.Sheet = oDDoc.ActiveSheet
Dim oOrderedSheets As List(Of Inventor.Sheet) = New List(Of Inventor.Sheet)
'<<< your custom block of code here to add all Sheets in this drawing to this List, >>>
'<<< in the order you want them to be arranged >>>
'when done, call the custom Sub routine to reorder the actual Sheets that way
ReorderSheets(oOrderedSheets)
oDDoc.Update2(True)
End Sub
''' <summary>
''' Reorder drawing sheets according to the input List of sheets
''' </summary>
''' <param name="SheetsList">A List of drawing sheets ordered the way you want them</param>
Sub ReorderSheets(SheetsList As List(Of Inventor.Sheet))
If (SheetsList Is Nothing) OrElse (SheetsList.Count = 0) Then Exit Sub
Dim oDDoc As Inventor.DrawingDocument = TryCast(SheetsList.Item(0).Parent, Inventor.DrawingDocument)
If oDDoc Is Nothing Then Exit Sub
Dim oBPane As Inventor.BrowserPane = oDDoc.BrowserPanes.Item("DlHierarchy")
Dim oPrev As Inventor.BrowserNode = oBPane.GetBrowserNodeFromObject(SheetsList.Last())
Dim oThisNode As Inventor.BrowserNode = Nothing
For i As Integer = SheetsList.Count - 1 To 0 Step -1
oThisNode = oBPane.GetBrowserNodeFromObject(SheetsList.Item(i))
If oThisNode Is oPrev Then Continue For
Try
oBPane.Reorder(oPrev, True, oThisNode)
oPrev = oThisNode
Catch
End Try
Next 'i
oBPane.Update()
End Sub
Wesley Crihfield

(Not an Autodesk Employee)