Any way to write protect a deffinition?

I have created several Grasshopper definitions for colleagues of mine. None of them have huge experience with Grasshopper, so I have decided to create Rhino buttons opening these definitions when needed. After that they can use the tool and bake their results in pretty user friendly manner. However just so this is a fail safe proccess, I want to know if there is a way to prevent a possible overwriting of the Grasshopper file. Let´s say something gets messed up and they save the gh file by a mistake. I have tried to make the file Read Only in Windows, but it didn´t really work.

You can make cluster and assign passwort to it.

Yes my brother, I am well aware. And in fact for the majority of things this is exactly what I did. However clusters have limitations when it comes to events and so on. I can’t cluster Kangaroo solver for example. In these cases I need to be able to achieve the same effect in some other way if possible at all.

So far I think you need to write your own component or plugin to fully protect your gh. file since cluster not always work well (such as Kangaroo) like you said.

1 Like

You could implement Kangaroo in e.g. GHPython. I would also think that the ZombieSolver would work with clusters, since it is not a dynamic/live solver.


Exactly what I have tried to do and it didn´t.

Btw after I have managed to make it work under Rhino 6 it is in constant use. Thank you for creating it. I think the possibility of the Zombie solver to check for convergence should be native to Kangaroo.

It is not so much about protection. I don´t need to password protect the clusters, and the passward protection for clusters is rudimental in general. What I want to do is keep things in order and elimninate the possibility of human error.

just a thought:

load the definitions from a read only disk? network, virtual, cloud…

That would prevent saving, but not editing while loaded.

Actually, this is a good idea for a feature. Myself I have unintentionally deleted a component, or an input, when usgn a definition. Perhaps a way to “lock” the definition, so that only variables can be changed? I suppose that using “publish to remote user panel” accomplishes this, but even using the remote panel, it is possible to do a stupid blunder and mess up the definition, or change a parameter unknowingly.

Exactly! Maybe lock the canvas somehow, allowing for parameters to be changed only or something of the sort.