Civil 3d - Extract User Contour from Surface

See this.

Just a minor clarification…what you’re seeing is that the original polyline is getting updated or “moved” each time you change the elevation. This is the default behavior as it is very useful for the majority of cases. You are interested in the second use case, which is where Dynamo functions more like a LISP routine that just “runs and forgets”. We are working on making this a little easier to achieve, but what you have to do right now is turn off object binding.

More info here: