Ok, so recently I have made contact with a Mechanical Engineer that was getting his toes wet with Dynamo. Of course he has had some questions about workflows and different things that you can and cannot do to Revit with Dynamo. So far, our email exchanges has resulted in some new custom nodes being built as well as some old ones getting a face-lift. First workflow is based around spaces and tagging spaces using Dynamo. It resulted in me looking at creating a Space Tag which happens to have a separate method in Revit API. Since I have already had a Create Annotation Tag node that was able to tag elements and rooms then why not just add spaces? Here’s how you can tag spaces using that particular node:
This is possible because Create Annotation Tag node now has a new method embedded for handling SpaceTags. Here’s the code for it:
There was also another thing that I was looking at: creating walls from Room Separation Lines. This can be achieved like this: This method introduces two new nodes. One is called Curve.Level and will take an input of Model Curves and return a Level that they were created on. Room Separation Line is nothing more than a Model Curve with some additional properties so that’s the easiest way to get a level that it was drawn on. Also, as you can see, the goal here is to get the level that the line was drawn on and level above it to generate Wall Base and Top constraints. Here’s code for Curve.Level:
Next node used here is one that will take a Level and return Level directly above it. Keep in mind that levels here are sorted by their Elevation. After that it’s pretty straight forward – just feed all that information to Wall.ByCurveAndLevels node and you have your Walls.
I hope that these two simple workflows can make some of your lives easier. Good luck!
Ps. Let me know if there is anything that I have missed here. I will be more than happy to fix any issues.