Here is how I do it:
Lay the track from the bottom of the grade to the top, including all curves, spline points etc. At this stage ignore the actual grade, just get the alignment right. Use wire frame view and look at it straight down. It's only the alignment that counts at this stage. Get it right. Tweaking the alignment later will wreck the grade. Most importantly do NOT use the 'Apply Height' tool at any stage.
Use the 'Get Height' track tool on the spline point at the foot of the grade and also at the top of the grade. Use a calculator to calculate the height difference.
Now you need the length of the track between the two points. Straight track is easy, use a ruler, but then if it was straight track the grade is easy too! User sforget has a track scanner tool on the DLS (get it
here) which will give the exact distance between two points. You need the metric length in meters. (Move the km decimal point three places to the right.)
For the arithmetically challenged use a calculator to subtract the lower elevation from the higher. Divide the answer by the distance you got from the scanner - hit the % key, not the = key and the number on the calc screen is the number to enter into the grade tool in Surveyor.
Here is one I did just half an hour ago:
Bottom Elevation: 1865.68
Top Elevation: 1890.08
Distance 5.928Km = 5928 meters.
1890.08 - 1865.68 = 24.4 Divided by 5928 = 0.41%
Apply the grade tool close to the uphill side of every track spline point in turn, working along the track from the bottom to the top. STOP applying the gradient tool after the second spline point from the top. Use the 'Get gradient' tool immediately after the last spline point on the grade. If everything has worked, the gradient of the last section should be the same (or at least very close to) the grade on the rest of the slope. It probably won't be exact, there are too many variables - if it is fairly close let it be.
Andy