Hi @helouise
I have an iLogic rule that handles this...
if you can upload an example of your drawing for me to test it, I'll be happy to share it with you.
On second thought, I just had a quick look at this and scrubbed out some "specific" lines that I was concerned might not work for you... so I think this version is pretty universal, but if it does not work for you... then maybe post an example file and I'll have another look.
just uncomment the oPlacement line that fits your situation, and then set this rule to run on the before same event or similar.
I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com
'oPlacement = "Bottom Left"
'oPlacement = "Top Left"
'oPlacement = "Top Right"
'oPlacement = "Top of Title Block"
oPlacement = "Left of Title Block"
Dim oDrawDoc As Inventor.DrawingDocument
Dim oSheet As Inventor.Sheet
Dim oTG As TransientGeometry
Dim oRevTable As RevisionTable
oDrawDoc = ThisDoc.Document
oSheet = oDrawDoc.ActiveSheet
oTG = ThisApplication.TransientGeometry
Try
oRevTable = oDrawDoc.ActiveSheet.RevisionTables.Item(1)
Catch
Return 'exit rule
End Try
oBorderPointXMin = oSheet.Border.RangeBox.MinPoint.X
oBorderPointXMax = oSheet.Border.RangeBox.MaxPoint.X
oBorderPointYMin = oSheet.Border.RangeBox.MinPoint.Y
oBorderPointYMax = oSheet.Border.RangeBox.MaxPoint.Y
oTBPointXMin = oSheet.TitleBlock.RangeBox.MinPoint.X
oTBPointXMax = oSheet.TitleBlock.RangeBox.MaxPoint.X
oTBPointYMin = oSheet.TitleBlock.RangeBox.MinPoint.Y
oTBPointYMax = oSheet.TitleBlock.RangeBox.MaxPoint.Y
RevTableHgt = oRevTable.RangeBox.MaxPoint.Y - oRevTable.RangeBox.MinPoint.Y
RevTableLnt = oRevTable.RangeBox.MaxPoint.X - oRevTable.RangeBox.MinPoint.X
Select Case oPlacement
Case "Bottom Left"
oRTPointX = oBorderPointXMin '+ RevTableLnt
oRTPointY = oBorderPointYMin + RevTableHgt
oRevTable.HeadingPlacement = HeadingPlacementEnum.kHeadingAtBottom
oRevTable.TableDirection = TableDirectionEnum.kBottomUpDirection
Case "Top Left"
oRTPointX = oBorderPointXMin
oRTPointY = oBorderPointYMax
oRevTable.HeadingPlacement = HeadingPlacementEnum.kHeadingAtTop
oRevTable.TableDirection = TableDirectionEnum.kTopDownDirection
Case "Top Right"
oRTPointX = oBorderPointXMax - RevTableLnt
oRTPointY = oBorderPointYMax
oRevTable.HeadingPlacement = HeadingPlacementEnum.kHeadingAtTop
oRevTable.TableDirection = TableDirectionEnum.kTopDownDirection
Case "Top of Title Block"
oRTPointX = oTBPointXMax - RevTableLnt
oRTPointY = oTBPointYMax + RevTableHgt
oRevTable.HeadingPlacement = HeadingPlacementEnum.kHeadingAtBottom
oRevTable.TableDirection = TableDirectionEnum.kBottomUpDirection
Case "Left of Title Block"
oRTPointX = oTBPointXMin - RevTableLnt
oRTPointY = oTBPointYMin + RevTableHgt
oRevTable.HeadingPlacement = HeadingPlacementEnum.kHeadingAtBottom
oRevTable.TableDirection = TableDirectionEnum.kBottomUpDirection
End Select
'Move
oLocation = oTG.CreatePoint2d(oRTPointX, oRTPointY)
oRevTable.Position() = oLocation
