machine fanuc

#  Option for with Fanuc18t control.
#  Modified by Delcam HK on 14 May 2002.
 
   define word TN
    address letter = "( T - "
    address width  = 6
    field width    = 2
   end define

   define word TL
    address letter = "  / L - "
    address width  = 7
    field width    = 2
   end define

   define word TD
    address letter = "   DIA. = "
    address width  = 10
    field width    = 6
    scale factor   = 2
   end define

   define format (TD)
    metric formats
    decimal point = true
    decimal places = 2
    leading zeros  = false
    trailing zeros = true
    imperial formats = metric formats
   end define

   define word TD2
    address letter = "( DIA. = "
    address width  = 9
    field width    = 6
    scale factor   = 2
   end define

   define format (TD2)
    metric formats
    decimal point = true
    decimal places = 2
    leading zeros  = false
    trailing zeros = true
    imperial formats = metric formats
   end define

   define word TipR
    address letter = "  / R = "
    address width  = 7
    field width    = 6
    scale factor   = 1
   end define

   define format (TipR)
    metric formats
    decimal point = true
    decimal places = 2
    leading zeros  = false
    trailing zeros = true
    imperial formats = metric formats
   end define

   define word TPN
    address letter = "    /TPN -     "
    address width  = 11
    field width    = 6
    scale factor   = 2
   end define

define word TM
     address letter = "( Time = "
    address width  = 9
    scale divisor   = 60
    end define
    
   define format ( TM )
       not modal
       field width    = 10
       metric formats
       decimal point  = true
       decimal places = 2
       trailing zeros = false
       sign = if negative
   end define
    
#
   define format ( / G6 S T L P D E H O )
    address width              =   1
    field width                =   2
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = none
    not permanent
    not modal
   metric formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   imperial formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   end define
 
   define format ( M1 M2 )
    address width              =   1
    field width                =   2
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = none
    not permanent
    not modal
   metric formats
    leading zeros              = true
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   imperial formats
    leading zeros              = true
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   end define

   define format ( N )
    address width              =   1
    field width                =   4
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = none
    not permanent
    not modal
   metric formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   imperial formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   end define
 
   define format ( G1 G2 G3 G4 G5 G7 )
    address width              =   1
    field width                =   2
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = none
    not permanent
    modal
   metric formats
#    leading zeros              = false
    leading zeros              = true
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   imperial formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   end define
 
   define format ( X Y Z R B C )
    address width              =   1
    field width                =   8
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = if negative
    not permanent
    modal
   metric formats
    leading zeros              = false
    trailing zeros             = false
    decimal point              = true
    decimal places             =   3
   imperial formats
    leading zeros              = false
    trailing zeros             = false
    decimal point              = true
    decimal places             =   4
   end define
 
   define format ( I J K )
    address width              =   1
    field width                =   8
    exponent width             =   0
    scale factor               =  -1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = if negative
    not permanent
    not modal
   metric formats
    leading zeros              = false
    trailing zeros             = false
    decimal point              = true
    decimal places             =   3
   imperial formats
    leading zeros              = false
    trailing zeros             = false
    decimal point              = true
    decimal places             =   4
   end define
 
   define format ( R2 Z2 Q1 )
    address width              =   1
    field width                =   8
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = if negative
    not permanent
    not modal
   metric formats
    leading zeros              = false
    trailing zeros             = false
    decimal point              = true
    decimal places             =   3
   imperial formats
    leading zeros              = false
    trailing zeros             = false
    decimal point              = true
    decimal places             =   4
   end define
 
   define format ( Q A U V W )
    address width              =   1
    field width                =   2
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = if negative
    not permanent
    not modal
   metric formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   imperial formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   end define
 
   define format ( F )
    address width              =   1
    field width                =   2
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = if negative
    not permanent
    modal
   metric formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   imperial formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   end define
 
   define format ( MS EM OP )
    address width              =   1
    field width                =   0
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = none
    not permanent
    not modal
   metric formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   imperial formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   end define
 
   define format ( ID )
    address width              =   1
    field width                =   4
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = none
    not permanent
    not modal
   metric formats
    leading zeros              = true
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   imperial formats
    leading zeros              = true
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   end define
 
   define format ( null )
    address width              =   0
    field width                =   0
    exponent width             =   0
    scale factor               =   1
    scale divisor              =   1
    tape position              =   0
    print position             =   1
    sign                       = none
    not permanent
    not modal
   metric formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   imperial formats
    leading zeros              = false
    trailing zeros             = true
    decimal point              = false
    decimal places             =   0
   end define
 
