Arc with angle more than 360°

Hi everyone,

In order to create my circular rebars using API, I need at first create an arc which should have an overlap distance as shown in the image below (In this case the arc angle is more than 360 degree)

I thought to use Arc.ByThreePoints to bypass the angle exceeding 360 degrree but it not works!!..So is there a way to create this arc?

Here my code:

import sys
import clr
import math
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

circle = Circle.ByCenterPointRadius(Point.Origin(), 1.7507)
overlap_length = 1.00

Pt1 = circle.StartPoint
Pt2 = circle.PointAtSegmentLength(circle.Length / 2)
Pt3 = circle.PointAtSegmentLength(overlap_length)
arc = Arc.ByThreePoints(Pt1, Pt2, Pt3)

OUT = Pt1, Pt2, Pt3, arc

Thanks in advance for your help

If you manually create the rebar, does it have a sweep angle greater than 360 degrees? Or is it two arcs or even two separate bars?

1 Like

How about using a spiral?

2 Likes

Hi @jacob.small, @Alien

I can create rebar manually in Revit with 360 degrees as shown below (a single rebar with an angle of 360degrees) after modifiying its constraints, but I can’t extend it as I want with an angle greater than 360 degrees

As I know spiral is a succession of arcs of diferents diameter and that not works in my case

Thanks.

Is there a shape code within your country similar to the below in BS8666, because if there is then you do not need a arc to generate it.

If you have a shape code then you can use the following API that does not require any curve info.

1 Like

If you can’t do it in Revit, you likely can’t make Dynamo do it in Revit, and if you can it is usually a bad idea…

Use the right shape type as noted by @Brendan_Cassidy

1 Like

Thanks @Brendan_Cassidy for your replay

I found in my rebar family the shape you indicated as shown below

image

OK… in this case I should use CreateFromRebarShape Method to create my rebar, but how can I using API define or manage the overlap distance that I want (in my case it’s: 50 x bar diameter)? …I can’t figure out how to do it in this case
Have you an example for that you can shared with me pls?

Thanks.