A blog dedicated to tidbits of software information related to the AEC industry. Most tips and tricks are roughly 60 seconds because, "Hey who doesn't have 60 seconds".
*The views and opinions expressed in this blog do not reflect those of my employer.

Tuesday, December 22, 2015

Rhythm for Dynamo on github

I am pleased to announce that I now have a repository for Rhythm on github. This offers users the option to issue pull requests to improve Rhythm. But the main reason I did this is so I can keep track of what I am updating as Rhythm develops and grows.

If you want to offer improvements to Rhythm please go check it out at the github page and submit pull requests. (And of course you can still email me as well)

https://github.com/sixtysecondrevit/RhythmForDynamo

image_thumb

Wednesday, December 16, 2015

Rhythm Cleanup and Updates for Override Nodes

Rhythm has been updated to include some cleanup of the following nodes. I have renamed them to better reflect the Dynamo naming standards. This means if you previously used these nodes they are found under a different name now.

I have also bundled in a few more nodes that I will discuss in greater detail later. But for now I need to get my RTCNA abstracts submitted!

-John

Wednesday, December 9, 2015

Mullion Organization in #Revit with #DynamoBIM

 

Recently we had someone ask how to randomize vertical mullion placement on a curtain wall. Specifically for a metal panel wall.

Enter #DynamoBIM. Rather than place them we decided to delete a random amount of the vertical mullions. Fortunately and unfortunately Dynamo organizes items by their ElementID. This caused the creation of the following node.

imageIt will sort a host’s (curtain wall’s) mullions by the direction they are going. This then enables us to delete a random amount of vertical mullions or whatever we need!

 

The video below shows this process.

Saturday, December 5, 2015

#AU2015 [Day == 2..3..1]


AU2015 has come and gone and I feel inspired! Day 2 included some great learning opportunities for Dynamo and 3DSMax as well. We wrapped the night up by attending a few awesome parties. We wound up spending a good amount of time at the drINK event and had some fun with a few Lenovo tablets. 

We installed Dynamo on them because for some reason they left it out! 

Thursday was equally as awesome because I had the opportunity to assist in an awesome lab by none other than Marcello Sgambelluri. 

Just look at all of those people learning New and Exciting Rotation Methods! 

Thursday also allowed for my colleagues and I to obtain some more certifications.

And we were able to have a blast at the Bash to the Future party! 


Well that's it for AU2015, I look forward to seeing you all at the next one. Go get some rest!
-johnp 


Wednesday, December 2, 2015

#AU2015 Day [1]

Well day one has come and gone and it was exhilarating to say the least. 

Started out with the Revit cow man himself, Marcello Sgambelluri. He rocked the stage with some More Practical Dynamo. Also, he's using C# now, so watch out world!
 After that was the opening session which was very inspiring.

I then rounded out the day with some more Dynamo from Jason Boehning who is both knowledgeable and very approachable. 

Towards the last bit of the day I decided to go ahead and take my chances at a Revit Architecture exam and I passed!
To my surprise the test was a little more difficult than before and there was no line either!



Tuesday, December 1, 2015

#AU2015 Day [0]

The pre conference events of AU2015 are done. Woah was it a crazy day of DynamoBIM! 

The morning session kicked off with the evangelist himself, Colin McCrone. 

After that we were fortunate enough to see some awesome workflows from some bad monkeys, Andreas and Marcello. 

After the monkey business we were shown some excel awesomeness from Nate Miller. One thing I learned, pivot charts rock!

Last but not least was Brian Ringley. He showed some great analysis techniques that I'm sure we will use. But most importantly here's how you weave a list. 

I needed that last week!

Also, this year I have a bunch of my colleagues with me who are learning DynamoBIM from the masters. I'm so proud. 



Well, see you all today for Day[1]

Saturday, November 28, 2015

#AU2015 is upon us.

It's that time, AU is here! Once again I'll be able to attend the Computational BIM workshop! I'll post my schedule for each day soon too. If you see me, be sure to say hi! 


