Main Content

Digital Contour Gauge

A contour gauge is a useful tool for extracting a flat, two dimensional profile from a three dimensional object. What would be even more useful, is if the tool could input into a computer, for use in CAD modeling. This is what I’ve attempted to do with this prototype tool. It uses Firefly for Rhino and Grasshopper to collect data from the arduino-based hardware. Follow these instructions to make your own, make changes, developments, and contribute to this project!

How It Works
At the heart of this tool is essentially a single linear potentiometer, with each tine of the gauge collecting an independent reading. The potentiometer is made from Velostat, an inexpensive conductive plastic sheet.

Here is a great instructable by lonelysoulsurfer that uses the velostat for a ribbon controller: https://www.instructables.com/Make-a-Ribbon-Controller/ This project illustrates the idea very well. The same principle is at work here, except reoriented and multiplied.

Also, the dovetail design is inspired by Tomalinski’s gauge: https://www.thingiverse.com/thing:4037393

The plastic is clamped on each end of the housing with a conductive strip, so the resistance values are nearly the same along one axis, and vary along the other. We put 5v across it, and each tine will read voltage at a given point between 0-5v. These pins connect to the arduino via two 16 channel multiplexers. Here’s an instructable I referenced for the multiplexers by pmdwayhk: https://www.instructables.com/Tutorial-74HC4067-16-Channel-Analog-Multiplexer-De/ (Also used this for the base program)

In the grasshopper sketch, the tool is calibrated by reading the upper and lower reading limits and remapping them to 0-72mm, which is the range of the gauge. The points are plotted at intervals of 3mm(the width of each tine) on the x-axis, and then a nurbs curve is drawn through them.

This tool is designed using minimal and easily accessible materials. Here’s what you need:

- PLA filament(or whatever you prefer),
- Arduino Uno
- 2x CD74HC4067 16 Channel Analog Digital Multiplexer Extra header connectors
- 3x 0.1uf capacitors
- 2x 10k Ohm resistors Jumper wires”

Link to article