Curve offset question


I am having trouble understanding the curve offset behavior.

I have a list of arcs. the arcs in the list were all created by the same method and then replicated.

When I apply the Curve.Offset node to that list it will offset some arcs in and some out.

Any ideas for how to remedy this behavior?



As follow up…

The issue appears to be related to the curves themselves and their inside/outside orientation.

It is NOT, however related to the curve’s direction.

On the image below when using STRUCTURALFRAMING.BEAMBYCURVE, there is no consistency on which side of the curve the beams appear.

The inset has highlighted the source curve CURVE.STARTPOINT, to show that the curves are all oriented in the same way.

I am baffled.


Hi Alex,

I’ve experienced this behaviour in older versions of Dynamo, but in 0.81 it seems to be working as expected. If you want to make sure that your arcs are always being offset uniformly, you could try comparing their lengths.



Thank you Dimitar, that fixes the offset problem

Hoewever, I am still having issues with the StructuralFraming.BeamByCurve node. Any thoughts on how to ensure it draws all curves the same way?



So all the start points are orientated the same way? I’m not sure why the beams are still misbehaving. The easiest option would be to set the beams’ “z Justification” to center. Would that suit the design intent?


This may be a Revit issue as much as a Dynamo issue. Revit likes to use order of the “clicks” for selecting element orientation (this is true for walls, beams, etc).

Since this is a beam by curve method (i.e. no first “click”, second “click”), it looks like revit must use some other method for selecting the orientation of the element. I had hoped that the curve orientation would serve that purpose, but alas, it was not to be.

I would prefer not to center the beam z-justification. The reason is that I want to be clear in my conversations with my engineers that the points I am providing them are “top of steel”, rather than steel centerline. My engineers will prefer that method as well.

The other workaround is to manually reverse the beams in Revit. The problem there is that we need to repeat that every time there is a geometry update. To make things worse, there will be about 230 individual beams to check.

If you, Dimitar, or anyone els has other thoughts; I’d love to hear them.