algorithmic modeling for Rhino
Caterpillar is a collection of Grasshopper User Objects which allow for the conversion between different systems of measurement. Designed for simplicity of use, the primary conversion all takes place in a single component in which three inputs convert a "value", an "input" unit type, and an "output" unit type resulting in an output from the component whose value has been converted from the specified input system of measurement to the output system. The result is fast simple conversion between common systems of measurement covering, Length, Area, Volume, and Mass. Under each one of these classifications a series of components is available which contain units of measure under a single system of measurement. For example under Length, there is a component for SI (Metric), US Customary, UK Imperial, etc.. Each of these components then contains a comprehensive set of units of measurement from each system. For example under US Customary units such as Inch, Foot, Mile, etc.. are available for selection. If two complimentary systems are used, the component simply uses the SI base conversion to convert the value from the specified unit type to the SI equivalent then converts that value to the specified output unit. Each conversion value is rounded to the 30th significant digit when needed. The converted value is then returned through the "result" output. If the two systems are not directly compatible, for example converting a length to a mass, the "result" output will return a null value and the "status" output will show the compatibility issue. Because there are a total of 29 unit sets in the first release of Caterpillar, each unit set has been collapsed into a single user object. This allows editing down of the options available in grasshopper by simply removing the user object from the User Objects folder in Grasshopper. In addition to these categorized unit types, the Rhino Units component, returns the Rhino scene's current value type as per the components last refresh. The conversion component will take this output and match it to either length, area by squaring, or volume by cubing the units conversion value.
Caterpillar is currently an alpha release, as all values available have been triple checked and vetted across three sources each, the accepted source is linked to in the Conversion Table document. However these components have not gone through a complete debugging and have not been tried in all possible combinations. It is recommended that preliminary conversions are verified from in independent source before use, see Notes section for list of sources.