I think a method like Rhino.Pt2Str to convert simple numbers to string might be useful to make VBS scripts independent from Windows localisation. In several countries comma is used as decimal separator, so numeric values to be written into a Rhino command (and then run by Rhino.Command()) need a call to Replace() to change commas into dots. I think that a custom RhinoScript method could provide a standard way to make scripts more reliable and clean. Thanks. -- Emilio Morello
Function Num2Str(val)
Num2Str = Null
If IsNumeric(val) Then
Dim oldLocale : oldLocale = SetLocale("en-us")
Num2Str = CStr(val)
SetLocale oldLocale
End If
End Function
I've been missing a method that would allow to trim objects from RhinoScript. I know this is quite a demand, since trimming is a rather complex operation. Could we think of something like: Rhino.SurfaceTrim(strID, crvID, uv) for respectively the string ID of the Surface, the string ID of the curve, and the uv point where the curve should be cut on the surface. Thanks. -- Jelle Feringa
I had to script the -Options and -DocumentProperties commands a few times using Rhino.Command. It wasn't easy ... So I thought that a RhinoScript method (or more than one) to set and get those values would make things much more simple. Particularly getting the values is a little complicated currently, since I have to make Rhino output the value I need and then I have to parse the text output by Rhino. Thanks. -- Emilio Morello
It would be great programming object's events. Adding these possibilities a script it becomes an 'intelliscript'.
Thanks. -- Sergio Alessi
It would be nice to get some overview documentation on the history system, and how to create commands that integrate with it well.
it would be nice to have a online function reference - this one is only about rhino2 http://www2.rhino3d.com/scripting/
maybe it is nice if the users can comment it - have it inside a wiki / but with protected parts
1. I'm now trying to make simple ray tracing utility, and to simulate refraction(lens), ray intersection object(it maybe onrayshoot object) is needed in RhinoScript.
for example, rayintersection(origin point, ray vector, surface) => returns hit point of surface and its normal vector.
2. MeshArea in RhinoScript needs improvement, now mesharea returns the total area of all meshes, but I need Array Data of Every MNsh Area.
3. .NET api document needs more explanation, and too many objects are spread and novice can not understand or choose one, so I hope choose important objects based on RhinoScript101, and add more Explanation and Example at least important object chosen.
4. Explicit History can be included to Rhino5, I do not know, but I hope Explicit history also include rayintersection(onrayshoot) object. I found it is very hard to find such one and without this object, I found it is impossible to get or set(define) relationship between objects(curve, vector, point, vector etc). So rayintersection(or Onrayshoot object) like component will help define relationship between surfaces and solids, or point and surface etc, And this will complete the Explicit History's ability.
5. If user can add .Net(RHINO SDK) Object personally to Explicit History's component, then Explicit History can substitute RhinoScript and it will give us utmost convenience.
6. Manual Function Component : If Explicit history has manual function component, like function or sub in .Net Programing, input data(surface, u,v or x,y, vector), calculation (manual function, now manual function is only possible for each input data(F expression edit), but if user can edit function using all the input data and user can choose input data type and output data, then much powerful and fast coding will be possible.
7. position data returning Component is needed (both Explicit History and SDK) : if user input x,y and object(surface or curve etc) then output(array[because return value can be many, depends on the topology : objects z coordinate of specific x,y position) is necessary. it is different from onrayshoot, it is very simple function but very useful.
8. Selection using Ray Component is needed ((both Explicit History and SDK)) : input (origin, vector, range[distance], number, order) then output(selections), if user or algorithm found some objects must change or needs more optimization, program can trace it automatically and change it, and this selection tool can be helpful.
9. Explicit History support GDI+ or some graphics tool or Color of mesh verteces, to visualize the simulation result etc.
10. Like Monkey editor, developer needs serial number protection of code, for Novice like me, I hope Explicit history(both seed tool and hide algorithm option) and .Net SDK include seed tool or sample code
http://en.wiki.mcneel.com/default.aspx/McNeel/WishList.html#RhinoScript