Hi Al,
Most options in Su are handled by hashes.
For instance:
options=Sketchup.active_model.shadow_info
then:
options.to_a gives:
[["City", "Paris"], ["Country", "France"], ["Dark", 20], ["DayOfYear", 172], ["DaylightSavings", false], ["DisplayNorth", false], ["DisplayOnAllFaces", true], ["DisplayOnGroundPlane", true], ["DisplayShadows", false], ["EdgesCastShadows", false], ["Latitude", 48.867], ["Light", 80], ["Longitude", 2.333], ["NorthAngle", 0.0], ["ShadowTime", Fri Jun 21 15:30:00 Paris, Madrid 2002], ["ShadowTime_time_t", 1024666200], ["SunDirection", Vector3d(-0.149675, -0.420103, 0.895048)], ["SunRise", Fri Jun 21 06:53:33 Paris, Madrid 2002], ["SunRise_time_t", 1024635213], ["SunSet", Fri Jun 21 22:51:25 Paris, Madrid 2002], ["SunSet_time_t", 1024692685], ["TZOffset", 1.0], ["UseSunForAllShading", false]]
options.keys return an array of all the options names and options.values an array of all the values associated with each key.
All the hashes are contained in: Sketchup.active_model.options
For example:
optionsmanager[0].to_a gives:
[["LengthPrecision", 2], ["LengthFormat", 0], ["LengthUnit", 4], ["LengthSnapEnabled", true], ["LengthSnapLength", 0.393700787401575], ["AnglePrecision", 1], ["AngleSnapEnabled", true], ["SnapAngle", 15.0], ["SuppressUnitsDisplay", false], ["ForceInchDisplay", false]]
And so on... all sort of things that I found by myself (and with the help of other rubyists) BUT that Google apparently don't care to document 👎