We don't draw spaghetti buildings

I’m learning Dynamo. There seems to be a strong pull towards using it to create these space age elaborate mesh like spaghetti building envelopes and then tying that to conceptual masses. I could count the number of buildings in the entire country of Canada that look like that on one finger. Our buildings have traditional angles made up of floors, roofs, stairs, railing, room finishes, columns, beams, foundations, schedules, ducts, lights, toposurfaces etc.


I’m sure it’s there but so far I have yet to find a ‘practical’ use of Dynamo that could be applied to regular, normal day to day traditional design drafting.


Any comments. leads or hints ?


Check out Marcello’s AU presentations and blog




Also check out my blog. I learned Dynamo primarily because of Marcello’s classes and I pretty much only use it for data management in Revit. I haven’t created one “spaghetti building” and I am perfectly happy with that.

I blog about my findings here http://sixtysecondrevit.blogspot.com



Unfortunately, most of the press Dynamo has received up (until the last few months) has been focused on the computational design/geometry side and many people refer to Dynamo as Grasshopper for Revit, which has led many practical-minded design practitioners to dismiss it as useless for them. In my opinion, Dynamo should be described as the gateway drug to the Revit API, as it gives non-programmers access to data-manipulation capabilities that were previously out of reach to anyone except coders. While the initial pull was to the non-realistic geometry stuff, in recent months the tide has seemed to swing towards Dynamo as a data tool just based on the content of the forum entries. Like you, I was hesitant to waste time with something i had no use for (I’m a structural engineer)

As John mentioned, you should definitely check out Marcello’s presentations and blog. And check out John’s blog - it’s new from a Dynamo standpoint, but he’s got some good content. Also check out http://vasshaug.net/ and https://aecuandme.wordpress.com/.

You should look into nodes such as GetParameterValueByName, SetParameterValueByName, Excel.WriteToFile, Excel.ReadFromFile. That’s all about the data, no geometry req’d.

Personally, I use Dynamo as a QA/QC tool to check our models with, I use it to push lots of parameters from Excel spreadsheets to model elements (concrete beam and column reinforcement tables), auto-generate and name dependent views (all the dependent plan views based on scope boxes for a 40 story building in less than 60 seconds), and I have built a tool to compare a model to a previous version of the same model and isolate the elements that have changed (a messy but effective visual workaround for Copy/Monitor - very useful when we get new arch models every few days and need to quickly find what we need to update).

I think you will find that if you give Dynamo a chance, you will like it and quickly have filled up much of your free time solving problems that have driven you mad for years.

Two more blogs I forgot to mention that are great for learners: http://plevit1.blogspot.com/ and http://archi-lab.net/

Great, thx for the info. I’ll definitely have a look. Reading and writing date to and from spread sheets and REVIT schedules would be nice.

Those look like the type of nodes I need. Thx.


I am by no means negative and yes Dynamo is a nice step down from actual API programming. It’s pretty much what I am looking for and I understand the process and algorithm. I’m just trying to find examples / tutorials of how to apply it in a ‘practical’ way. Reading and writing parameters as well as spread sheet connectivity would be satisfactory start.


I have no use for creating bizarre 3D stretch mesh surfaces (so far that is) and that seems to be the lion share of tutorials. I also found a few vids on youtube but many are muted and or volume is grossly distorted.


I’ll check out those blogs etc . . .



Data Extraction Example

Daryl- here’s a quick example that will show you some of the basics. This will gather all of your floors and walls from a Revit file, populate the “Comments” parameter with the GUID of the element, and push the Element Name and Guid into a spreadsheet. Pretty useless by itself, but the concepts can be used to do something much more useful.

Go through it step by step and try to understand what each node is doing. That should get you off the ground and get the creative juices flowing…


I shared my RTC class content on my blog a while ago: it may help.

all revit users in my office use Dynamo each day. Data and geometry management.

If all the links provided here in this forum are not able to make you dive and learn Dynamo, nothing will.


Great that sounds like just what I need. I am making good progress. I do have the Autolisp background (with some c++) which does help lower the learning curve. I’ll definitely go through that data extraction sample.

Nice handout on that RTC class. I like to read through this stuff away from the computer first. Then hit the keyboard after it swirls around my brain a bit. . . .

