-
Stacking Gage Blocks
This article presents two procedures that can be used to build precision heights from gage blocks. One is simpler to use but can require one more block than absolutely necessary. In no time you will be able to look at the target height and immediately start pulling the correct blocks. The other procedure is more complex but minimizes the number of blocks needed.
I have tried my best to verify that these two procedures always give the correct results. If anyone finds a problem, please let me know so I can correct it.
If you are interested, please see
http://rick.sparber.org/SPGB.pdf
Your comments are welcome. All of us are smarter than any one of us.
-
My SPACEBLK program (available on my site) provides your simpler (ie fewer block) solutions to two of your examples...
1.2345 = 1.0000 + 0.1340 + 0.1005
and
1.7523 = 1.0000 + 0.5500 + 0.1020 + 0.1003
Finding an algorithm to always produce the minimum block solution is very tricky. It's made even more complex by the fact that there is no good way to test any candidate algorithm other than trying each possible stack size.
After discarding several candidate algorithms I finally bit the bullet and in SPACEBLK implemented an exhaustive search routine that is reliable but computationally intensive. Fortunately, CPUs are idle most of the time so they enjoy a bit of intensive exercise every so often.
One advantage of SPACEBLK is that it uses a data file for the block sizes so one can substitute other files for smaller block sets and its namesake spaceblocks.
-
Marv,
I am hereby humbled! With some very fast footwork, I have dropped my claim for finding the minimum number of blocks and will just claim that my first procedure has minimal arithmetic. For most hobby work, having 4 blocks is still plenty accurate. For those that want the minimum number of blocks, I point them to your web site and SPACEBLK. See http://rick.sparber.org/SPGB.pdf
Thanks for keeping me out of trouble!
Rick
-
My intention certainly wasn't to humble you. A minimum block solution is perhaps intellectually appealing but certainly isn't required for the vast majority (maybe all) of work done in amateur shops.
Mathematically it's fascinating (at least to me) that such a seemingly simple problem can pose such difficulties in finding a minimal solution algorithm. In SPACEBLK I was forced to write a dynamic loop-within-loop exhaustive search code that would successively try first one block, then two, etc. solutions in order to guarantee finding the minimum. It's mathematically ugly but it seems to work, though at the expense of more time to find the solution.
Surprisingly, the human mind is very good at finding a solution via the time-honored method of eliminating digits from right to left. Nevertheless, having a computer algorithm is handy for incorporating into other programs where a stack is calculated. My SINEBAR program uses the SPACEBLK algorithm to show the blocks needed to form the stack height calculated for the sine bar.
-
Marv,
I meant "humbled" in a very positive way. I am grateful to you for opening my eyes to the complexity and beauty of this problem.
Thanks!
Rick
-
Thanks Rick! We've added your Precision Gauge Block Height Setup to our Measuring and Marking category, as well as to your builder page: Rick Sparber's Homemade Tools. Your receipt:
<div id="blocks">
<div class="block b1 pngfix">
<div class="bimg">
<div>
<a href="http://www.homemadetools.net/precision-gauge-block-height-setup"><img src="http://www.homemadetools.net/uploads/137350/precision-gauge-block-height-setup.jpeg"
/></a></div>
</div>
<div class="head pngfix"></div>
<div class="left pngfix"></div>
<div class="right pngfix"></div>
<div class="blockover b1 pngfix">
<div class="title">
<a href="http://www.homemadetools.net/precision-gauge-block-height-setup">Precision Gauge Block Height Setup</a>
<span> by <a href="/builder/Rick+Sparber">Rick Sparber</a></span>
</div>
<div class="tags">tags: <a href="http://www.homemadetools.net/tag/measurement">measurement</a>, <a href="http://www.homemadetools.net/tag/height-gauge">height gauge</a></div>
</div>
</div>
</div>