Most machines only allow for 2d cutter comp. However they also can as an option be turned on the except 3d cutter comp. What type of machines do you plan on running the comp on? There is alot of ways pro can output what you want, it all comes down to the machine and post in the end.
In general you do not use CUTCOM (G41/G42) on 3D surfaces, although Pro/NC allows you to do so in Volume, pocket, profile and some other seqs.
For some machines that allow 3D comp (PQR typically), you can use 3DCOMP=YES setting in surface machining. It will output an extra vector on each GOTO that points to the normal vector to the surface at the contact point.