My own experience at Hawkins\Brown has taught me that a significant hurdle in the implementation of computational design workflows into an office is new users getting over the fear factor of interacting in a visual scripting environment. We have had success in overcoming this hurdle by developing custom GUI nodes for Dynamo, that allow complex multistage scripts to be run without the need to interact with Dynamo.This session will provide attendees with a step-by-step guide on how to create a Winform ComboBox dropdown selector UI custom node directly in Dynamo using Python. Once complete, I will also identify how only 20% of the code needs to be adapted to be able to create a number of further UI’s including Select a file, Textbox input, and Warning message.The workshop utilises the Winform GUI library as part of the Microsoft .NET Framework which typically requires an IDE for utilisation. However Dynamo’s use of IronPython, which is integrated with the .NET Framework, IronPython can use the Winform and other such libraries. This opens the door for all skill levels of users to explore GUI development directly in Dynamo. Given that GUI development is typically not supported in Python there is very little literature on the topic which makes it difficult to learn on your own. This is a key reason why I have decided to propose this session in Python with Dynamo and not C# with Visual Studio as it will provide a source of information for an otherwise poorly document field. This is alongside the fact that it will be more assessable to a wider number of delegates. Having said this, the session could more easily be adapted to cover the same topic but in C# within visual studio. The session will be split into 3 clear sections: 1) Presentation: Providing an overview of the topic; 2) Lab/ workshop tutorial: Providing a step-by-step guide for how to code a Winform ComboBox drop down selection GUI; 3) A live demonstration on how only a small amount of the code that everyone has just written needs to be altered in order to create a different type of GUI.
- Learn the fundamental concepts of GUI programming in Python
- Build a fully functioning GUI node for Dynamo (drop down menu)
- Acquire the skills and knowledge to easily alter the code base to create a number of further GUIs