VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Class1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
' step3a -  - a

' 1.                              - WorkContour
' 2.               - TDemWork
' 3.                         - DrawViewPointer
' 4.                     - WorkStamp
' 5.                             - TableWork
' 6.                        - DrawEquidistant
' 7.                              - DrawEllipse
' 8.                           - DrawPolyline
' 9.  Nurbs                             - DrawNurbs
' 10.                        - WorkTolerance
' 11.            - DrawSpecRough
' 12.     - DrawInsFragment1
' 13.         - DrawInsFragment2

Option Explicit

Public Kompas As Kompas6API5.Application      '  KompasObject

'  

Sub WorkContour(doc As Kompas6API5.Document2D)
  '  , style -   ( 1 - , 2 - ,
  ' 3 - , 4 - ,  5 - , 6 - ,
  ' 7 -    ,  8 -  ,
  ' 9 -  , 10 -  ,
  ' 11 - ,    )
  If doc.ksContour(1) Then
    doc.ksLineSeg 20, 30, 50, 30, 1           ' 
    doc.ksArcByPoint 50, 20, 10, 50, 30, 50, 10, -1, 1 '    
    
    doc.ksContour 2                           '  
      doc.ksLineSeg 50, 10, 20, 10, 1         ' 
      doc.ksArcByPoint 20, 20, 10, 20, 10, 20, 30, -1, 1 '    
    doc.ksEndObj                              '  EndObj      
    
    Dim contour As Long
    contour = doc.ksEndObj                    '  EndObj      

    doc.ksLightObj contour, 1                 '  
    Kompas.ksMessage ""
    doc.ksLightObj contour, 1                 '   
    
    '   , type -   ( 0 -  , 1 -  )
    Dim g As Long
    g = doc.ksNewGroup(0)
    doc.ksEndGroup                            '    
    
    doc.ksAddObjGroup g, contour              '     
    doc.ksMoveObj g, 10, 10                   '    10   OX,  10   OY
    Kompas.ksMessage " "
  End If
End Sub

'   

Sub TDemWork(doc As Kompas6API5.Document2D)
  '      
  Dim pGab As Kompas6API5.DynamicArray        '  ksDynamicArray
  Set pGab = Kompas.GetDynamicArray(RECT_ARR) '    
  
  Dim par As Kompas6API5.RectParam            '  ksRectParam
  Set par = Kompas.GetParamStruct(ko_RectParam) '      
  
  Dim pBot As Kompas6API5.MathPointParam      '  ksMathPointParam
  Set pBot = Kompas.GetParamStruct(ko_MathPointParam) '    
  
  Dim pTop As Kompas6API5.MathPointParam      '  ksMathPointParam
  Set pTop = Kompas.GetParamStruct(ko_MathPointParam) '    
  
  '  
  If Not pGab Is Nothing And Not par Is Nothing And Not pBot Is Nothing And Not pTop Is Nothing Then
    pBot.Init                                 ' 
    pTop.Init                                 ' 

    pTop.x = 415                              '     
    pTop.y = 80
    par.SetpTop pTop                          '   
    pBot.x = 230                              '     
    pBot.y = 65
    par.SetpBot pBot                          '   
    
    pGab.ksAddArrayItem -1, par               '    ,     

    pTop.x = 230                              '     
    pTop.y = 60
    par.SetpTop pTop                          '   
    pBot.x = 45                               '     
    pBot.y = 15
    par.SetpBot pBot                          '   
    
    pGab.ksAddArrayItem -1, par               '    ,     

    '   ksOpenTechnicalDemand
    ' 1.    ,
    ' 2. 0 -       
    If doc.ksOpenTechnicalDemand(pGab, 0) Then   '   
      Dim itemParam As Kompas6API5.TextItemParam '  ksTextItemParam
      '     
      Set itemParam = Kompas.GetParamStruct(ko_TextItemParam)
      
      If Not itemParam Is Nothing Then          '  
        itemParam.Init                          ' 
            
        Dim itemFont As Kompas6API5.TextItemFont '  ksTextItemFont
        Set itemFont = itemParam.GetItemFont    '      
        
        If Not itemFont Is Nothing Then         '  
          itemFont.Init                         ' 
          itemFont.SetBitVectorValue NEW_LINE, True '  
          itemParam.s = "1111111"               '    
          doc.ksTextLine itemParam              '     

          itemFont.Init                         ' 
          itemFont.SetBitVectorValue NEW_LINE, True '  
          itemParam.s = "2222222"               '    
          doc.ksTextLine itemParam              '     

          itemFont.Init                         ' 
          itemFont.SetBitVectorValue NEW_LINE, True '  
          itemParam.s = "3333333"               '    
          doc.ksTextLine itemParam              '     

          itemFont.Init                         ' 
          itemFont.SetBitVectorValue NEW_LINE, True '  
          itemParam.s = "4444444"               '    
          doc.ksTextLine itemParam              '     

          itemFont.Init                         ' 
          itemFont.SetBitVectorValue NEW_LINE, True '  
          itemParam.s = "5555555"               '    
          doc.ksTextLine itemParam              '     

          itemFont.Init                         ' 
          itemFont.SetBitVectorValue NEW_LINE, True '  
          itemParam.s = "6666666"               '    
          doc.ksTextLine itemParam              '     
          
          Set itemFont = Nothing
        End If
        
        Set itemParam = Nothing
      End If

      doc.ksCloseTechnicalDemand                '   
    End If
    
    Set pGab = Nothing
    Set par = Nothing
    Set pBot = Nothing
    Set pTop = Nothing
  End If
