Solid.Difference operation failed. Unable difference two Solids

Hello, in the pics, I try to make a hole through the volume by using solid difference, but I found that I can only make it by lifting the solid tool a bit upper; otherwise,

but I found that I can only make it by lifting the solid tool a bit upper, and leaving an awful panel below the volume;

otherwise, position the solid tool right in the position of the tangent bottom surfaces

or position the solid tool a bit lower that envelopes the bottom surface doesn’t seem to work.

So does anyone can tell the reason?

螢幕截圖 2016-05-17 18.24.20