After a very long time, I have decided to make time to write something other than equations, emails and excel schedules. Between work and uni, it’s been near on impossible to set aside an afternoon for a blog post, but with it being Easter and bringing with it a much welcome 4 day weekend (not to mention cold and rainy weather) it seemed like an opportune time to get on my PC and smash out a post.

I have been doing a fair amount of R&D lately in my spare (spare) time, from building AR/VR apps in Unity to learning how View Extensions work after being inspired by Long Nguyen’s amazing work with DynaShapes. I will show a quick demo of a basic Dynamo View Extension I put together, one of my objectives this year was to learn how they work (unfortunately I missed the Dynamo Workshop of this in March) and to also try and bridge the gap in some of the standards automation I created for Grasshopper in my company and apply it to Dynamo. Here is a basic feature list and demo of it in action…


  • Remote manage package path locations

    • To control the Package Manager file locations from a custom preferences file that can be read from the server where I can deploy Package folders that I have updated/validated to all Dynamo users globally in my firm. The user doesn’t need to worry about re-pathing and I can control the versioning of Packages and deploy once tested and approved or roll back if there are major issues with the new deployment.
  • Add a custom Menu Item

    • Merely to show that you can add your own custom Menu and Menu Items. This is named after my blog name, however, the one I am building at work will naturally be the company name and will have a whole bunch of Sub-Menus for things like our company Wiki, Script locations and other things.
  • Change the Group Colours

    • In Grasshopper I have automated the colours of Groups based on if the Group Name starts with certain sub-strings. This allows standardisation of Group Colours so it’s easy to see what is going on in the Graph. This is of course not fool proof and 100% relies upon the user to actually begin the group name with these key sub-strings. But, I wanted to keep these standards across both Visual Scripting Environments.
  • Ensure Template File is most recent

    • This is a small thing (and may no longer be needed in Dynamo v2.0), but it’s hard to roll out a Template.dyn. There is no place to do this other than copy into the samples directory. I had a .dyn file to do just this, but a neater way (but not the neatest by far) is to add this to the top of the Recent Files list in Dynamo. So, every time Dynamo is closed, the last thing it will do is update the Recent Files list and add the Template.dyn file (again, pointing at the custom preferences file on server for reference so I can update/version/roll out myself globally) to the top making it easy to find. I will later add this to our company Menu, or if this feature is built into Dynamo v2.0 scrap it altogether. But, it serves its purpose for now! 🙂




Dynamo View Extensions can be very powerful granting you access to the application and graph so you can do some cool stuff. I have only just touched the surface of View Extensions and the above features are very basic, but I am much looking forward to messing about some more and seeing how I can use it for some much cooler things (I already have an exhaustive list of things to try and ideas of extending the interface – but probably after my exams, uni finishes and summer is here!).

If you are interested to learn this, here are some resources…

Long Nguyen’s DynaShape github repo

The DynamoBIM DynamoSamples github repo

As always, thanks for reading!