End Sub

'  

Sub TableWork(doc As Kompas6API5.Document2D)
  doc.ksTable                                 '  ,      
    doc.ksLineSeg 50, 50, 90, 50, 1           '  
    doc.ksLineSeg 50, 40, 90, 40, 1
    doc.ksLineSeg 50, 30, 90, 30, 1
    doc.ksLineSeg 50, 50, 50, 30, 1
    doc.ksLineSeg 70, 50, 70, 30, 1
    doc.ksLineSeg 90, 50, 90, 30, 1

    doc.ksText 52, 48, 0, 5, 1, 0, "1"        '    
    doc.ksText 72, 48, 0, 5, 1, 0, "2"
    doc.ksText 52, 38, 0, 5, 1, 0, "3"
    doc.ksText 72, 38, 0, 5, 1, 0, "4"
  doc.ksEndObj                                '     EndObj
End Sub

'   

Sub DrawViewPointer(doc As Kompas6API5.Document2D)
  Dim par As Kompas6API5.ViewPointerParam     '  ksViewPointerParam
  '     
  Set par = Kompas.GetParamStruct(ko_ViewPointerParam)
  
  If Not par Is Nothing Then                  '  
    par.Init                                  ' 
    
    par.X1 = 55                               '   () 
    par.Y1 = 50
    par.X2 = 40                               '    
    par.Y2 = 50
    par.xt = 40                               '  
    par.yt = 52
    par.Type = 0                              '      ( 0 -    ,
                                              ' 1 -     )
    par.Str = "A"                             ' 

    Dim p As Long
    p = doc.ksViewPointer(par)                '    
    
    If doc.ksExistObj(p) Then                 '     
      doc.ksLightObj p, 1                     '  
      doc.ksMessage "  "
      doc.ksLightObj p, 0                     '   
    End If
    
    Set par = Nothing
  End If
End Sub

'   

Sub WorkStamp(doc As Kompas6API5.Document2D)
  Dim stamp As Kompas6API5.stamp              '  ksStamp
  Set stamp = doc.GetStamp                    '   
  
  If Not stamp Is Nothing Then                '  
    If stamp.ksOpenStamp Then                 '   / 
      stamp.ksColumnNumber 2                  '    ,      

      Dim itemParam As Kompas6API5.TextItemParam '  ksTextItemParam
      '     
      Set itemParam = Kompas.GetParamStruct(ko_TextItemParam)
      
      If Not itemParam Is Nothing Then        '  
        itemParam.Init                        ' 
           
        Dim itemFont As Kompas6API5.TextItemFont '  ksTextItemFont
        Set itemFont = itemParam.GetItemFont  '      
        
        If Not itemFont Is Nothing Then       '  
          itemFont.Init                       ' 
          itemFont.SetBitVectorValue NEW_LINE, True '  
          itemParam.s = "1111111"             '    
          doc.ksTextLine itemParam            '      
          
          Set itemFont = Nothing
        End If
        
        Set itemParam = Nothing
      End If
  
      stamp.ksCloseStamp                      '   / 
    End If
    
    Set stamp = Nothing
  End If
End Sub

'  

