Reference point driven arc model line using Dynamo

Is there a node (built-in or package) or any other way, to create a Start-End-Radius Arc model line? To clarify I trying to create a reference point driven arc using dynamo to connect the reference points.

I don’t see one from the OOTB nodes but you should be able to do it with a little trig.

Basic and sloppy, but it works.

I skipped the trig and instead relied on some basic geometry intersections. It returned 6112 curves or warnings in a reasonable timeframe… Warning is customizable if you open the node and edit it, and I thought it necessary due to the likely scenario where a radius couldn’t reach both endpoints when feeding a list. Also added a true/false to flip the result to the opposite center point if you didn’t get a curve you liked the first time out.

Arc by Start, End, Radius.dyf (5.5 KB)


The circle method could inspire you (please share your graph when you are done):

1 Like

Another approach:

arc.dyn (11.7 KB)

1 Like

When two points and radius are specified, two arcs are possible…

c1 = Circle.ByCenterPointRadius({p1,p2},r1);
i1 = c1[0].Intersect(c1[1]);
p3 = i1[0].Translate(Vector.ByTwoPoints(i1[0],i1[1]),r1);
p4 = i1[1].Translate(Vector.ByTwoPoints(i1[1],i1[0]),r1);
a1 = Arc.ByThreePoints(p1,p3,p2);
a2 = Arc.ByThreePoints(p1,p4,p2);
1 Like

Psssst… that was why both solutions had incorporated a true/false or 1/-1 flip. :wink:

I’ll post an image of the inner workings of the one I built later on if I remember.

Thank you all for your efforts guys but none of the above is exactly what I am looking for… I am sure it is my fault. Let me explain better.
What I am trying to do is run the Start-End-Radius Arc command through Dynamo, feeding it 3 existing ref points, 2 for the start and end and a 3rd for the radius. The equivalent in Revit is to use Start-End-Radius Arc tool with 3d snapping on and snap to 3 existing reference points. The end result should be an arc driven by 3 reference points without having to run dynamo.
To put it another way, is like using the CurveByPoints.ByReferencePoints nod to connect 3 points but instead of getting a spline through points, to get an arc.
Thanks again.

Do you expect someone to do that for you or will you share what you tried?

I have not find any solution yet. I am trying a python script

When I have something that works be sure I will share it!

Great, do not hesitate to show the progress of your research (and optionally to start a new thread with it)…

If you have 3 points then don’t you just need Arc.ByCenterPointStartPointEndPoint?

Do you mean Arc.ByThreePoints?
Because the resulting model curve won’t be driven by the ref points if dynamo is not running. Thats why I used the CurveByPoints.ByReferencePoints analogy. With this node you get a spline driven by ref points even when dynamo is not running.

I guess that depends on where your third point is. With Revit’s Start-End-Radius the third point (radius) is the center of the arc.

And what do you mean “even when dynamo isn’t running”?

I’m also confused by that. Once dynamo generates the arc and you create the reference line/plane/whatever by it you will have no reason to keep dynamo running. You have the plane already at that point. And if dynamo is generating the shape how are you not run Dynamo?

The forum needs you to step back and explain where you are, where you want to be, and how you have tried to get there so far. Otherwise we can only give you directions from where we are to where we think you want to be.

Thanks a lot for the help

Please try something with Dynamo and share your graph with the related issues this forum could help to solve

I don’t think there is a way to do that without a python script. Unfortunately I can’t write code. That’s why I am asking for help!

If you don’t want to help then don’t! I understand the ethics of this forum. I don’t need a lecture.