Collaborative parametric design models allow you to work together for better solutions
Dynamo is a great tool for designers to create visual logic that you can use to easily calculate and visualize a parametric design of a structure. With Dynamo, designers can automate repetitive design tasks in order to use their productive time more wisely.
However, the visual logic of Dynamo can be difficult to read for any other person than the one who created it. The logic quickly becomes ‘messy’, which reduces the usability. Especially for longer running projects this can become a problem when certain people leave or get assigned to a different project. Additionally, sharing Dynamo models is difficult, because an installation of Dynamo is required on each individual device to open the drawings.
With VIKTOR, you can develop user-friendly web applications that integrate with all kinds of software programs, such as Dynamo. VIKTOR apps have a clear and intuitive user interface in which users only see the adjustable parameters, which improves the usability of Dynamo software. VIKTOR also enables connecting Dynamo drawings to other computational programs through integrations, for example to calculate the strength of the structure. Additionally, everything runs in the Cloud, making your data always accessible to anyone with an internet connection!
In this article, we give an example of such an application. Continue reading to learn more, or try the app immediately in the VIKTOR demo environment. You can also find the open-source code in our GitHub repository.
You can use the code out-of-the-box with VIKTOR.
Here, you see a snippet of the Python code that shows how little lines of code are needed to edit, compute and visualize your Dynamo model within VIKTOR.
1file = File.from_path(Path(__file__).parent.parent / "lib" / "files" / "dynamo_model_sample_app.dyn") 2input_file = DynamoFile(file) 3 4input_file.update("Height roof", params.step_2.height_roof) 5 6# Generate updated dynamo file and load into memory 7input_file = input_file.generate() 8files = [('input.dyn', BytesIO(input_file.getvalue_binary()))] 9 10# Run the analysis and obtain the output file 11generic_analysis = GenericAnalysis(files=files, executable_key="dynamo", 12 output_filenames=["output.xml", "geometry.json"]) 13generic_analysis.execute(timeout=60) 14 15# Generate output file and set up data for the DataViewer 16output_file = generic_analysis.get_output_file("output.xml", as_file=True) 17
And that’s it! Your model is now computed and visualized within the VIKTOR platform.
The necessary modules are included in this sample app. All that needs to be done is import them, call them and let them do their work for you!
In the video you can see the functionality being used in an applicaton on the VIKTOR platform.
Apply for a demo account to get access to this and all other sample applications!
The process of using the Dynamo sample app consists of 3 steps.