Syncing on google drive / relative path for different scripts/linked blocks on different machines

Hi. I want to use rhino on different machines, syncing all preferences that I frequently update.
It has nothing to do with rhino, but is it possible to assign a relative path to google drive for all the linked blocks/scripts I use?
something that ignores C:/user/ and goes directly to /google drive?

Would be awesome, i couldnt find info on that…

i tried it with adding an added environment variable %googledrive% but it doesnt work… any ideas?

If Google Drive (don’t use it personally) is anything like Dropbox (what I do use), there is a folder (or number of folders) locally on your computer that get synced automatically to the cloud. That folder exists on all of your synced installations, anything you put in that folder on any of your machines gets synced to the cloud and all other machines.

So one way to do it is to make sure the path to your root synced folder is the same on all machines, like D:\Dropbox That’s the only way I know of to keep the paths the same everywhere for use with aliases and the like.

I do not know if you can sync files directly to the cloud without going through saving to a local folder first, maybe it’s possible, I’m no expert on that.

So i tried evironment variables…
-picture %appdata%/test.jpg
works, an lets me insert an image.

However with scripts it doesnt work… runpythonscript with Environment variables does nothing, using EV with .rvb’s crashes the program…

Im not a fan of moving everything to the root folder.
so now i am about to try symlinks. these should work i hope…

One problem I ran into is that GoogleDrive letter is not always the same among different machines. G: or H: or whatever it decides…


Ah, OK, it creates a virtual drive… that’s a pain. I wonder if those letters can be changed; or maybe there’s a symlink workaround.

Dropbox is just a folder, so you can put it anywhere.

no, google drive is only a folder as well…

symlinks is the way out… works fine…

mklink /D “c:\rhino_scripts” “C:\Users\anika\Google Drive\workstation\rhino\rhino_scripts”

I wonder, why system variables work with paths to e.g. pictures, but not in combination with launching scripts.

You don’t have to, I have (copies of) all my currently aliased Python scripts in a couple of different folders like D:\Dropbox\Scripts\AliasScripts. In the Python editor I set a path to this folder. You can add as many paths as you want. Then aliases like

NoEcho ! _-RunPythonScript "scriptfilename"

run fine without having to specify a path. In this case you do not even need to have the root folder in the same place, as long as you set the search path in the Python editor individually for each machine.

ah! great one! didnt know of “Module search paths”. thanks a lot.
too bad you cannot add “fake paths”, paths that work on other machines but dont exist here.
then i could easily export and import options without tweaking.

do you think its quicker to give a full path or let rhino search the module, … not having tried it?

btw… im very courious for helpful scripts. mind sharing some? i would too, but mine are basically the scripts provided by @pascal.

There are many here that have been posted in relation to some request. I probably have 1000 scripts in the 70-odd folders in my library, so I prefer simply to respond to requests (if possible) rather than broadcast. I have toolsets I put out for Windows as well as Mac, but they’re old now, I am in the process of revising the packages. I hope to get a chance to finish and post both toolsets some time early next year - won’t have much time until January.

1 Like

looking forward to some time next year then!

ah. and for rvb scripts, can u set a default folder as well? didnt find that under the rhinoscript editor options.

Yep. Paths can be entered directly in Rhino Options>Files>Search Paths. Why this is separate from Python script paths has always mystified me…