Get Space Type form selected Pattern Feature


I would like to let user select pattern feature and do something with it. But it is necessary to split code for SpaceType "Offset" and SpaceType "List". How do I get spaceType from selected Pattern Feature? I cabt find out how use GeometricUtilities.PatternSpacing.SpacingType to return value as String.

The code below shows how to get the space type for a few pattern types (the other types will be similar). Instead of extracting the spacing type as a string and doing a string comparison; I suggest comparing the spacing type to the enumeration value. This will lead to more robust code.

Option Strict Off
Imports System
Imports NXOpen
Imports NXOpen.UF
Module Module1
    Dim theSession As Session = Session.GetSession()
    Dim theUfSession As UFSession = UFSession.GetUFSession()
    Dim theUI As UI = UI.GetUI()
    Dim lw As ListingWindow = theSession.ListingWindow
    Sub Main()
        Dim workPart As Part = theSession.Parts.Work
        Dim myPatternFeat As Features.PatternFeature = Nothing
        Dim found As Boolean = False
        For Each temp As Features.Feature In workPart.Features
            If TypeOf (temp) Is Features.PatternFeature Then
                myPatternFeat = temp
                found = True
                Exit For
            End If
        If Not found Then
        End If
        Dim markId1 As Session.UndoMarkId
        markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "NXJ")
        Dim patternFeatureBuilder1 As Features.PatternFeatureBuilder
        patternFeatureBuilder1 = workPart.Features.CreatePatternFeatureBuilder(myPatternFeat)
        lw.WriteLine("pattern feature found: " & myPatternFeat.GetFeatureName)
        lw.WriteLine("pattern method: " & patternFeatureBuilder1.PatternMethod.ToString)
        lw.WriteLine("pattern definition: " & patternFeatureBuilder1.PatternService.PatternType.ToString)
        Select Case patternFeatureBuilder1.PatternService.PatternType
            Case Is = GeometricUtilities.PatternDefinition.PatternEnum.Linear
                lw.WriteLine("pattern spacing: " & patternFeatureBuilder1.PatternService.RectangularDefinition.XSpacing.SpaceType.ToString)
            Case Is = GeometricUtilities.PatternDefinition.PatternEnum.Circular
                lw.WriteLine("pattern spacing: " & patternFeatureBuilder1.PatternService.CircularDefinition.AngularSpacing.SpaceType.ToString)
            Case Is = GeometricUtilities.PatternDefinition.PatternEnum.Polygon
                lw.WriteLine("pattern spacing: " & patternFeatureBuilder1.PatternService.PolygonDefinition.PolygonSpacing.SpaceType.ToString)
            Case Is = GeometricUtilities.PatternDefinition.PatternEnum.Spiral
                lw.WriteLine("pattern spacing: " & patternFeatureBuilder1.PatternService.SpiralDefinition.PitchAlongSpiral.SpaceType.ToString)
            Case Is = GeometricUtilities.PatternDefinition.PatternEnum.AlongPath
                lw.WriteLine("pattern spacing: " & patternFeatureBuilder1.PatternService.AlongPathDefinition.XOnPathSpacing.SpaceType.ToString)
            Case Is = GeometricUtilities.PatternDefinition.PatternEnum.General
            Case Is = GeometricUtilities.PatternDefinition.PatternEnum.Reference
            Case Is = GeometricUtilities.PatternDefinition.PatternEnum.Mirror
            Case Is = GeometricUtilities.PatternDefinition.PatternEnum.Helix
        End Select
    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