# linked words
   define format ( MS )
     link to EM
   end define
 
 
    word order = (    OP   N    G1   G2   G3   G4   G5   )
    word order = ( +  G6   G7   X    Y    Z    B    C    )
    word order = ( +  I    J    K    R    D    S    T    )
    word order = ( +  H    M1   M2   MS   msg  EM   Q    )
    word order = ( +  Q1   Z2   R2   ID   F    )
#
    word order = ( +  TN  TL  TD  TPN  TD2  TipR  )
#
  define keys
    blocknumber                       not used
    preparatory function              = G1
    aux function                      = M1
    x feedrate                        not used
    y feedrate                        not used
    z feedrate                        not used
    circle angle                      not used
    x coordinate                      = X
    y coordinate                      = Y
    z coordinate                      = Z
    key i                             = I
    key j                             = J
    key k                             = K
    feedrate                          = F
    feedrate per revolution           = F
    spindle                           = S
    tool number                       = T
    cycle dwell                       not used
    dwell                             = X
    tool length                       = H
    tool radius                       = D
    drill peck depth                  = Q1
    drill hole depth                  = Z2
    clearplane                        = R2
    message start                     = MS
    message end                       = EM
    opskip                            = OP
    radius                            = R
    program id                        = ID
    azimuth axis                      = B
    elevation axis                    = C
    3rd rotation axis                 = null
    leader                            not used
    x vector                          not used
    y vector                          not used
    z vector                          not used
  end define
 
  define codes
    rapid                             =  G1    0
    linear                            =  G1    1
    circle cw                         =  G1    2
    circle ccw                        =  G1    3
    dwell                             =  G6    4
    xy plane                          =  G3   17
    zy plane                          =  G3   19
    xz plane                          =  G3   18
    compensation off                  =  G2   40
    compensation on left              =  G2   41
    compensation on right             =  G2   42
    imperial data                     =  G4   20
    metric data                       =  G4   21
    absolute data                     =  G5   90
    incremental data                  =  G5   91
    from                              =  G3   54
    feedrate per minute               not used
    feedrate per revolution           not used
    spindle rpm                       not used
    constant surface speed            not used
    drill                             =  G4   81
    break chip                        =  G4   82
    deep drill                        =  G4   83
    tap                               =  G4   84
    bore 1                            =  G4   85
    bore 2                            =  G4   86
    bore 3                            =  G4   87
    bore 4                            =  G4   88
    bore 5                            =  G4   89
    end of drill                      =  G4   80
    macro start                       not used
    macro end                         not used
    macro call                        not used
    cycle retract                     =  G6   99
    tool length offset                =  G6   43
    spline                            not used
    stop                              =  M1    0
    opt stop                          =  M1    1
    spindle on cw                     =  M1    3
    spindle on cc                     =  M1    4
    spindle off                       =  M1    5
    spin coolant on cw                =  M1   13
    spin coolant on ccw               =  M1   14
    spin coolant off                  =  M1    5
    change tool                       =  M1    6
    coolant on mist                   =  M1    7
    coolant on                        =  M1    8
    coolant on flood                  =  M1    8
    coolant off                       =  M1    9
    clamp on                          not used
    clamp off                         not used
    end of tape                       =  M1    2
    end of prog                       =  M1   30
    gear range 1                      not used
    gear range 2                      not used
    gear range 3                      not used
    constant contour speed            not used
    constant contour speed 2          not used
    word drill                        not used
    word break chip                   not used
    word deep                         not used
    word tap                          not used
    word bore 1                       not used
    word bore 2                       not used
    word bore 3                       not used
    word bore 4                       not used
    word bore 5                       not used
  end define
 
  print header               = "Delcam Postprocessor"
  machine name               = "Fanuc6m          version 1.2"
  point                      = "."
  zero                       = "0"
  tape headers               =     1
  integer   6                =     2
  integer   7                =     1
  integer  10                =     2
  integer  11                =     1
#
  integer  12                =     1
#  integer  12                =     0
#  integer  13                =     0
#
  tool reset coordinates     =     2
  cycle output               =     1
  integer  20                =     1
  block start                =     1
  block increment            =     1
  split move                 =     0
  integer  26                =     1
  program id start           =     1
  integer  34                =     3
  integer  35                =     1
  integer  36                =     1
  integer  37                =     2
  rapid feed code            =     0
  maximum block number       =     0
  maximum tape blocks        =     0
  minimum tape blocks        =     0
  segment type               =     0
  counter start              =     0
  counter increment          =     0
  tape split retract distance  =  -999
  multiaxis coordinate transform  = true
  message output             = false