Hi Daryl,

It is a common misunderstanding that Dynamo is only serving for complex shape modeling. At this moment Dynamo is used in a lot of areas: architectural modeling, data mining in Revit, automating tasks in Revit, iterative functions, structural engineering. My personal favorite goes out to structural optimization with Dynamo. Have a look at this blog at definitely at the coming posts about that: https://revitbeyondbim.wordpress.com/

The only thing is that on the web you’ll find a lot of visuals with complex shapes, rather than a ten-minute-fabricated tool that helps designer in their daily jobs saving a huge amount of time and boring repeating tasks…

Enjoy it !


Dieter Vermeulen

1 Like

Really? This is just a few posts from my ARCHI-LAB.net website - and you will be VERY hard pressed to find a “spaghetti building envelopes” in any of the posts, even despite the fact that its pretty much all I do at work. :slight_smile: I highlighted ones that you could try to make an argument that deal somewhat with form rather than data. It would still be a tough argument to make. Anyways, here it is:






Some good stuff in that list. This was particularly useful.

I need to learn all the node definitions and the unit format for the input and output.

Thanks to everyone who jumped in here to respond. I have a bit to add…

Dynamo did not begin as a project to make “spaghetti” buildings, although I’m exceedingly happy if we help to make more of this type of building possible. I think that, in general, architects, engineers, and contractors produce boring buildings, let’s refer to them as “shiny boxes”, because their tools don’t make it easy enough, fast enough, or cost effective enough to produce anything more interesting. It so happens that Dynamo started while I was working on a “spaghetti” building, but the problems of building “spaghetti” buildings are, at their lowest level, problems whose solutions apply to “shiny boxes” as well. I hope that Dynamo can act as a platform to research and design solutions to building problems for the “spaghetti” which could then be passed down to the “shiny boxes”, in the same way that technology developed for going to Mars ends up in your kids’ toys. But I won’t get ahead of myself.

Most people won’t believe it when I say this, but I don’t really think about Dynamo and Grasshopper or GC in a feature comparison sort of way. But, it’s worthwhile to look at this problem the way that the original poster did, as someone getting started in computational design or design automation and trying to figure out what’s the difference between these applications.

On the level of geometry, which is the likely first target for comparison, the aims of Dynamo, Grasshopper, and GC are similar. They all aim to allow users to create complex geometries computationally without having to write code. As it turns out, a visual programming language is a relatively user friendly and compact, although not perfect, way to do this. So they have that in common as well. The Dynamo project owes a lot to Grasshopper and Generative Components because those applications basically made having the ability to make certain types of curves and surfaces a requirement for any application that wanted to play in this space. Dynamo started its life using the Revit geometry library which was woefully under-powered for the type of geometry that our users wanted to create. In defense of Revit, the limited nature of the geometry functions available through the Revit API makes total sense when you consider that any geometry created using those methods has to be compatible with other Revit operations. It just wasn’t enough for what Dynamo users wanted to do, and for what users crossing over from Grasshopper or GC expected, so we made a huge effort to create a geometry library which could run with the best in this space.

Several users who haved responded to this thread have honed in on one of the things Dynamo offers which separates it from applications like Grasshopper and GC. Through its integration with Revit, we like to say that Dynamo enables you to choose where you want to put your intelligence. For example, you might have an Adaptive Component family in Revit that has incredibly complex internal relationships that you’ve constructed and refined over many months or years. This family has a large amount of embedded intelligence. But, it has limited situational intelligence. That is, you place it next to another version of itself in a project and the two instances can’t talk to each other, and they can’t respond in any variable way to other drivers in the project. This is where you can add an additional layer of intelligence with Dynamo, using Dynamo to get parameters from one to set parameters on the other, or to set parameters on the instances based on some other value in the project. By comparison to GC or Grasshopper, you’d have to build all of this functionality in the graph, which is totally possible, albeit a bit unwieldy. On a more prosaic level, Dynamo solves the problem that making your geometry in an application that is not Revit, when Revit is where you are building the final deliverable, is a pain in the ass.

