MJP,
I am now looking for exactly the same thing. What did you end up doing? I generally hate exploding things, but I think I can get a 3d polyline with true length if I explode the profile.
Well, the way we did it was copy your dwg you are working in with the profile you want slope distance with (make sure you make your profile 1:1), then select your profile line only, explode it, and move it far away from your profile, and explode again as it is a block. This will destroy your profile in most cases, thus the copy of the dwg. After the 2nd explode you will have line segments. Flatten all of those, and make a polyline of all of those segments. Then, make it an alignment of the new polyline with same station as your profile. Remake a new profile, and then take your alignment and place at 0+00 of your profile line (profile with vertical exaggeration) . (see attachment) You then will be able to label the alignment within the profile and find the slope distance. Now you know why I was hoping to find a lisp routine... slope dist of the pipe. It is very handy to provide this to the pipe purchase person.
It is up to you to decide if you want to copy that alignment into your good dwg. I like to make a label in the temp dwg to show the labels, and then make a multi-leader text with that info and copy into your good dwg. Yes, this is a pain. One would think they might have thought of this before for C3D. I would like to know if the latest version of C3D can do this... anybody?
MJP