Reverse Normal Command

I am trying to use the reverse normal command in one of my journals but I am unable to find the command and it does not record when recording a journal file. Is there a way to use this command or can I just change a property of the face or body?

Below is my current code and I have marked where the reverse face normal code should be placed.

'Checks all bodies in the current work part for their angle relative to the positive Z-Axis
'If the angle is greater than 90 degrees then reverse the face normal
'
'2/17/2016

Option Strict Off
Imports System
Imports System.Math
Imports NXOpen
Imports NXOpen.UF

Module Fix_Face_Normals

Sub Main()

Dim theSession As Session = Session.GetSession()
Dim theUISession As UI = UI.GetUI
Dim workPart As Part = theSession.Parts.Work

Dim markId1 As Session.UndoMarkId
markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Reverse Face Normals")

Dim surfaces As BodyCollection = workPart.Bodies

'create a vector to measure to
Dim nullFeatures_Feature As Features.Feature = Nothing
Dim datumAxisBuilder1 As Features.DatumAxisBuilder
datumAxisBuilder1 = workPart.Features.CreateDatumAxisBuilder(nullFeatures_Feature)
datumAxisBuilder1.ArcLength.Expression.RightHandSide = "0"
datumAxisBuilder1.IsAssociative = True
datumAxisBuilder1.Type = Features.DatumAxisBuilder.Types.ZcAxis
datumAxisBuilder1.ResizedEndDistance = 0.0
datumAxisBuilder1.ArcLength.Update(GeometricUtilities.OnPathDimensionBuilder.UpdateReason.Path)
Dim nXObject1 As Features.DatumAxisFeature
nXObject1 = datumAxisBuilder1.Commit()
datumAxisBuilder1.Destroy()

'get the direction from the vector
Dim zaxis As DatumAxis = nXObject1.DatumAxis

Dim verticals As Integer = 0
'for each body in the part, measure the angle then see if it is greater that 90, if it is then reverse the face normal
For Each obj As Body In surfaces
Dim face() As Face
face = obj.GetFaces

Dim angle As MeasureAngle
angle = workPart.MeasureManager.NewAngle(workPart.UnitCollection.FindObject("Degrees"), face(0), MeasureManager.EndpointType.None, zaxis, MeasureManager.EndpointType.None, True)
If Round(angle.Value, 5) > 90 Then 'flip the face normal

'************Reverse Face Normal Code Here***************

ElseIf Round(angle.Value, 5) = 90 Then
verticals = 1
End If
Next

'delete the vector that was created
Dim markId2 As Session.UndoMarkId
markId2 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Delete")
Dim nErrs1 As Integer
nErrs1 = theSession.UpdateManager.AddToDeleteList(nXObject1)
Dim notifyOnDelete2 As Boolean
notifyOnDelete2 = theSession.Preferences.Modeling.NotifyOnDelete
Dim nErrs2 As Integer
nErrs2 = theSession.UpdateManager.DoUpdate(markId2)
theSession.DeleteUndoMark(markId2, Nothing)

Dim messages(1) As String
messages(0) = "There are vertical walls, please check these face normals manually and fix as needed."
messages(1) = "All face normals have been checked and fix except for die-lock areas, please check these manually."

If verticals = 1 Then
theUISession.NXMessageBox.Show("Vertical Surfaces", NXMessageBox.DialogType.Warning, messages)
Else
theUISession.NXMessageBox.Show("Face Normals Checked", NXMessageBox.DialogType.Information, messages(1))
End If

End Sub

Public Function GetUnloadOption(ByVal dummy As String) As Integer

'Unloads the image immediately after execution within NX
GetUnloadOption = NXOpen.Session.LibraryUnloadOption.Immediately

End Function

End Module

The .CreateReverseNormal method will reverse the normal of a sheet body. It will not work on the face of a solid body.

Thank you this works great, I have added a check to make sure this is applied to a sheet body.