How to automatically find out if your Rhino document is set to millimetres or metres:
private void RunScript(ref object scale) { int rtnval = 1; Rhino.RhinoDoc doc = Rhino.RhinoDoc.ActiveDoc; Rhino.UnitSystem system = doc.ModelUnitSystem; if(system.ToString() == "Meters") rtnval = 1; else rtnval = 1000; scale = rtnval; }
This script returns a value of 1 if the document is in metres, or 1000 otherwise. (I assume that the user will only be using mm or m.)
To use, create a C# component in Grasshopper and copy the part between the curly brackets to the code of the C# component. Make sure that the component has an output called ‘scale’.
…or download the component from below:
Download