In my experience, it may be difficult to do this fully parametrically - as you suggest I think creating the intersections will be difficult.
If you have a piece of software that will generate the geometry outside of Robot in SAT file format (for example Rhino) that you can drive parametrically (for example Grasshopper) you can use the API to generate the SAT geometry (or manually save it out).
I must say, though, that I have not fully exhausted the cylinder generation and intersection tools using the API.