Sub WorkTolerance(doc As Kompas6API5.Document2D)
  Dim par As Kompas6API5.ToleranceParam       '  ksToleranceParam
  '        
  Set par = Kompas.GetParamStruct(ko_ToleranceParam)
  
  Dim parPoint As Kompas6API5.MathPointParam  '  ksMathPointParam
  Set parPoint = Kompas.GetParamStruct(ko_MathPointParam) '    
  
  If Not par Is Nothing And Not parPoint Is Nothing Then '  
    par.Init                                  ' 
    parPoint.Init                             ' 

    Dim branArr As Kompas6API5.DynamicArray   '  ksDynamicArray
    Set branArr = par.GetBranchArr            '     
                                              '    
    Dim tolBran As Kompas6API5.ToleranceBranch '  ksToleranceBranch
    '   ""  
    Set tolBran = Kompas.GetParamStruct(ko_ToleranceBranch)
    
    If Not tolBran Is Nothing And Not branArr Is Nothing Then '  
        tolBran.Init                          ' 
        
        Dim arr As Kompas6API5.DynamicArray   '  ksDynamicArray
        Set arr = tolBran.GetpMathPoint       '      ""
        
        If Not arr Is Nothing Then            '  
          
          '   1- 
          parPoint.x = 40                     '   
          parPoint.y = 10
          arr.ksAddArrayItem -1, parPoint     '     ,     
          tolBran.arrowType = 2               '   ( 0 -  , 1 - , 2 -  )
          tolBran.tCorner = 1                 '   1  8,    ""  
          branArr.ksAddArrayItem -1, tolBran  '     
          
          '   2- 
          arr.ksClearArray                    '  
          parPoint.x = 100                    '    
          parPoint.y = 50
          arr.ksAddArrayItem -1, parPoint     '  1-    ,     
          parPoint.x = 100                    '    
          parPoint.y = 10
          arr.ksAddArrayItem -1, parPoint     '  2-    ,     
          tolBran.arrowType = 1               '   ( 0 -  , 1 - , 2 -  )
          tolBran.tCorner = 5                 '   1  8,    ""  
          branArr.ksAddArrayItem -1, tolBran  '     
          
          par.x = 40                          '   
          par.y = 40
          par.Type = 0                        '    ( 0 - , 1 -  )
    
          '    ,    (    1010 )   
          If doc.ksTolerance(par) Then
            
            Dim itemParam As Kompas6API5.TextItemParam '  ksTextItemParam
            '     
            Set itemParam = Kompas.GetParamStruct(ko_TextItemParam)
            
            If Not itemParam Is Nothing Then  '  
              itemParam.Init                  ' 
               
              Dim itemFont As Kompas6API5.TextItemFont '  ksTextItemFont
              Set itemFont = itemParam.GetItemFont    '      
              
              If Not itemFont Is Nothing Then '  
                itemFont.Init                 ' 
                
                doc.ksColumnNumber 1          '     ( 1-  )
          
                '    
                itemFont.SetBitVectorValue SPECIAL_SYMBOL, True ' 
                itemParam.Type = SPECIAL      ' 
                itemParam.iSNumb = 26         '  
                doc.ksTextLine itemParam      '  
    
                itemParam.Init                ' 
                doc.ksColumnNumber 2          ' 2- 
                itemFont.SetBitVectorValue NEW_LINE, True '  
                itemParam.s = "2222"          '    
                doc.ksTextLine itemParam      '  
    
                doc.ksColumnNumber 3          ' 3- 
                itemFont.SetBitVectorValue NEW_LINE, True '  
                itemParam.s = "2222"          '    
                doc.ksTextLine itemParam      '  
    
                itemParam.Init                ' 
                doc.ksColumnNumber 11         ' 11- 
                itemFont.SetBitVectorValue SPECIAL_SYMBOL, True ' 
                itemParam.Type = SPECIAL      ' 
                itemParam.iSNumb = 23         '  
                doc.ksTextLine itemParam      '  
    
                itemParam.Init                ' 
                doc.ksColumnNumber 12         ' 12- 
                itemFont.SetBitVectorValue NEW_LINE, True '  
                itemParam.s = "444"           '    
                doc.ksTextLine itemParam      '  
                
                doc.ksColumnNumber 13         ' 13- 
                itemFont.SetBitVectorValue NEW_LINE, True '  
                itemParam.s = "555"           '    
                doc.ksTextLine itemParam      '  
                
                Set itemFont = Nothing
              End If
              
              Set itemParam = Nothing
            End If
          End If
          
          Dim p As Long
          p = doc.ksEndObj                    '  EndObj       
          
          doc.ksLightObj p, 1                 '   
    
          arr.ksDeleteArray                   '    
          branArr.ksDeleteArray               '    
          
          Set tolBran = Nothing
          Set arr = Nothing
        End If
    End If
    
    Set par = Nothing
    Set parPoint = Nothing
  End If
