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 word $$Mill
- The name of a milling group Contour_0.5. Any combination of letters and digits is allowed.
- Word Surface or letter S, followed by the machining surface Z coordinate.
- Word Depth or letter D, followed by the cutting depth.
- Word Rapid or letter R, followed by the rapid traverse level.
(The latter is defined as unsigned distance from the part surface).
- Word Tool or letter T, followed by the tool diameter.
- Word:
- On, or letter O, for the centerline cutting.
- Left, or letter L, for offset-left cutting
- Right, or letter R, for offset-right cutting
- Pocket, or letter P, for a pocket.
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 word $$Drill
- The name of the cycle Tap-1/2 in the PartMaker database.
- Word Chamfer or letter C followed by the hole chamfer value.
- Word Surface or letter S followed by the machining surface Z coordinate
- Word Depth or letter D followed by the nominal depth
- Word Rapid or letter R followed by the rapid traverse level
(The latter is defined as unsigned distance from the part surface).
- Word Through or letter T for a through hole or Word Blind or letter B for a blind hole.
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.