Thanks for the suggestion.
It seems like no existing function can achieve that and we need to write our own.
one of the algo i am thinking of is like this:
break the arcs into multiple (i) segments, then write a for i loop to:
1. get the start and end point of each segment.
2. use axl_ol_ol2 to get the intersection point and distance with the line or another arc's line segment.
3. store the interception points or distances (if no intersection).
after the for loop, we can have the intersection points or min distance.
larger the i, more accurate the result.