Well said Dan...

@Alex, about your question: As far as I know that Geom_CylindricalSurface is indeed not exposed (yet). This goes little by little, and since the aim of FreeCAD is not to reimplement the whole opencascade, there is no special hurry at that, it is basically done when someone needs one of the OCC tools. BTW, If you think something would be useful, don't hesitate to suggest it on the freecad mantis tracker.

Now in this particular case, the bottle thread is indeed tricky... On the freecad forum you'll find quite a lot of discussions about making threads and helixes, but I believe you'll need to test other methods. Another solution is to use pythonOCC (that can be imported in freecad and its shapes transferred to/from freecad), there you have 100% of the OCC tools available...

Yorik