Circle in Dynamo not a complete circle in Revit!?!?!


Hi all,

question: what am I doing wrong?
I’ve create a circle in Dynamo with “Circle.ByCenterPointRadius” and Dynamo shows me the circle yet in Revit the rebar isn’t a circle. I’m missing 36 degrees of the circle!
How is that possible? What Is wrong here?


I’m not a rebar guy, so pardon the question if it’s stupid obvious, but can a rebar sketch be a complete circle in Revit or does it need to be two parts?


This is a Revit limitation. Revit has two types of curves - bound (fixed start and end ponts) and unbound (they continue to infinity). Closed curves (such as circles and ellipses) are by definition unbound and can’t be used for geometric elements, because the geometry kernel can’t rationalize the final geometry. That’s why Revit would automatically split those into two bound curves. For example try sketching a wall using a circle - Revit will automatically break it into two semi circular arcs. Another example is modeling a sphere in the massing environment - you’d end up with two hemispheres.

Therefore you’ll have to use similar methodology every time you want to sketch something circular and break your curve up.


So that’s way my circular foundation has a split line through the center!
Would a curve through point work then (closed = true)? I just have to calculate a minimum of 3 point then.


can you upload dyn file?


I would love to do that, but my boss doesn’t allow it.
With this script we want to create an advantage on our competition and they read this post also. :frowning:
But basicly what I did was creating a number of centerpoints in and matching radiusses.
And porting those polylines to Revit using the Rebar.ByCurve node.

But Revit doesn’t handle a 360 degree circle not the way it should.
For now I solved it with the node “Arc.ByCenterPointRadiusAngle”. Using the defauls start angle and 359.999 as the end angle.
For now this will work. But This has to be replaced by a part that uses the max rebar length and an overlapping distance.

Dieter Vermeulen (Autodesk) has done a similar script on radial rebar you should check that out.


I have to ask this from a rebar detailing point of view, do you actually need a closed circle. This is because within the uk the closest shape code to a circle is 75 but is not closed and has some overlap. This is down to how they would manufacture the bar.


Therefore i would suggest you break the circle to suit how you would detail it by shape codes then put it into the reinforcement detailing node to create the element into revit.

Also if the circle is huge you will have to split it into multiple semi circles to make a full circle because they cannot manufacture the full circle bar or the fact they wont be able to transport the bar to site.


I agree with @Brendan_Cassidy, you’ll need to add the lap length in. Unless your script is just trying to find the total rebar weight within a percentage tolerance for tender purposes?


You are 100% correct @Brendan_Cassidy and @Tom_James but I’m building my script in segments.
First I want the rebar like we currently are making it in 2D.
Here in the Netherlands we don’t make bar bending schedules (yet). So I don’t need to “draw/create” the lap length. However this IS something I would like to add after I have complete my 3D rebar model. And I’m able to generate it using the input via an excel file.
When my model is working I can tweak the calculation here and there for better rebar.

This also includes the start of the rebar. At this point all radial rebar starts at the X-line. That is not realistic ofcourse. The completed calculation should consider the max. rebar length, the over lap and that those overlapping parts aren’t close together.

But for now I’ll manage with the arc.bycenterpointradiusangle node.


Even if you are not building a bar bending schedule, the principles are needed to be able to build a 3d model of reinforcement in revit because they take the same principles to model rebar.

If you still want to go down the full circle route i would tell you to split the generated circle into two semi circles which will then do what you want it to do without any laps or things.