It’s ok if the component doesn’t run if the point is not in the plane of the circle, but it only happens if it’s in a positive direction from the normal direction of the plane, in a negative direction it does something strange.

```
private void RunScript(Circle circle, Point3d point, ref object A, ref object B)
{
Plane plane = circle.Plane;
double radius = circle.Radius;
point.Transform(Transform.PlanarProjection(plane));
Point3d pt = Point3d.Unset;
plane.RemapToPlaneSpace(point, out pt);
double dx = pt.X;
double dy = pt.Y;
double d = Math.Sqrt(dx * dx + dy * dy);
double a = Math.Asin(radius / d);
double b = Math.Atan2(dy, dx);
double ta = b + a;
double tb = b - a;
Point3d pa = plane.PointAt(radius * Math.Sin(ta), radius * -Math.Cos(ta));
Point3d pb = plane.PointAt(radius * -Math.Sin(tb), radius * Math.Cos(tb));
A = new Line(pa, point);
B = new Line(pb, point);
}
```