Why wont this boolean (difference)

Hi can some one take a look at the attached blend file and let me know what I am doing wrong?
I would like to cut out the extruded shape from the cylinder.

Thanks

Attachments

cap2.blend (492 KB)

Select the boo object
Apply the scale (Ctrl+A / Scale)
In edit mode select all vertices and recalculate the direction of the face normals (Ctrl+N)
Then use the difference setting in the boolean modifier

Thanks Richard, I feel kinda dumb now.
After I do the boolean and apply I tried adding a subsurf modifier to smooth it out but it gets messed up and placing edge loops seem to not work entirely.

Any ideas?
Thanks

Further to my last reply, after doing the boolean I tried adding a subsurf modifier to smooth it out but it gets messed up and placing edge loops seem to not work entirely. this is what I am left with (obviously doing something terribly wrong)



And I also need to add these details on the top, which I did with an array and boolean, how do I give those edges a smoother geometry? as bevel doesnt seem to work on this.

As youll can see Im new to blender and been struggling with this.
Thanks.

Something to keep in mind is that since a version or two, Blender booleans will result in having lots of ngons (ngons are faces made of more than 4 vertices) this is very bad as ngons and subdivision surfaces are very often leading into nasty results.

Before adding a subsurf, you should rework the mesh to get rid of the booleans (triangulate them at least, but ideally you want only quads, because subsurf works the best with quads, not triangles), chances are that using subsurf will then lead into a better results.

If it’s too difficult yet for you in Blender, i suggest to 1st use subsurf to smooth the whole model, then use booleans on it

Thanks for the reply sanctuary.
I have been trying to model this without boolean and also trying to avoid triangles, but I cannot seem to avoid this triangle face.


Try this resulting in only quads :
http://i.imgur.com/Rezmoay.jpg