#
#  block order                = false
  block order                = true
#
  tlo output                 = true
  tape split on tool change  = false
  full circle                = true
  incremental centre         = true
  go home output             = false
  use partid                 = true
  use progid                 = true
  spindle x motion           = false
  spindle y motion           = false
  spindle z motion           = true
  spindle w motion           = false
  spindle azimuth rotation   = false
  spindle elevation rotation  = false
  linearise multiaxis moves  = true
  use hole top in cycles     = false
  knot vector type           = none
  units                      = input
  coordinates                = absolute
  azimuth axis units         = none
  azimuth axis direction     = none
  elevation axis units       = none
  elevation axis direction   = none
  spline type                = none
  maximum feedrate           =  9999.0000
  minimum feedrate           =     1.0000
  rapid feedrate             =  9999.0000
  maximum tape length        =     0.0000
  maximum segment            =     0.0000
  diameter                   =     1.0000
  withdrawal amount          =    50.0000
 
  azimuth axis parameters    = (      0      0      0      0      0      0 )
  azimuth centre             = (      0      0      0 )
  elevation axis parameters  = (      0      0      0      0      0      0 )
  elevation centre           = (      0      0      0 )
  pcs origin                 = (      0      0      0      0      0      0 )
  linear axis limits         = ( -99999 999999 -99999 999999 -99999 999999 )
  rotary axis limits         = ( -99999 999999 -99999 999999    999      1 )
  move safe angles           = (      0      0      0      0 )
 
  define block tape start
    "%"

#
   
    G3  17 ;  G6 ToolComp ; G2 49 ; G4  80
    G5  91    ; G6  28    ; Z   0     ; Z =C
    
    G5  90    ; G3  54    ; X 0  ; Y 0      ; X =C      ; Y =C  ; 
 #   "G43" H1 "G1 0 ; Z SafZ "G43 H1 "
  # "G43" 
  # Z SafZ  
 #" H1 "
    TN ToolNumber ; TPN ToolPathName ; " )"
    TD2 ToolRadius[ToolNum] ; TipR TipRadius[ToolNum] ; TL ToolLength[ToolNum] ; " )"
    TM ToolPathTime ; " Min )"
    M1  07 
    
    
   
  end define
 
  define block tape end
 #  G1 0 ; Z SafZ
    M1  5 
    G5  91    ; G6  28    ; Z   0     ; Z =C            
    M1  30
    "%"
  end define
 
  define block go home preamble
  end define
 
  define block tool change first
  end define
 
  define block tool change
  end define
 
  define block tool change clear
  end define
 
  define block go home z move
  end define
 
  define block go home xy move
  end define
 
  define block move from
  end define
 
  define block move circle
    G1  ; G2  ; G3  ; X   ; Y   ; Z   ; I   ; J   ; K   ; F   ; D
  end define
 
  define block move linear
  end define
 
  define block move rapid
#    S  ; M1 3 
#   G1  ; G2  ; G3  ; G5  ; G6  ; X   ; Y   ; Z   ; T   ; H  
    rapid ; G2 ; G3 ; G5 ; G6 ; x coord ; y coord ; z coord ; tool length ; S ; M1 
  end define
 
  define block move cycle
    G4  ; G6  ; X   ; Y   ; Z2  ; R2  ; Q   ; Q1  ; F   ; M2
  end define
 
  define block move tap
    G6  ; G4  ; X   ; Y   ; Z2  ; R2  ; F   ; M1  ; M2
  end define
 
  define block tape segment
  end define
 
  define block tape split start
    "%"
  end define
 
  define block tape split end
#    M1  9
    M1  5
    G4  80    ; G1  28    ; G6  91    ; Z   0     ; Z =C
    G4  80    ; G6  28    ; Y   0     ; Y =C
    M1  30
    "%"
  end define
 
  define block cycle start
    S   ; M1
    G3  ; G5  ; M2
    F =C      ; G4 =C     ; Z2  ; R2  ; Q   ; Q1  ; G6  ;
  end define
 
  define block cycle end
    
    G4  80
  end define
 
  define block tape split move
  end define
 
  define block move spline
  end define
 
end

