Inspired by Joshua Davis’ Dynamic Abstraction code for Flash and the challenge of exporting a vector-based graphic at run-time from a SWF, I decided to connect-the-dots between my custom (AIR) application and Adobe Illustrator in this proof-of-concept. It’s ugly as sin, but it’s also beautiful. Upon launching my app – MultipleCanvas – it secretly asks Illustrator: if there’s a document open, if so how many artboards are there; what size is it; and how many layers are there and what are there names. After I select a layer, my app asks Illustrator how many Canvases (rectangles on a layer that define the areas I wish to populate with the Symbols) are on it; how many Symbols do I have and what are there names and how many Graphic Styles I have and what are there names. This allows me to define random ranges to the transform properties (# of symbols, Rotation, Scale, etc.) of the Symbols I selected for each Canvas. After defining all of the ranges, symbols, etc. I click on the Make Magic button which dynamically generates code that is sent to Illustrator and executed.