Going through the new Developer Documents and I must say they are great. My coding skills up to now, are confined to front-end web and some python with Rhino. I have installed Xamarin on my Mac & VisualStudio 2015 Community on my PC. I am going through the samples here on the wiki.
My first question is, should I be learning C# for this, if I want to work cross-platform on a plugin idea?
Second, what is the best way to use the RhinoCommon SDK info, For now I am trying to write a command that sets layers for a specific situation. So I would look at Layer Table Members? This is just a test project for me to keep it simple. How commands are bundled together for a plugin is for later.
Third, does it matter if i start in Xamarin / Mono on my Mac and then convert to Windows, or is it better to start in VisualStudio. I know RhinoCommon is more Windows based, but will it make a difference doing it one way or the other, if I follow the Cross-Platform steps?
I am still just going through all the documents and trying things. Any advice is appreciated.
Hello @rhinorudi,
Welcome to the wonderful world of cross platform development! While I am by no means an expert on the topic, I can point you to some different resources.
Yes! While in theory .Net/Mono code can be written by a variety of languages, the current state of developing cross platform, compiled PLUGINS for Rhino would more or less force you to work in C# in both OSX and Windows. You can write python scripts that use RhinoCommon, but for making compiled plugins, you would need to go with C#. Of course, @dan and @stevebaer could correct me on this.
This all depends on what you want to do. A Rhino Document has several āTablesā of objects, materials, layers, instance definitions, etc. You can go through the layers in the LayerTable and set the properties of each as you wish.
Have you seen this guide for your first cross platform plugin?
You have a great community of people at different stages of learning and developing. All have had similar questions as you are having, so donāt hold back!
Yes, I have been going through those documents and the samples here.
I decided to try to work with one item, setting up my layers / sub-layers like I do anyway for all jobs, and this will keep me focused on learning the C# syntax. One step at a time
Thanks again, I wonāt. It is a great community and great software.
Awesome! Iām really glad to hear you are making the leap into plugin development. I think, given your previous experience, it will be a (mostly) smooth transition. C# is a great language.
Thanks for the feedback on the new developer.rhino3d.com site. As Iām sure youāve discovered, weāre still in the process of migrating over all the content from the old wiki, so itās a little āin flux.ā If you are still looking at the old samples, you might find the ones on the new site more up-to-dateā¦@alain has been busy moving them across lately.
As you go through this learning process, please let us know what sorts of guides would have helped you understand a concept or problem. Weāre pretty busy authoring samples and guides that presume you are already a plugin developer (trying to fill an obvious gap), but weād really like to make sure that the guides are accessible and helpful to the broadest audience.
I got a question about crossplatform. I only see C# with the rhinocommon library. Does this mean it is not possible to make a crossplatform plugin in vb.NET?
But most of the tools related to cross platform development around .NET/Mono are in C#. Plus, converting VB.NET project to C# isnāt all that difficult.