Wednesday, November 25, 2015

3D Room Tags with #DynamoBIM

This question came up on the DynamoBIM forums recently.
http://dynamobim.org/forums/topic/a-family-with-3d-text-to-acquire-room-information/
Thankfully our friend Dynamo is here to help!
First we collect the rooms and figure out the center of them. Then we place a generic model as a 3d room tag. Lastly, we assign the values from the rooms.
See the video below of this in action.
image



*Edit- Received some question as to where the room tag family is.
It's in the package folder. Simply copy the link below into windows explorer and you will see the family .
C:\Users\%CURRENTUSER\AppData\Roaming\Dynamo\0.9\packages\Rhythm\extra

Monday, November 23, 2015

Framing Interior Elevations in #Revit with #DynamoBIM

Ever since I learned about Dynamo at last years Autodesk University I have been blown away by the possibilities. Since AU2014 I have even launched Rhythm which is a collection of custom nodes. I have been amazed by the feedback from everyone and the support I have received as well. Currently Rhythm sits as 8th most downloaded!
One of the nodes I have wanted to create since I learned Dynamo is one to frame interior elevations. Thanks to the Dynamo community this is now possible!
In the video below I show four interior elevations on a sheet with the crop region off. The node then toggles the crop on and overrides the crop to a line weight of your choosing!

This was made possible with the help of Danny on the Dynamo forums. http://dynamobim.com/forums/topic/override-projection-lines-color/
image
This node is now available in Rhythm
image

Wednesday, November 11, 2015

#DynamoBIM 0.9.0 == Great!

It’s been a while since I have posted an update but this doesn’t mean I haven’t been busy playing with Dynamo!

Since my last update Dynamo 0.9.0 has been released and it is awesome!

  • Search is better

image

  • Node Library is better organized

image

  • Preview in Revit blows my mind!

image

rhythmicons

For a more in depth review on Dynamo 0.9.0 refer to Sean Burke’s post here.

http://www.seandburke.com/blog/2015/11/10/dynamo-nearing-its-big-day/

I also added a renumber grids by model curve to Rhythm, check out the video below.

Friday, October 2, 2015

Select #Revit Model Elements by Curve with #DynamoBIM

Have you ever wanted to renumber grids in Revit with Dynamo or do another sequential action just to find out that the elements were created “out of sequence”.

Take a look at the grids below. They were created in the order of the number, which means the element ids are also in this order.

imageIf you know how Dynamo thinks, it will sort these by Element ID. Which is normally a good thing.

imageAfter following a tutorial from William Wong at Case I developed the next custom selection node in Rhythm.

  imageNotice how the element IDs are in a different order? They are in the order of the model line I drew through them!

ModelCurveSelect

This is very useful for renumber processes on various categories in Revit. Currently it is tested on walls, grids, rooms, and doors. But it should work on most any model element. 

 

Check out the video below for some more of it in action and get it on Rhythm.

Thursday, September 17, 2015

Clearing Backup Revit Family Files with #DynamoBIM

Have you ever been creating Revit families, making edits and saving to find your directory looking like this?

imageIt can become a huge mess and is a pain to clean up. (Unless you have some programming knowledge)

This made me think, how can Dynamo help me out?

Enter the File.Delete node.

imageThis node is an out of the box Dynamo node and is super dangerous and powerful! Remember uncle Ben?

Picture1With that said I present to you the Rhythm.BackupRFADeleter

image This node takes a directory as input and a boolean to run it. After running, it shows how many files it deleted. Currently it only deletes files that end with the typical backup suffix in Revit. (Family1.0001.rfa)

imageAnd here is my nice clean directory!

imageAs always, get it on Rhythm and use with care! :)

-johnp

Wednesday, September 2, 2015

The poor man’s dropdown for #DynamoBIM

 

Dropdowns are awesome! They enable us to set options for users to toggle between. But currently in Dynamo if you want a dropdown node you are pretty limited. You basically have access to dropdowns in OOTB nodes or you can learn yourself some fancy C# programming.

