Lua scripting supports the following shapes: line, extrude, bool_substract, bool_add, bool_intersect, ellipse, rectangle, sphere, circle, box, cylinder, cone, torus. fillet, cut. arc, subshape.
Better than previous scripting is that you can identify the shapes using their ids, and of course you have the entire power of Lua around, by this I mean that you can do loops in scripting so it will make easy to you to write your code using an easy to learn scripting.
If you don't know how to use Lua, I recommend this tutorial.