End Sub

'  

Sub DrawEllipse(doc As Kompas6API5.Document2D)
  Dim par As Kompas6API5.EllipseParam         '  ksEllipseParam
  Set par = Kompas.GetParamStruct(ko_EllipseParam) '   
  
  If Not par Is Nothing Then                  '  
    par.Init                                  ' 
    
    par.xc = 50                               '   
    par.yc = 40
    par.A = 20                                '   
    par.B = 10
    par.Style = 1                             ' C  ( 1 - , 2 - , 3 - , 4 - ,
                                              ' 5 - , 6 - , 7 -    ,
                                              ' 8 -  , 9 -  , 10 -  ,
                                              ' 11 - ,    )
    Dim p As Long
    p = doc.ksEllipse(par)                    '  
    
    doc.ksLightObj p, 1                       '  
    Kompas.ksMessage ""
    doc.ksLightObj p, 0                       '   
    
    Set par = Nothing
  End If
End Sub

'  

Sub DrawEquidistant(doc As Kompas6API5.Document2D)
  Dim par As Kompas6API5.EquidistantParam     '  ksEquidistantParam
  Set par = Kompas.GetParamStruct(ko_EquidParam) '   
  
  Dim info As Kompas6API5.RequestInfo         '  ksRequestInfo
  Set info = Kompas.GetParamStruct(ko_RequestInfo) '     
  
  If Not par Is Nothing And Not info Is Nothing Then '  
    par.side = 2                              ' ,     
                                              ' 0-  , 1-  , 2-  
    par.cutMode = 0                           '     0- , 1-  
    par.degState = 0                          '     
                                              ' 0-  ,
                                              ' 1-  
    par.radRight = 5                          '  
    par.radLeft = 3                           '  
    par.Style = 1                             ' C  ( 1 - , 2 - , 3 - , 4 - ,
                                              ' 5 - , 6 - , 7 -    ,
                                              ' 8 -  , 9 -  , 10 -  ,
                                              ' 11 - ,    )
    
    info.commandsString = " "    '  
    
    Dim x As Double                           '   
    Dim y As Double
    
    '  
    Dim j As Integer
    Dim p1 As Long
    Do
      j = doc.ksCursor(info, x, y, Nothing)   '     
      
      If Not j = 0 Then
        par.geoObj = doc.ksFindObj(x, y, 1000000#) '       
                                              ' 1000000 -   -     x,y
        
        If doc.ksExistObj(par.geoObj) Then    '   
          p1 = doc.ksEquidistant(par)         '  
          
          If Not p1 = 0 Then
            doc.ksLightObj p1, 1              '  
            Kompas.ksMessage ""
            doc.ksLightObj p1, 0              '   
          Else
            Kompas.ksMessageBoxResult         '  
          End If
        Else
          Kompas.ksError "  "
        End If
      End If
    Loop While (j)
    
    Set par = Nothing
    Set info = Nothing
  End If
End Sub

'  

Sub DrawPolyline(doc As Kompas6API5.Document2D)
  '     
  Dim par As Kompas6API5.PolylineParam        '  ksPolylineParam
  Set par = Kompas.GetParamStruct(ko_PolylineParam) '    
  
  Dim pr As Kompas6API5.MathPointParam        '  ksMathPointParam
  Set pr = Kompas.GetParamStruct(ko_MathPointParam) '    
  
  If Not par Is Nothing And Not pr Is Nothing Then  '  
    par.Init                                  ' 
    pr.Init                                   ' 

    Dim arr As Kompas6API5.DynamicArray       '  ksDynamicArray
    Set arr = par.GetpMathPoint               '      
    
    If Not arr Is Nothing Then                '  
      pr.x = 10                               ' 1- 
      pr.y = 10
      arr.ksAddArrayItem -1, pr               '     
      pr.x = 20                               ' 2- 
      pr.y = 20
      arr.ksAddArrayItem -1, pr               '     
      pr.x = 30                               ' 3- 
      pr.y = 10
      arr.ksAddArrayItem -1, pr               '     
      pr.x = 40                               ' 4- 
      pr.y = 20
      arr.ksAddArrayItem -1, pr               '     

      par.Style = 2                           ' C  ( 1 - , 2 - , 3 - , 4 - ,
                                              ' 5 - , 6 - , 7 -    ,
                                              ' 8 -  , 9 -  , 10 -  ,
                                              ' 11 - ,    )
                                              
      Dim p As Long
      p = doc.ksPolylineByParam(par)          '  
      
      doc.ksLightObj p, 1                     '  
      Kompas.ksMessage ""
      doc.ksLightObj p, 0                     '   

      arr.ksDeleteArray                       '   
      
      Set arr = Nothing
    End If
    
    Set par = Nothing
    Set pr = Nothing
  End If
End Sub

'   Nurbs - 

Sub DrawNurbs(doc As Kompas6API5.Document2D)
  Dim par As Kompas6API5.NurbsPointParam      '  ksNurbsPointParam
  Set par = Kompas.GetParamStruct(ko_NurbsPointParam) '     NURBS
  
  If Not par Is Nothing Then                  '  
    par.Init                                  ' 
    
    '  Nurbs     
    doc.ksNurbs 3, 0, 1
      '    
      par.x = 0                               '  1- 
      par.y = 0
      par.Weight = 1                          '  1-  (   )
      doc.ksNurbsPoint par                    '    
      par.x = 20                              '  2- 
      par.y = 20
      par.Weight = 1                          '  2-  (   )
      doc.ksNurbsPoint par                    '    
      par.x = 50                              '  3- 
      par.y = 10
      par.Weight = 1                          '  3-  (   )
      doc.ksNurbsPoint par                    '    
      par.x = 70                              '  4- 
      par.y = 20
      par.Weight = 1                          '  4-  (   )
      doc.ksNurbsPoint par                    '    
      par.x = 100                             '  5- 
      par.y = 0
      par.Weight = 1                          '  5-  (   )
      doc.ksNurbsPoint par                    '    
      par.x = 50                              '  6- 
      par.y = -50
      par.Weight = 1                          '  6-  (   )
      doc.ksNurbsPoint par                    '    
    Dim p As Long
    p = doc.ksEndObj                          '  EndObj      
    
    doc.ksLightObj p, 1                       '  
    Kompas.ksMessage "NURBS"
    doc.ksLightObj p, 0                       '   
    
    Set par = Nothing
  End If
End Sub

'   

Sub DrawInsFragment1(doc As Kompas6API5.Document2D)
  Dim frg As Kompas6API5.Fragment             '  ksFragment
  Set frg = doc.GetFragment                   '  
  
  If Not frg Is Nothing Then                  '  
    '     
    Dim pDefFrg As Long
    pDefFrg = frg.ksFragmentDefinition("c:\1.frw", "frw1", 1)
    
    If Not pDefFrg = 0 Then
      Dim par As Kompas6API5.PlacementParam   '  ksPlacementParam
      Set par = Kompas.GetParamStruct(ko_PlacementParam) '  
      
      If Not par Is Nothing Then              '  
        par.angle = 45                        '      
        par.scale_ = 2                        ' 
        par.xBase = 30                        '       
        par.yBase = 40
        
        Dim p As Long
        p = frg.ksInsertFragment(pDefFrg, False, par) '    
        
        doc.ksLightObj p, 1                   '  
        Kompas.ksMessage "  "
        doc.ksLightObj p, 0                   '   
        
        Set par = Nothing
      End If
    End If
    
    Set frg = Nothing
  End If
End Sub

'   

Sub DrawInsFragment2(doc As Kompas6API5.Document2D)
  '    
  Dim frg As Kompas6API5.Fragment             '  ksFragment
  Set frg = doc.GetFragment                   '  
  
  If Not frg Is Nothing Then                  '  
  
    Dim pDefFrg As Long
    '   
    If Not frg.ksLocalFragmentDefinition("local") = 0 Then '    
    
      doc.ksLineSeg 0, 0, 10, 0, 1            '   
      doc.ksLineSeg 0, 0, 0, 10, 1
      doc.ksArcByPoint 0, 0, 10, 10, 0, 0, 10, -1, 1
      
      '    
      pDefFrg = frg.ksCloseLocalFragmentDefinition '      
      
      If Not pDefFrg = 0 Then                 '   
      
        Dim par As Kompas6API5.PlacementParam '  ksPlacementParam
        Set par = Kompas.GetParamStruct(ko_PlacementParam) '  
        
        If Not par Is Nothing Then            '  
          par.angle = 45                      '      
          par.scale_ = 2                      ' 
          par.xBase = 30                      '       
          par.yBase = 40
          
          Dim p As Long
          p = frg.ksInsertFragment(pDefFrg, False, par) '    
          
          doc.ksLightObj p, 1                 '  
          Kompas.ksMessage "  "
          doc.ksLightObj p, 0                 '   
          
          Set par = Nothing
        End If
      End If
    End If
    
    Set frg = Nothing
  End If
End Sub

' 

Sub DrawSpecRough(doc As Kompas6API5.Document2D)
  Dim par As Kompas6API5.SpecRoughParam       '  ksSpecRoughParam
  '     
  Set par = Kompas.GetParamStruct(ko_SpecRoughParam)
  
  If Not par Is Nothing Then                  '  
    par.Init                                  ' 
    
    par.t = 1                                 '     ( 1 - , 0 -  )
    par.s = "Rz40"                            '  
    par.sign = 2                              '   ( 0 -    , 1 -  
                                              '  , 2 -     
    par.Style = 1                             '    (1 -  )
    
    doc.ksSpecRough par                       '    
    
    Set par = Nothing
  End If
End Sub

'   

Public Function GetLibraryName() As String
  GetLibraryName = "-a"                '  
End Function

'    -      

Public Sub ExternalRunCommand(ByVal command As Integer, ByVal mode As Integer, ByVal kompas_ As Kompas6API5.Application)
  Set Kompas = kompas_                        '   
  Dim doc As Kompas6API5.Document2D           '  ksDocument2D
    
  Set doc = Kompas.ActiveDocument2D           '    2D 
  
  Select Case command
    Case 1
      WorkContour doc                         ' 
    Case 2
      TDemWork doc                            '  
    Case 3
      DrawViewPointer doc                     '  
    Case 4
      WorkStamp doc                           '   
    Case 5
      TableWork doc                           ' 
    Case 6
      DrawEquidistant doc                     ' 
    Case 7
      DrawEllipse doc                         ' 
    Case 8
      DrawPolyline doc                        ' 
    Case 9
      DrawNurbs doc                           ' Nurbs
    Case 10
      WorkTolerance doc                       '  
    Case 11
      DrawSpecRough doc                       '  
    Case 12
      DrawInsFragment1 doc                    '    
    Case 13
      DrawInsFragment2 doc                    '   
  End Select
End Sub

'   

Public Function ExternalMenuItem(ByVal number As Integer, itemType As Integer, command As Integer) As String
    itemType = 3 '"ENDMENU"'
    ExternalMenuItem = ""
    command = -1

    Select Case number
        Case 1                                '  1 - 
            itemType = 1 'MENUITEM'
            ExternalMenuItem = ""
            command = 1
        Case 2                                '  2 -  
            itemType = 1 'MENUITEM'
            ExternalMenuItem = " "
            command = 2
        Case 3                                '  3 -  
            itemType = 1 'MENUITEM'
            ExternalMenuItem = " "
            command = 3
        Case 4                                '  4 -   
            itemType = 1 'MENUITEM'
            ExternalMenuItem = " "
            command = 4
        Case 5                                '  5 - 
            itemType = 1 'MENUITEM'
            ExternalMenuItem = ""
            command = 5
        Case 6                                '  6 - 
            itemType = 1 'MENUITEM'
            ExternalMenuItem = ""
            command = 6
        Case 7                                '  7 - 
            itemType = 1 'MENUITEM'
            ExternalMenuItem = ""
            command = 7
        Case 8                                '  8 - 
            itemType = 1 'MENUITEM'
            ExternalMenuItem = ""
            command = 8
        Case 9                                '  9 - Nurbs
            itemType = 1 'MENUITEM'
            ExternalMenuItem = "Nurbs"
            command = 9
        Case 10                               '  10 -  
            itemType = 1 'MENUITEM'
            ExternalMenuItem = " "
            command = 10
        Case 11                               '  11 -  
            itemType = 1 'MENUITEM'
            ExternalMenuItem = " "
            command = 11
        Case 12                               '  12 -    
            itemType = 1 'MENUITEM'
            ExternalMenuItem = "   "
            command = 12
        Case 13                               '  13 -   
            itemType = 1 'MENUITEM'
            ExternalMenuItem = "  "
            command = 13
        Case 14                               '   
            itemType = 3 '"ENDMENU"'
            ExternalMenuItem = ""
            command = -1
    End Select
End Function


