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.
Showing posts with label DynamoBIM. Show all posts
Showing posts with label DynamoBIM. Show all posts

Monday, January 9, 2017

Get a #Revit View’s Section Box with #DynamoBIM

I discovered this a little while back while building the interior elevation tool and forgot to reveal the secret to the community.

Luckily, my buddy Aaron Maller needed the workflow and this reminded me to share. : )

As you can see below a 3d view’s section box is simply –1 of the 3D views Element ID, (Also thanks to ArchiLAB Grimshaw package for the select by ID tool). So far this seems to hold true for the views we have tested on, (3d and interior elevations).

Pretty slick huh?

2017-01-09 15_59_31-Dynamo

Have fun using this!

-johnP

Tuesday, December 6, 2016

Override #Revit Interior Elevation’s Crop with #DynamoBIM

This is an update to an existing workflow previously discussed here, http://sixtysecondrevit.blogspot.com/2015/11/framing-interior-elevations-in-revit.html

Basically, it is faster and more stable!

Rhythm.OverrideInteriorCrop

This node takes an input search string of elevation types (interior), a line weight for all views and a Boolean to run.

overrideCrop(revised)

Part of the reason I haven’t updated this in a while is because the workflow was a beast! Initially the node was looking for the elevation marker in every view, seeing if it exists, replacing it and finally committing the override. Now it just finds the crop region as it relates to the interior elevation (investigate the node to see what I finally realized, I won’t reveal it here).

So far I have tested this on a healthcare project that had over 350 interior elevations! It did take a moment to run, but it completed the change!

override

Please keep in mind that this completes this process for all interior elevations in the model. I f there is an interest, I will make a specific one that allows the user to choose sheets.

Have fun!

johnP

Monday, December 5, 2016

Color Picker in #DynamoBIM using #Revit API

For a long time now I have wanted to look into building a color picker for Dynamo. Primarily because the previous package I utilized, hasn’t been updated for the latest version of Dynamo. This was of course the great UI++ package from the badmonkeys. (This package is awesome by the way. Adam, please update with Konrad’s code ASAP Smile)

After much research and investigation, I stumbled upon this API method in the Revit API.

image

This was a revelation! Finally I can create a color picker without importing a bunch of Python libraries. Even better is, that this supports Revit color output as well.

I can’t wait to see what people use this for, especially with mandrill and dynamo player.

colorPicker

Have fun!

-johnP

Tuesday, November 29, 2016

Rename #Revit Views with #DynamoBIM Player

Since Dynamo player launched a few weeks ago, I have been having a lot of fun with it! Mostly because Python nodes support User interface additions!
Recently, a colleague needed to rename elevations based on level and room location. Very quickly I realized this needed to be done by isolated the elevation heads (views).
That’s when I went ahead and created this little gem (now available in Rhythm).
Isolated Pick Model Elements
This node allows the user to pick a category to isolate, and select objects of that category by a crossing window or individually.
And here it is in action with Dynamo Player.
dynamoPlayer-renameElevations
Have Fun!
-johnP

Monday, November 7, 2016

Open #Revit files in the background with #DynamoBIM

I have been working on some pretty cool nodes in the background, that deal with opening Revit files in the background.

Document.BackgroundOpen

Document.BackgroundOpen is now in Rhythm. This node is really special, because it enables all sorts of cool operability with Revit files that are not currently open otherwise. Pretty much any input that takes a document can use this node.

Here it is in action, opening a project in background.

backgroundOpen

Why is this exciting? Well first of all this method can be used to Bulk Upgrade Revit files.

This process + another new node can also be used to copy elements from another project. Like wall types!

Enter, All Elements of Type in Document and the Element.CopyFromDocument Nodes

All Elements of Type in Document

Element.CopyFromDocument

And here is that process in action

loadFromFile

Have fun!

johnP

Monday, October 31, 2016

Pick Selection + Text Input + Dynamo Player = Awesome

So, I have been playing around with Dynamo player quite a bit since it came out.

