Before moving on to other projects, I wanted to acknowledge all the help I’ve received from forum members over the years by contributing something to share myself that might be helpful to other DynamoBIM learners in the future. I’ve been looking for a project to constrast the abilities of Dynamo and Mathematica 11.3 programming languages for a while now until recently stumbled upon this thread about randomized panels last month that gave me an idea.
Following the real-life example of Sheffield UK’s Cheese Grater parking garage (image from CC credit PeterBarr) I attempted to replicate the geometry of the facade’s randomized pattern. It wouldn’t have been too much more work take the geometry from either into REVIT but for this comparison only the native functionality was considered.
The image above is zoomable but please excuse the lack of annotations. It’s meant more for study than wide distribution or long-term reuse.
A grid showing my early progress. I’m testing the function to see if anything is broken at the extremes.
Dynamo seemed maxed out at about 56x56x2 panels but I haven’t tried to go back and optimize it.
I’m no stranger to asking for help online.
A grid of some early success. Again trying to stress the function to see if any bugs crop up.
The computing power of Mathematica 11 in the cloud goes a bit further before constantly hanging up the browser at 80x80x2.
These conclusions were also posted on medium but ultimately the main insight I gained from attempting to replicate the same geometry in Dynamo and Mathematica was that Mathematica 11 was superior at developing the abstract math of the panels, whereas direct control of the geometry was better in Dynamo. For example, I was able to create the divided panel points quicker in Mathematica, but then struggled to apply the geometric transformations. In Dynamo, it was more difficult to derive the panel points from the divided surface, but once the panels were created found manipulating them easier. Other’s in the Dynamo community have commented on this feature of Dynamo’s programming limits. I was able to generalize both algorithms so they simply take the desired number of panel divisions as the main parameter to drive the form. One can see the variations created throughout this piece. As a next step — if I wanted to continue to develop the code — it should be possible to take each model into REVIT and assign materials and documentation etc., but left them as is here because I wanted to move onto other projects. Clearly when approaching computational BIM, the wider variety of tools one has available, the higher the chance a better tool for the job can be found, and this all feeds in to raising the final building’s design quality.