Finally, I’d like to say to those of you who posted negative Twitter comments about this thread… That is totally uncool. Core to the Dynamo experience is the ability for the “spaghetti” guys and the “shiny box” guys to share their tools to a mutual benefit. This sharing is predicated on open and educational discourse. The next time anyone considers polluting the Dynamo community with negative energy they should consider that at one time they too were seeking answers.

I stand by my comments here and on Twitter.



I think there is a drastic difference between seeking answers and making false accusations. When Daryl made this comment: “I’m sure it’s there but so far I have yet to find a ‘practical’ use of Dynamo …” my initial thought was as follows: “Let’s be honest, you haven’t spent a minute actually researching this topic before posting about it.” Why? Because if you googled (and this doesn’t really count as research in my opinion either but that’s a separate topic) “practical use of Dynamo” you would have immediately stumbled upon Marcelo’s AU class recording and that in itself would prove that there are practical uses of Dynamo. Who knows, maybe two minutes into this exercise he would have discovered Julien’s , Havard’s or even my own blog posts, and this post would have never happened. So, yeah, I stand by my Twitter critique that this was an uneducated comment. Of course this is not to say that its a first or last such comment here, and yes, Ian I did respond to it because ultimately I care that we, as Dynamo community, give as much support to newcomers as possible.


Having just learned Tekla two weeks ago (and Dynamo a few months ago), I know it’s really easy to make knee-jerk negative comments when you are frustrated. And even worse is the embarrassment when you revisit them after you’ve learned and researched more (for example… http://dynamobim.com/forums/topic/errors-because-of-unit-conversion/)

Personally, I’m glad the OP felt like this was a safe place to voice his frustration and question the community about what benefits there are. True, a Google search could have yielded some valuable answers, but then we would have all been deprived of the info in this thread that can help other learners later. I ask all of my questions here because I want someone else to have the answers later, no matter how stupid I may feel in retrospect

Ian- Thanks for weighing in and setting the record straight. The NASA analogy really made me rethink a lot of my opinions.

I’m up to 3 practical definitions deployed in a traditional office setting. Calculating the volume of complex roof crickets for a high school in CDs, egress calculations tied to door tags, and space planing for a corporate office via excel spreadsheet. Haven’t managed to get my generative “spaghetti” buildings approved yet.

Real applications are just waiting for you to discover them. I see Dynamo as democratizing the api for day to day users. I attended the symposium over a year ago, but just couldn’t find the time to explore Dynamo. Two weeks ago I made the time, since then I’ve put together a graph that applies a random rotation to elements of the planting category to return variety to renderings. Note that this graph works with out of the box families, no need to create custom rotation parameters.

I also use Dynamo to create unit type schedules that calculate average sf for units in multi family housing projects and then pump that value back into Revit for display in a type based schedule. This was only possible via the api before.

This past week, I’ve been blogging about using Dynamo to place barrel vault truss braces in a project to automate the placement of the brace element. I’ll finish the series this week. It is really a simple modification of one of the sample graphs.

watch the case video on room renumbering, it opened my eyes about single object functions and lists as well as explaining the use of list.map and Boolean masks.

The solutions and day to day applications are just awaiting your ideas.

I agree with this statement:

I see Dynamo as democratizing the api for day to day users.
I already work with the Revit API, so I don't depend on Dynamo in the work I do.

However, I work within project teams, with architects who currently don’t intend to write code, visual or not.

By using Dynamo instead of writing code with the Revit API, I am enabling the democratization of the Revit API for my colleagues. They’re getting interested.

This is where I find most value in Dynamo for the environment I work in. It’s not about the computer, but about the people. As with any tool, Dynamo’s success will rely on what it enables us to do. I expect that it will enable a change in design thinking, similar to what Grasshopper and GC have already done, but to a broader user base.

Computational design and automation in the design/documentation process are two separate things, both of which Dynamo is useful for. The original ‘spaghetti’ question posted comes across as a reaction to computational design. Fortunately folks like Konrad have been able to quickly provide numerous examples of the other subject, automation, which directly addresses the original question. Automation is very important, and perhaps public presentations of Dynamo may need to place more emphasis on this.


Hi all,

I just can’t seem to access any of Konrad’s links. They seem so helpful, and I would love to look at them! If anyone could help me with this issue that would be awesome. I’m sure it’s some simple mistake I’m making. Every link gives me an Error 403 Forbidden page.

Thank you!