Plain code implementation – generic machines
Facing – complete cycle
( ******* )
({Cycle.Name} G41G42)
( ******* )
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
; ROUGHT
G0 G40 X{Cycle.Rough.First.X}
Z5
G0 Z{Cycle.Rough.First.Z}
{Cycle.Rough.Path}
Z15
; FINISH
G0 G40 X[{Material.Outside}+2]
Z5
G1 G41 X[{Material.Outside}+2] Z{Cycle.Geometry.First.Z}
{Cycle.Finish.Path}
G0 G40 Z5
Facing – finish only
( ******* )
({Cycle.Name} G41G42)
( ******* )
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G0 G40 X[{Material.Outside}+2]
Z5
G1 G41 X[{Material.Outside}+2] Z{Cycle.Geometry.First.Z} F{Tool.FeedFinish}
{Cycle.Finish.Path}
G0 G40 Z5
Front groove
(******)
({Cycle.Name} G41G42)
( ******* )
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G95 S{Spindle.SpeedFinish} M4
{AuxiliarFunctions.ChipVacuumONCode}
{Cycle.ExpandedG41G42.Path}
G0 Z5
Inside – complete cycle
( ******* )
({Cycle.Name} G41G42)
( ******* )
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G40
G0 X{Cycle.Rough.First.X} Z5
{Cycle.Rough.Path}
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::(** FINISH **)]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G0 X[{Cycle.Geometry.First.X}] Z[{Cycle.Geometry.First.Z}+2]]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G1 G41 X{Cycle.Geometry.First.X} Z{Cycle.Geometry.First.Z}]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::{Cycle.Finish.Path}]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G0 X[{Cycle.Geometry.Min.X}-2] Z[{Cycle.Geometry.Last.Z}+0.2]]
G0 G40 Z5
{Cycle.Manual.Path}
Inside – finish only
( ******* )
({Cycle.Name} G41G42 FO)
( ******* )
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G0 X[{Cycle.Geometry.First.X}] Z[{Cycle.Geometry.First.Z}+2]
G1 G41 X{Cycle.Geometry.First.X} Z{Cycle.Geometry.First.Z}
{Cycle.Finish.Path}
G0 X[{Cycle.Geometry.Min.X}-2] Z[{Cycle.Geometry.Last.Z}+0.2]
G00 G40 Z5
{Cycle.Manual.Path}
Outside – complete cycle
(******)
({Cycle.Name} G41G42)
(******)
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G40
G0 X{Cycle.Rough.First.X} Z5
{Cycle.Rough.Path}
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::(** FINISH **)]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G0 X[{Cycle.Geometry.First.X}] Z[{Cycle.Geometry.First.Z}+2]]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G1 G42 X{Cycle.Geometry.First.X} Z{Cycle.Geometry.First.Z}]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::{Cycle.Finish.Path}]
[[{Cycle.Skip.Finish}==0 && {Cycle.XFinish} > 0]:::G0 X[{Cycle.Geometry.Max.X}+2] Z[{Cycle.Geometry.Last.Z}+0.2]]
G0 G40 Z5
{Cycle.Manual.Path}
Outside – finish only
(******)
({Cycle.Name} G41G42 FO)
(******)
{Safe.Position}
{Tool.ToolSingleLine}
{Spindle.MaxSpeedExpression}
{Spindle.StartExpression}
G0 X[{Cycle.Geometry.First.X}] Z[{Cycle.Geometry.First.Z}+2]
G1 G42 X{Cycle.Geometry.First.X} Z{Cycle.Geometry.First.Z}
{Cycle.Finish.Path}
G0 X[{Cycle.Geometry.Max.X}+2] Z[{Cycle.Geometry.Last.Z}+0.2]
G00 G40 Z5
{Cycle.Manual.Path}