Cut a model into two models by intersecting with a third model I have a cube puzzle i want to model:



It is basically a cube intersected by 12 spheres. 

Rather than model each piece individually (which would be really painful) I would like to model a cube, make a bunch of spheres of the right size, position them correctly against the cube, and then "cut" the cube with the spheres (probably using mirroring to avoid extra work). 

Here's a screenshot of the model I've got.



I'd like to "cut" the cube pictured along the place where the sphere intersects it. The end result I'd like to get is two pieces that add up to a cube, but have that partial-sphere cut going through the middle of it. 

Is there any way to do this in blender? 

I'm really new to blender, so the more specific you can be in how to do it, the more helpful it will be. I've been reading a ton of tutorials, but I'm not trying to become a blender expert, just trying to get this one model for a project I'm working on!

Thanks!
You can use a Boolean modifier.


create 2 different objects (i.e. cube and sphere), and position them where you like the "cut" to happen:





Add a Boolean modifier to the cube:


Set object to sphere and operation to difference:

Apply modifier and delete the sphere: