It falls into both categories. For example it provides add-on functionality through it's built-in gear module but it also makes it easier for you to write your own custom gear module in Python.
Current built-in functionality off the top of my head:
- create parts, points, axes, planes
- create sketches
- supports lines, polylines, arcs, circles, bsplines and reference items in sketches
- extrude boss/cut
- revolve boss/cut
- sweep boss/cut
- fillet with constant and variable radii
- chamfer
- save as Alibre file or STL
- open existing file
- close file
- set material density and read out mass
- involute gear generation
The complete Python standard library is available which provides a lot of functionality such as mathematical functions, file access, network access, etc.
http://docs.python.org/2/library/
ADScript itself provides a script editor and also a Python console which allows you to enter individual pieces of code and immediately see the result. It also allows you to write scripts that prompt the user for input and then use that input. For example you might create a gearbox script that when run asks the user for the starting parameters instead of putting them directly into the script.
Polyline support includes finding the intersection of two polylines, trimming, merging, copying, etc.
In theory it should be easy to write new 2D file importers, create sketches that are reused over and over again among a set of parts, STL export post-processors, etc.
For the future I intend to add support for the remaining functionality in the API but also write more built-in modules along the lines of the gear generator.
Andy