How to get a curve from two intersecting meshes?

I want to draw two intersecting curved spheres and curves at which they intersect. Here is an example (two spheres intersecting at six circles):

How can I do that?

Use bsurfaces addon.

I’ve tried to use curves as strokes following this help but failed. What I did was:

  1. Added two curves with Add->Curve->Bezier
  2. Selected these two curves and a cube in object mode
  3. Pressed TAB and then Bsurfaces->Add surface. But all I got was “There aren’t any strokes” error.

And can I get a closed surface (meaning that it divides 3d-space into two parts, interior and exterior, like a sphere, not like a cylinder) using this addon?