FAQ
Do you charge money for using RhinoScript.org?
No. RhinScript.org is a completely uncommercial project. So feel free to register today :-)
I'm not a coder, so I can't provide scripts. Am I still allowed to use RhinoScript.org and download scripts?
Yes. RhinoScript.org is open to everyone. But please keep in mind that this project lives on the contributions of its users. So if you are a coder, please share your scripts to make the site grow.
What are the differences between the three types "Library", "Tool" and "Application"?
A library is a collection of functions (or even a single function) that can be used from other scripts. Normally a library does nothing when run directly, so you need to write a script in order to use a library. The other types don't need you to write a script. A Tool is a program that helps you with a specific task (just like the other tools you use in Rhino). It should be useful in more than one specific context and not mess with your model (unless it's called "delete everything" or so...). An Application, finally, is everything that is neither tool nor library.
Example: You want to upload a program that sorts curves by length. If you write a function that takes an array of curve IDs and returns an array with the same IDs sorted by length of the corresponding curves, you have a library (because you can use it in a scripting context). If you write a program that lets the user pick some curves and places them side by side according to their length, you have a tool (because everyone who wants to sort some curves can use it). If you write a program that clears the model, creates some random curves and arranges them by length, you have an application (because you can use it only if you want to have a new Rhino model consisting of some sorted curves).
The script I just downloaded states that it uses a library. What does that mean?
That means that the script uses some functions that are not part of the script itself but of the stated library. You need to download that library and run it once before you run the script, so the script can use the library's functions.
A convenient way to register functions with Rhino is to put the library into the "scripts to load when Rino starts" (Menu File -> Properties -> Rhino Options -> RhinoScript). This way you don't have to run your libraries manually.
The script I just downloaded states that it is based on another project. What does that mean?
That means that the author used code or ideas from the stated project. That's perfectly legal as long as the new project is marked as being based on the other project. You as a user don't need to care, the based on remark is just informative.
Can I upload anything I want to?
If you are the author: yes. But please take the time to describe your project properly.
Are there any coding conventions?
There are no specific conventions. But of course you should add some comments to document your script (this is especially important for libraries, as users need to know how to use your functions). You do not need to write a copyright notice, version information or a list of referenced libraries, as a header containing this information will be added by the system (in short: everything you are asked while uploading will be added to your script header automatically).
Can I upload a new version of another author's project?
No, because it's not your project. There would be no way of having reasonable versioning if everybody could update everything. If you really want to update someone else's project, you can upload it as a new project based on the original one. That is eventually the proper way if the original author has stopped developing or you want to create a side project from the same trunk.
I found a bug in another author's script. What do I do?
Post a comment to that script describing the bug you found. Hopefully the author will correct it. If you want (or need) to correct it yourself you can upload the corrected version as a new project (as described in the answer to the question above). Maybe the author will include your correction in his next version (and mark this version as being based on your corrected version).
How can I delete one of my scripts?
You can't. That's part of the concept of RhinoScript.org. Once you upload a script, it is published and cannot be withdrawn. If there is a bug in your (or someone else's) script, post a comment. If you further develop your script, post a new version. People who still download an obsolete version should know what they are doing.
If you still have reason to delete a certain script (because of copyright infringement or something else) please contact an administrator: contact@rhinoscript.org.
My script uses a library that isn't available from RhinoScript.org. What do I do?
Obviously you cannot upload that library, since you are not the author. But you can state the library at the other requirements field while uploading, preferably together with a URL or a hint on where to get it.
If you do know the author you can of course also get him to join RhinoScript.org and upload the library himself...
Why doesn't RhinoScript.org have feature X or Y?
RhinoScript.org is work in progress, so new features get added bit by bit. You can post suggestions in the forum.
I am from Germany and I know that you are, too. So why do we do this in English?
Because this site is open to people from all over the world, and English is lingua franca for programming. So please post in English - and yes, your English is well enough!