Initially I was a little bummed out that any OOTB nodes for selection were not working. Luckily this is not true for custom python nodes as pointed out on the forums here, https://forum.dynamobim.com/t/revit-2017-1-dynamo-player/6729/12?u=john_pierson. The funny thing is, this example actually used one of my nodes from Rhythm!

After the ability to select was demonstrated, I decided we neeed some text box input as well. After dissecting a few of Dimitar’s awesome nodes, I finally came up with a solution.

Enter, the Rhythm.TextBoxInput node.

Rhythm.TextBoxInput

This node will provide a popup that allows the user to enter a string to use for whatever is needed.


See it in action below, (there is audio so be warned).

Get it in the latest version of Rhythm and have fun!

-johnP

Wednesday, October 26, 2016

Bulk Upgrade #Revit files with #DynamoBIM

We recently needed a workflow to bulk upgrade quite a few Revit files and I didn;t want to do that manually! Luckily, I have been working on some pretty cool application nodes for Rhythm and they worked great in this workflow.
First, let’s see this in action. Basically, we feed the node a directory’s contents (file paths), and it will chug along. The files in this example are from Revit 2016 and the graph is being run in 2017.
bulkUpgrade

Next, what makes this possible?
This is actually made possible with two new nodes that I will be adding to Rhythm by the end of the week.
Document.BackgroundOpen
This allows us to open a revit file without it being visible to the end user. (Awesome!)
Document.BackgroundOpen
Document.Close
This allows us to close the documents we opened with a save option. (Great for upgrades)
Document.Close
Stay tuned for more workflows using these nodes!
And her is the graph I used! (Download the latest version of Rhythm first) https://drive.google.com/open?id=0B3oLhdhnXmutSlJncXZfbUxzYzA
-johnP

Monday, October 3, 2016

Rhythm Updates for #DynamoBIM 1.2.0

This is a first in a series of posts regarding updates to Rhythm for Dynamo 1.2.0.

To get started, the new version of Dynamo deprecated a few of my ndoes! (Which is awesome actually)

2016-09-27 08_15_16-Dynamo

 

Download the new version and have fun! There will be more updates soon.

 

-johnP

Thursday, August 4, 2016

Get Joined Elements in #Revit with #DynamoBIM

If you didn’t know already, I really like twitter for being in touch with the Revit and DYnamo community. Every now and then a great idea is generated and it offers a great opporunity to explore a solution.

Recently this one came up on twitter.

image

After some investigation of the Revit API, I found this little gem.

image

Which lead to this workflow

2016-08-03 12_52_43-Dynamo


Which lead to this reaction!

image

The new node allows user to get joined elements to the input element to allow for all sorts of fun stuff. In Aaron’s case, it wsa so his door’s code compliance can be automated.

image

Have fun!

-johnp

Wednesday, June 15, 2016

Get #Revit Beam System Members with #DynamoBIM

A question came up at my firm recently regarding how to quantify the amount of beams a beam system contains in Revit. Currently, this is not easily accessible through the UI, but luckily there is an API method for obtaining the members of the system.

This is where Dynamo and python come into play.

StructuralBeamSystems.Members

This node is now in Rhythm, enjoy!

-johnP

Tuesday, June 7, 2016

#Revit Space and Room Tag Host with #DynamoBIM

Recently I was talking with Marcello on the Simply Complex Podcast about the lack of annotation nodes in Dynamo. After a question also came up on the Dynamo forums, I decided to add these two useful nodes to Rhythm.

SpaceRoomTag.Host

This enables us to do some fun stuff based on the tag elements now! And yes, these are made with Python!

-john

Wednesday, January 6, 2016

Rhythm - Update to 3D Room Tag Node


It was recently discovered that the 3D Room Tag node had a few bugs in it. This was after some internal testing and some comments on the following forum discussion.
http://dynamobim.org/forums/topic/a-family-with-3d-text-to-acquire-room-information/
I am happy to say that this has been fixed and is now much more stable. The primary difference is the node now places the 3D Room Tag where the room’s origin is. (Similar to tag all)
3DRoomTagGraph

3DRoomTags

You can of course find this on Dynamo’s package manger, under the latest Rhythm update

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