2015-09-02_14h24_58

I present to you, the poor man’s dropdown!

 imageBasically all I am doing is using the built in family types node with my options inserted as types of an empty detail component. The detail component is also named “!” so it is forced to the top.

imageAfter I select the option I want I get the name (as a string) and tie that into my data! IN this example a wall’s mark parameter.

PoorMansDropdown

The downside is I can then assign any loaded family type as well. But if we stick to the “!” area we are good. Hacky? Yes. Exciting? Definitely!

Have fun!

-johnp

Tuesday, September 1, 2015

#DynamoBIM 0.8.2 is awesome

 

Yesterday I downloaded the brand new, hot off the press Dynamo version 0.8.2!

Once again the team has managed to pump all kinds of great content into the newest release. Here are a few of my favorites.

NODE2CODE

This new feature enables us to converts our nodes in our graph to design script code with two clicks. (Right click> node2code) It’s super robust too, check it out below on my Percent Glazing by Orientation node!

Node2Code

Manage Nodes and Package Paths (Localized Packages)

This is a huge addition. Not only can we keep proprietary content inside our network we can now “deploy” needed packages to all of our users.

I see the deploy option being a huge benefit in itself because I believe sharing is what makes this community so awesome.

2015-09-01_07h39_59 2015-09-01_07h41_38

That being said, my office now has an internal package for some workflows that I don’t see being useful to everyone. Now Rhythm has some Rhyme as well :)

image Also here’s a screenshot of what I am deploying to all of our users. All great packages to have!

image

In canvas search (an oldie but goodie)

The release notes say in canvas search was added, but it was in 0.8.1? Either way it is still as amazing as it was before!

image

That’s it for now. Currently I have a few things I am working on to share very soon. Until then, everyone go download the new version of Dynamo and have fun!

-johnp

Friday, August 14, 2015

Feel the Rhythm

feel the rhyme, come on now, it’s Dynamo time!
This post aims to summarize what Rhythm has available at this time. I admit this post is probably much longer than 60 seconds, but it has a lot of great information :)
I've been using Dynamo since I attended Autodesk University 2014 and it changed how I thought about Revit completely. Not only did I learn the basics, but I immediately set out on a journey to build awesome functionality primarily with what’s available to us in the OOTB (out of the box) Dynamo library.
|Enter Rhythm (maintain Rhythm in Revit with Dynamo) |
Back in February when I began bundling all of my custom nodes into a new package called Rhythm, I never imagined it would become what it is today. Currently it is #11 on the package manager and has 65 nodes and counting. These nodes include useful core functionality, tools and collectors. Once again most of my nodes use OOTB nodes within them (currently about 15 use some sort of python, often found on stack overflow)
The screenshot below shows all of the nodes currently available.
2015-08-14_08h40_10
I also have a description below, if you are curious feel free to check it out!
|Tools|
All Upper
This is a tool that converts all of the items with text in a project to a standard of UPPERCASE. These items are chosen by tying in a Boolean (T/F) for each category you want to change.
Arrowhead Assigner
This tool will assign a specific arrowhead type to all categories selected. Simply type the name of the arrowhead style you want.
Level Element Collector
This will collect all levels in project and output some useful info. (Similar to others but no python is utilized in here)
Dash Remover
This will analyze all sheets for a dash after the prefix “AE” and remove it if present. This is important because NCS states that no dash shall be used when using the “AE” prefix.
Rhythm.PercentGlazingByOrientation
This node will output the percentage of glazing per orientation of your model. It relies on exterior walls being exterior function and using curtain walls for windows. (typical standard practices)
Parametric Graphic Scale
This node will automate a graphic scale calculation in your viewports.Here's a blog post that shows how it works.
Room Element Collector
This is another collector node. This time for rooms, it output a lot of useful data and is similar to others available. (Once again, no python here)
|Core.Ayuda (Spanish for help)|
The nodes in this section are simply a bunch of helpers for various things. This includes; seeing if other packages are installed and a thisorthat node to toggle two options.
|Core.OS|
These nodes output some pretty useful system data. This includes; current user and current user appdata location at the moment.
|Core.Inspiration|
These node were made as an experiment. My goal was to use the web request node to see what I can pull from a website. The example I used was pulling quotes from brainyquote.com. After making several nodes, I made the node searchable and now you can search for quotes from any author on their site.
|Core.Unicode|
I won’t go into details here, but Revit has an ability to insert Unicode characters in certain places. These nodes were made to supply them.
|Core.List|
Most of these are self-explanatory. They are all simple list stuff that I found I needed throughout this process.
|Core.String|
I began creating these nodes to add a lot more string functionality to Dynamo. After I got to the Remove prior and Remove after I discovered Mark Thorley’s package Zebra! He added a lot of the functionality I wanted so my string area somewhat halted. (Try out the flip reverse to have fun)
|Revit.Selection|
After reconfiguring how I name new nodes, this is where all collectors will live from now on. Currently there are 8 collectors in Rhythm, 6 of them live in this category.
|Revit.Document|
This is where some pretty useful Revit document nodes live. After Revit R2 came out we were allowed to create worksets via the API. That is in this section. (Coming soon is a rename worksets one)
|Revit.Element.Query|
This includes some useful Revit element data. This includes an element type that uses no python, but all OOTB nodes. I also have an Element.Room node in there.
|Revit.TextElement.Actions|
These are all useful nodes which manipulate text elements directly without converting to a string first.
|Revit.Elements.Walls|
I am starting to build nodes that query walls in this section. Walls are a big part of what we do, so they will be a big part of Rhythm too.

