Here’s one way you could try by using the PolyCurve.ByThickeningCurve node. I’ll add a disclaimer that this might not work perfectly every time. There is a bug in the current version of Dynamo for Civil 3D where sometimes PolyCurve.ByThickeningCurve doesn’t respect the input normal vector. It was supposedly fixed in Dynamo Core v2.9, but that probably won’t find it’s way into Civil 3D for a while. Read more here:
Also note that the ObjectExtensions.GetParameterByName node is from the Civil 3D Toolkit package.