Hallo Angelika,
for the boolean operations, to make them work better, try to avoid cutting 2 solids having a common face (ot tangential faces)
in your case, you have the both cylinder "sharing" the 2 planar faces (in the plane z=0 and z=h.
try to make the cutting cylinder a little bigger (ex : from z=-0.1 to z=h+0.1 )
This trick usually solves problems during a cut. I don't really know if this problem is solved in the new versions of the Boolean operation tools.
Another thing you can try is to fix the shape after a boolean operation use ShapeFix package :
(taken from a previous post:)
ShapeFix_Shape FixShape;
FixShape.Init(ShapeToFix);
FixShape.Perform();
ShapeToFix = FixShape.Shape();
I don't have OCC installed right now, but you can try that
Viel Spass.
Commenter-1
http://www.exotk.org