Custom Impeller Balancing Software
So without going into too much detail, in my day job, I deal with large heavy duty turbo-machinery and their manufacture.
One requirement for an impeller (like on a fan) to run well is to have it well balanced. For large machinery, this can be done in two parts; First a "static balance," then a "dynamic balance."
Large turbo-machinery will generally be balanced to both standards. Either in house or on site during installation. If a rotating assembly is statically balanced well, then it makes the dynamic balance much easier to do. And long story short, that makes my life easier.
The large impellers we make have removable blades, so they can be replaced periodically as they get worn out, without having to tear everything apart to exchange a whole impeller assembly. Due to the casting process, each blade weighs a little bit different. So to ensure that the impeller is as naturally balanced as possible, we want to distribute the blades so that they don't create a heavy spot on the impeller; we want it to have a good static balance. So for example, we might not want all the heaviest blades on one side of the hub, as that would create imbalance.
So what we would do is write down all the blades and their weights, then type that into an Excel spreadsheet that would calculate the center of gravity of the proposed distribution. If it was not in tolerance, you swap two blade positions, and see if that makes it better or worse.
Repeat ad nauseum.
It would take several hours to get within tolerance sometimes. So I decided to fix that.
This is a task perfectly fitted for a computer, so I created a little program to help me out. I have Blender3D on a flash drive, so I used its game engine to program the software over a few lunch breaks. Basically it loops through every blade in every position, and finds the first solution that falls within the specified tolerance.
Behold! The blade positioning program (or "evenly distributing weights around a circle program").
Now I can just type in the blade count, their weights, and my allowable tolerance for the center of gravity, and five minutes later I have my final blade positions! Plus, it can obtain balances 100x better than I can by hand.
Work smarter, not harder.