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.
Built primarily for conversion from US & British units to Metric, common architectural practice, the component set was expanded to cover a series of units in academic precedent study and was then expanded to cover a several other unit types as research into the history of units of measurement grew. In response to the common need to share files among multiple team members Caterpillar was initially developed as a safeguard against shared files being opened in rhino scenes where units were different. A common issue of a grasshopper file being developed in a scene set to meters and using a divide by distance component would be opened in a scene set to millimeters. The result of which was often a sever lag if not crash of the file. The Rhino unit and metric conversion were developed to anticipate this issue, by allowing grasshopper to detect rhino’s’ unit, such as millimeters and convert them to the unit for which the file was developed, such as meters. This coupled with other common issues such as converting lease depths from metric to standard, calculating areas for zoning using surveyors units, US and SI units, and volume conversions for 3d printing, were eventually all collapsed under the common unit conversion tool, Caterpillar.
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.