hi @johnc,
Thanks for the update. This is not news to me, I mentioned before here that I know and been told in the past that on different occasions that RhinoScript will be no longer developed, but at the same time it was pledged it will be maintained to stay functional so the tools developed before still work, and perhaps (maybe I am reading too much into it) the methods will at least try to keep up with changes that come with Rhino changing.
So I donât expect a new set of tools to handle SubD or many other new areas that were developed. But I am hoping that a) RS tools that no longer work can be fixed to work if at all possible b) RS tools that work but became limited or return invalid information due to change in Rhino (like new Transparency parameter in Color added in V7) can fall under this âmaintenance planâ.
In this case here RhinoScript and RDK Scripting methods take care of 99% of what may be needed for dealing with Materials, but they operate in 2 different spaces, so it may not even be a case of a need to update any RS methods or RDK methods, but add a couple of RS methods that could provide a bridge to RDK-created materials could be used by existing RS methods (per your diagram - so they can become visible in the Rhino Material Table).
There are two problems I have with the Python advice (and having said that I realize much bigger potential for coding in Rhino using Python than it used to be via RhinoScript)
Problem # 1 - on the scripting level, RhinoScript is actually still much more mature and developed vs Python, when we consider what was ported to RhinoScriptSyntax, which was advertised as the âeasy transitionâ from RS to Python. Indeed, on the basic scripting level, not much syntax or complexity difference between the two, but in Python many methods available in RhinoScript have never been ported. Take a look just at the material methods, the two I mentioned earlier here are not even there, so itâs not like they have bugs - they donât because they donât exist ( MaterialCount,MaterialIds):
To do more things with Python, you actually need to dive into RhinoCommon, which is awesome, but calling RhinoScript and Python RhinoCommon scripting for me is not a fair comparison. Itâs a different ball game, especially for a casual coder like myself.
So what is being said by RMA is that the days of âeasyâ scripting are over, if you are really interested you have to get into advanced RhinoCommon stuff, otherwise RhinoScriptSyntax in Python will not get you far. This is all fair and understandable, but please understand that this is not just a scripting language preference but the matter of much higher complexity when dealing with RhinoCommon Python.
We were able to create and use amazing scripted tools with RhinoScript using just this basic level coding, kudos to RMA for making it possible before but too bad this âeasyâ level is being abandoned, which brings me to:
Problem # 2, and the reason I still keep using RS, finding problems and trying to ask for some maintenance. I started scripting in Rhino 15 years ago, well before Python scripting was on the horizon. So since then we developed a big and complex toolset based on this. tens of thousands of lines of code. It is just not possible at all to go now and rewrite all that, it would need to be the next life or a two-year long sabbatical to just do that. These tools still work great and I maintain it all with a great success, but every now and then I either find a RhinoScript bug that was there for a while, or some glitch caused by some changes in Rhino itself. Then I come here and ask for help and solutions. Sometimes I am lucky, sometimes I am not, but the answer âjust transition to Pythonâ considering the above is not helpful.
For these legacy tools I actually found a way to use Python code to implement some functionality in them not accessible by RhinoScript, but there are limits to it. Thatâs why I am here : )
Sorry It was not meant as a rant and not even directed at you since youâve been super helpful and thorough with your support, I just wanted to give some more context of why I am asking for help with these things.
many thanks,
âjarek