Yes, create new Polyline, add the two arc ends as vertices, calculate bulge and set it for the polyline segment.
double r = arc.Radius;
double u = arcStartPoint.GetDistanceTo(arcEndPoint);
double b = (2 * (r - Math.Sqrt(r.Pow(2) - u.Pow(2) / 4))) / u;
Hi,
Here's an example (refactored code):
var pline = new Polyline();
double angle = arc.EndAngle - arc.StartAngle;
if (angle < 0.0)
angle += 2.0 * Math.PI;
double bulge = Math.Tan(angle / 4.0);
var plane = new Plane(Point3d.Origin, arc.Normal);
pline.AddVertexAt(0, arc.StartPoint.Convert2d(plane), bulge, 0.0, 0.0);
pline.AddVertexAt(1, arc.EndPoint.Convert2d(plane), 0.0, 0.0, 0.0);
pline.Normal = arc.Normal;