The way I create macro programs on our CX-20s is as follows (I hope and presume your DW is similar). Firstly I get Esprit/w to generate the pitch program (sample below) Then create the cut path nc code for the shape I want.
Firstly the pitching program saved in L1 perhaps then save the cutting nc into L2
N10 G92 X0 Y0 (origin)
N11 G01 X10.000 Y0 F500. M91 (move to first pitch position)
N12 M20 (thread if required)
N13 G22 L2 (macro call - L2 refers to your cutting nc)
N14 G92 X10.000 Y0 (resets origin here due to shape nc program setting it's own G92)
N15 M21 (cut probably needed)
N16 G01 X20.000 Y0 F500. M91 (move to next pitch position)
N18 G22 L2
and so on.....
Note: Your cutting nc program needs G23 just above any M02 or M30 (usually at the end) which is return to macro