Its much more easy with .NET
private void MakeArc(Point3d p1, Point3d p2, Point3d p3)
{
Database db = HostApplicationServices.WorkingDatabase;
using (Transaction tr = db.TransactionManager.StartTransaction())
{
CircularArc3d arc = new CircularArc3d(p1, p2, p3);
BlockTableRecord btr = (BlockTableRecord)tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);
Arc a = new Arc(arc.Center, arc.Radius, arc.StartAngle, arc.EndAngle);
btr.AppendEntity(a);
tr.AddNewlyCreatedDBObject(a, true);
tr.Commit();
}
}