Can we offset polycurves through negative distances?

Hello,

I have created polycurve over a small stretch of Civil3D alignment and would need to offset this on either side of the alignment based on offset inputs being sourced from a spreadsheet.

I find that Curve.Offset node or PolyCurve.Offset nodes always seem to ignore negative offset distances and only consider positive values. So in essence the curve ends up on the right hand side of the alignment as opposed to left hand side. I have even reversed curves and then tried to offset as a potential workaround but that doesn’t seem to work either. Please can you advise if there are other potential solutions or would this be inherent shortfall of dynamo curves?

Best regards
Madhu

Hi @Madhu_Sundaram

There are many ways to offset polycurve. Possible to share relevant files for clean solution?

1 Like

Thanks @Kulkul for offering to help and apologies for the delayed response.

My concerns with regard to polycurve offsets in the increasing direction of alignment chainages still persist. I have recently found that the Curve.offset node seems to work the other way around, feed it a positive offset value and the polycurve is placed to the left of the alignment in the increasing direction of the alignment chainage as opposed to the right, which indicates positive offset.

Perhaps i am doing something wrong here and if you are able to spot what is wrong that would help me to understand the concept. But if you can’t that is fine, as i am currently using other techniques to create geometry along alignments based on user specified stations and offsets.


Alignment Offsets.dwg (2.3 MB)
Alignment Offsets.dyn (27.4 KB)

Best regards
Madhu

I see what you mean by the offset direction being different than what is standard for alignments, but it seems like an easy fix to me. When you get the values from the spreadsheet, just multiply all of the “right” offsets by -1.

OR

If you want to keep the right=positive and left=negative convention, just feed the offsets into the Alignment.CoordinateSystemByStationOffset node and skip the process of offsetting the polycurve.

1 Like

Thanks @mzjensen, your 2ND suggestion is preferred and i have been using the same in combination with “Surface.SamplePoint” to sample levels and in turn generate polycurves at the desired location.


Changing the +ve / -ve convention will take some getting used to and hence i have steered away from it for now. :slight_smile: But thanks again for your input, i am now confident that i am leveraging the most optimum nodes for the task in hand.

Best regards
Madhu