Depends on what you are doing. If this is a one-time-drawing-thing, then you
can make copies of the shapes, then perform Shape > Operations > Fragment or
Trim. This will break the shapes into the individual overlapping areas or
line-segments, respectively.
If you need to do it in the ShapeSheet, then you have to solve the problems
with algebra and trigonometry, which can be a bear of a task. There are
IntersectX and IntersectY functions for straight-line math, but that won't
get you very far.
If you need to do it via code, then you can probably handle the math a bit
easier, or you might try the Points method, which gives you an array of
points along a curve, at the tolerance of your choice. Then you can
approximate intersections with straight-line math.
As far as I know, there is no magic "intersect curves" function, which is
unfortunate, because Visio *does* this math when it performs the various
Shape > Operations.
--
Hope this helps,
Chris Roth
Visio MVP