Cycle definition FANUC

Fanuc cycles implementation

Facing – complete cycle
(******)
({Cycle.Name} G41G42)
(******)
G21
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G00 G40 X[{Material.Outside}+2] Z2 {AuxiliarFunctions.VacuumONCode}
G72 W{Cycle.ZRough} R1
G72 P{Cycle.IDStart} Q{Cycle.IDEnd} U{Cycle.XFinish} W{Cycle.ZFinish} F{Tool.FeedRough}
N{Cycle.IDStart} G01 Z{Cycle.Geometry.First.Z}
{Cycle.Finish.Path}
G00 Z2
N{Cycle.IDEnd}
[[{Cycle.Skip.Finish}==0 && {Cycle.ZFinish} > 0]:::G40]
[[{Cycle.Skip.Finish}==0 && {Cycle.ZFinish} > 0]:::{Tool.ToolSingleLine}]
[[{Cycle.Skip.Finish}==0 && {Cycle.ZFinish} > 0]:::G96 M04 S{Spindle.SpeedFinish}]
[[{Cycle.Skip.Finish}==0 && {Cycle.ZFinish} > 0]:::G00 G41 X[{Material.Outside}+2] Z2 {AuxiliarFunctions.VacuumONCode}]
[[{Cycle.Skip.Finish}==0 && {Cycle.ZFinish} > 0]:::G70 P{Cycle.IDStart} Q{Cycle.IDEnd} F{Tool.FeedFinish}]
G00 G40 Z2
Facing – finish only
(******)
({Cycle.Name} G41G42 FO)
(******)
G21
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
G96 M04 S{Spindle.SpeedFinish}]
G00 G40 X[{Material.Outside}+2] Z2 {AuxiliarFunctions.VacuumONCode}
G00 G41 X[{Material.Outside}+2] Z{Cycle.Geometry.First.Z} F{Tool.FeedFinish}
{Cycle.Finish.Path}
G00 G40 Z2
Front groove
(******)
({Cycle.Name} G41G42)
(******)
G21
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
{Cycle.ExpandedG41G42.Path}
Inside – complete cycle
(******)
({Cycle.Name} G41G42)
(******)
G21
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G00 G40 X{Material.Inside} Z2 {AuxiliarFunctions.VacuumONCode}
G71 U{Cycle.XRough} R1
G71 P{Cycle.IDStart} Q{Cycle.IDEnd} U-{Cycle.XFinish} W{Cycle.ZFinish} F{Tool.FeedRough}
N{Cycle.IDStart} G00 X{Cycle.Geometry.First.X} Z{Cycle.Geometry.First.Z}
{Cycle.Finish.Path}
G00 X{Material.Inside}
G00 Z2
N{Cycle.IDEnd}
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G40]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::{Tool.ToolSingleLine}]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G96 M04 S{Spindle.SpeedFinish}]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G00 G41 X{Cycle.Geometry.First.X} Z[{Cycle.Geometry.First.Z}+1] {AuxiliarFunctions.VacuumONCode}]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G70 P{Cycle.IDStart} Q{Cycle.IDEnd} F{Tool.FeedFinish}]
G00 G40 Z2
{Cycle.Manual.Path}
Inside – finish only
(******)
({Cycle.Name} G41G42 FO)
(******)
G21
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G00 G40 X[{Material.Inside}-2] Z2 {AuxiliarFunctions.VacuumONCode}
G00 G41 X[{Cycle.Geometry.First.X}] Z{Cycle.Geometry.First.Z} F{Tool.FeedFinish}
{Cycle.Finish.Path}
G00 X{Material.Inside}
G00 G40 Z2
Outside – complete cycle
(******)
({Cycle.Name} G41G42)
(******)
G21
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G00 G40 X{Material.Outside} Z2 {AuxiliarFunctions.VacuumONCode}
G71 U{Cycle.XRough} R1
G71 P{Cycle.IDStart} Q{Cycle.IDEnd} U{Cycle.XFinish} W{Cycle.ZFinish} F{Tool.FeedRough}
N{Cycle.IDStart} G00 X{Cycle.Geometry.First.X} Z{Cycle.Geometry.First.Z}
{Cycle.Finish.Path}
G00 X{Material.Outside}
G00 Z2
N{Cycle.IDEnd}
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G40]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::{Tool.ToolSingleLine}]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G96 M04 S{Spindle.SpeedFinish}]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G00 G42 X{Cycle.Geometry.First.X} Z[{Cycle.Geometry.First.Z}+1] {AuxiliarFunctions.VacuumONCode}]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G70 P{Cycle.IDStart} Q{Cycle.IDEnd} F{Tool.FeedFinish}]
G00 G40 Z2
{Cycle.Manual.Path}
Outside – finish only
(******)
({Cycle.Name} G41G42 FO)
(******)
G21
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G00 G40 X[{Material.Outside}+2] Z2 {AuxiliarFunctions.VacuumONCode}
G00 G42 X{Cycle.Geometry.First.X} Z{Cycle.Geometry.First.Z} F{Tool.FeedFinish}
{Cycle.Finish.Path}
G00 X{Material.Outside}
G00 G40 Z2
{Cycle.Manual.Path}