|Revit.Element.Actions|
This is probably my favorite section, so I will describe the nodes. Currently a lot of people have things to say about Dynamo can’t do this and that. This section represents the ability to alleviate these frustrations with OOTB nodes.
Element.GetMultipleParametersByName
Does what it says. Simply input your element and a list of parameters that have a comma between them.
CaSeiNSeNSiTiVe nodes
These nodes were made to show that Dynamo doesn’t have to be case sensitive. This is a common complaint in the Autodesk University Labs and RTC Labs by a famous cow man! I spoke with the developer and the case sensitive nature isn’t a glitch, but it’s by design. Either way we can fix this with OOTB.
TypeOrInstance nodes
These nodes show that you can set type or instance parameters for elements very easily with some thought.
Override nodes
We wanted the ability to override annotation symbols (projection lines), so we built it.














































Tuesday, August 11, 2015

#Revit Viewport Woes with #DynamoBIM

Currently there is an issue in Revit when you try to use the “GetParameterByName” node in Dynamo to retrieve viewport names.

If you have a title on sheet parameter defined it starts to throw some weird errors.

2015-08-11_07h27_05This is because it will actually show up as view name in the elements parameters.

Luckily we have all of the nodes in Dynamo to filter out what we want!

2015-08-11_08h37_57What we are basically doing is figuring out if a title on sheet entry  exists and subtracting that from the duplicated item list.

Rather than rebuild this whole graph I made this nice little collector which is now on Rhythm.

2015-08-11_08h41_49

The original question about this can be found here  http://dynamobim.com/forums/topic/revit-viewports-not-cooperating/#post-19655

Thursday, August 6, 2015

Visualize Glazing Percentage in #DynamoBIM with Rhythm and Grapher

So this is something that I have wanted to try since I made the Percent Glazing by Orientation node for RTC NA 2015. I was going to try to build graphing capability into Rhythm but it has already been made!

2015-08-06_08h32_48Since the community is awesome I was able to use this package to generate a really cool pie chart to show the amount of glazing per orientation. (For some reason the blue doesn’t show up in the preview)

2015-08-06_08h30_11But it also exports the graph as an awesome vector (.svg) image! Since I can’t embed an svg image type on here I attached it below as a png.

  pieChartPlot8_29_01_727_AM

This opens up some pretty cool possibilities for pulling data from our Revit model.

-johnp