A few weeks ago I started taking a closer look at Autodesk FormIt, mainly with a view to understanding how it might integrate with VASA. FormIt is a multi-platform (which I believe in this case means Windows, iOS and web) conceptual design and analysis tool. I haven’t really followed the development of FormIt, over the years, so if you’re interested in learning more about that then I suggested heading over to the product team’s blog. If you want to get started with using FormIt, then this Primer seems helpful.
You can load various sample plugins via the Plugin Manager, and also visit their GitHub repositories to check out their source.
Speaking of GitHub, you can connect your own GitHub account to FormIt, and any of your repositories that have been assigned the label ‘formit-plugin’ will be added to a list of plugins you can load directly into FormIt. Very neat.
There are a few ways to build your own plugins for FormIt…
For more advanced use-cases, it’s worth the effort of setting up your own local http server, and having that serve up your local plugin files for use in FormIt for Windows or FormIt for Web. I mostly found it easier to develop using FormIt for Windows, as it makes it really easy to “hard reload” the plugin from my web-server, whereas with FormIt for Web I found I sometimes needed to reload the page to pick up changes (I may have missed something that would have made this redundant, though).
But I’m not going to talk about my own efforts to develop FormIt plugins, today – that’s something I’ll talk a bit more about next week.
I’d been looking for an interesting plugin to highlight – and share the code for – when I stumbled across the perfect one. Some of our internal development teams participated recently in a “recharge sprint” where they could step away from their typically day-to-day development tasks and explore something new. When browsing the various projects that came out of this process, I found this Maze Generator by Brett Garrison, who recently joined the FormIt team in Boulder, Colorado. Brett decided to implement a depth-first search algorithm using backtracking (it seems he used the iterative approach, maintaining a stack to avoid the (call-)stack overflow issues that you risk by doing it recursively).
Here’s how you load and run this neat little plugin:
Here’s a resultant, randomized maze as a static image:
This is actually a perfect initial project to introduce this series of posts: I chatted with Brett about the fact he’d mentioned a “future direction” as extending the plugin to solve mazes, not just generate them. This made me think of a tweet I saw recently that used a simulation of gas dispersion inside a maze to solve it (backtracking the path of the “winning” particle to the entrance). I thought that might be a fun thing to integrate into FormIt.
But then I remembered a video by the Aussie BIM Guru himself – my fellow retro-enthusiast Gavin Crump – where he used Dynamo and Space Analysis to solve a 2D maze. Of course! The penny finally dropped: I could use VASA to solve this maze in 3D (even if it’s really just a 2D problem).