Stack up analyis: calculate clearances between machinery parts.
This program’s purpose is to allow engineers and designers to verify clearances between moving or stationary parts within a machine. This check becomes more critical when one recognizes that all the features of machined parts are machined according to an allowable tolerance range. These accumulated tolerances can close operating gaps and thus result in malfunctioning machinery.
It should be obvious that all the features of all the parts will not be at the maximum of their tolerance range, nor at their minimum. This program, in addition to calculating gaps based on max/min tolerances, will also calculate clearances based on the probability of features being at some median size. This probability calculation is used by a majority of the major manufacturers today (six sigma).
This program is “donationware”, meaning your good grace is needed to support this project. Recommended cost: $25 per seat. You may pay for this program per the link set up on the website http://newconceptzdesign.com/. (See the license agreement for more information.)
This program works within a Python  command prompt window (or more preferably, in an ipython command prompt window). This program works very similarly to Python’s standard “list” command, which is a basic, fundamental feature of Python. Therefore this program is easy to learn. YOU DO NOT HAVE TO KNOW THE PYTHON LANGUAGE TO USE THIS PROGRAM!
The fundamental element used in this program is an obect called a “Stackunit”. A Stackunit is composed of a dimension, a tolerance, the name assigned to that dimension (e.g., END TO SHOULDER), and the part no. to which that dimension pertains. A group of Stackunit objects form a “Stack” object. The Stack object not only contains Stackunit objects, but also has wrapped within it computer code which carries out analysis and summation of the encompassed Stackunit objects. Finally, a group of Stack objects can be grouped together in what’s called a “Stacks” object. If a dimenion or tolerance changes for one Stackunit, then if that same Stackunit is used in other Stack objects, it will be automatically updated in all the Stack objects.
During the course of building stacks, editing is very common. Editing involves updating dimensions, inserting new dimensions, rearranging dimensions, etc. This program is designed to facilitate that editing.
If you have never done a stackup (i.e., by hand), no problem. A tutorial has been created to show you how to do this, along with showing you how to use this program. It can be found at http://newconceptzdesign.com/.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.