Fahmina Ahmed
Python script for Blender
January 2014
The unpuzzler is a script I wrote to automate part of my job at Shapeways. It takes as input any STL file and outputs HTML that shows the count of each unique object in the input file.

Need for Automation

I wrote the unpuzzler to streamline a particularly slow and tedious part of post-processing at a 3d printing factory; sorting out orders.

Post Processing includes cleaning and/or polishing and dyeing an order. When one order is comprised of many seperate parts, it is often hard to keep track of them throughout the factory. Before they reach the customer, someone has to sort and regroup all the parts of each order to bag and ship them.

We used to have to look at a 3d file of each model and count out the parts in the 3d model and make sure we had each corresponding physical object.

This was slow and error prone because it relied on the operator panning around an STL file. It got especially confusing as there could be multiple instances of the same geometry in an order.


My solution was to write a python script for blender that counts each unique object in a customers STL file. It then spits out an HTML page that presents multiple views of each unique object as well as a count of the number of instances that object appears in the customer's order. The parts appear in order of largest to smallest to make it easier for the sorter to identify.

I made a simple GUI that allows the sorting operator to upload the STL file of the customer order they are sorting and run it through the script. When the script is done running, the HTML file automatically pops open in their browser tab. This allows for much faster sorting times.

For more information about the Unpuzzler, visit my GitHub page.