This version of the code takes into account also overlapping arcs, so no more warnings of overlapping objects should pop up when you run the macro (like in previous versions).
To determine if two arcs are overlapping I used the Project() method which projects a XYZ point onto a curve and then I measured the distance between the projected point and the original point (which is one end of the other curve). If the distance is equal to zero (well, a rounded distance at the nineth decimal digit because you never know...), then the curves overlap.
I managed to reverse one of the two arcs to get the proper result which is the shortest arc passing through all the vertices of the two orginal arcs, because the algorythm works if the curves are equally oriented (in other words they share the same normal).
You can find the source here. If you are happy with my code please show me some gratitude Paying What You Want via PayPal to: