The GPF file consists of statements and data blocks. There are three types of statements, each of which has its own statement structure:
$$Mill
$$Mill(Contour_0.5)Surface(0.0000)Depth(1.0000)Rapid(0.0500)Tool(0.5000) On
(The latter is defined as unsigned distance from the part surface).
A $$Mill statement is followed by one or more profiles that represent the toolpath. Profiles consist of straight lines and circular arcs. Profiles can be closed or open. The profiles are defined as:
G0 X-3.000000 Y-3.000000//Start point: (-3,-3)
G1 X3.000000 Y-3.000000 //Line to (3,-3)
G3 X4.000000 Y-2.000000 I3.000000 J-2.000000 R1.000000//Counter-Clockwise arc to (4,-2).
// Circle center at (3,-2). Radius=1
G2 modifier is used for clockwise arc.
Each block must contain both X and Y coordinates in decimal format without leading zeros. Sequence numbers are allowed.
$$Drill
$$Drill(Tap-1/2)Chamfer(0.0500)Surface(0.0000)Depth(0.5000)Rapid(0.0500)Blind
(The latter is defined as unsigned distance from the part surface).
A $$Drill statement is followed by hole location blocks. Each block contains X,Y coordinates that must be in decimal format without leading zeros. Both coordinates must be in the first block.
Sequence numbers are allowed.
Example1: X0.000000 Y2.500000
Example2: N020 X0.000000 Y2.500000
$$End
This statement indicates the end of valid data. Comments can be placed after the $$End statement.