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 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

Wednesday, November 16, 2016

#AU2016 - Day 1

Well, here I am on day 2 writing about day 1. Day 1 was awesome. Once again I met all sorts of great people from the dynamo community. I also had the privilege of being a lab assistant to the famous Colin Mccrone.

Oh and this happened. I will write a post on what I did soon. 

Tuesday, November 15, 2016

#AU2016 - Day 0

since last year I have began referring to the AU pre conference stuff as day 0. A little explanation. For "normal people",  counting begins at 1 and for all of us Dynamo and coding folks, it begins at 0! So dynamo workshops day == day 0

We'll that was yesterday and it was great! I was able to meet all sort  of great Dynamo people face to face.



Onto Day 1!

Sunday, November 13, 2016

Another Autodesk University, #AU2016

Off to another autodesk university.

Here's what I'm up to. If you see me, say hello!



Registered Sessions
----------------------------------------

Computational BIM Workshop Breakfast:
Tomorrow, 7:30 AM - 8:30 AM
Session ID: CBW22944 | Room: Palazzo F, Level 5

Computational BIM Workshop, Advanced Topics—Part 1:
Tomorrow, 8:30 AM - 12:00 PM
Session ID: CBW22817-L | Room: San Polo, 3503, Level 3

Computational BIM Workshop, Advanced Topics—Part 2:
Tomorrow, 1:00 PM - 5:30 PM
Session ID: CBW22818-L | Room: San Polo, 3503, Level 3

Computational BIM Workshop Networking Reception:
Tomorrow, 5:30 PM - 6:30 PM
Session ID: CBW22946 | Room: Palazzo F, Level 5

Welcome Reception:
Tomorrow, 6:30 PM - 8:00 PM
Session ID: 22786 | Room: Venetian F, Level 2 The Hub

First Coffee & Morning Bites - Tuesday:
Nov 15, 6:30 AM - 8:00 AM
Session ID: 22763 | Room: Venetian F, Level 2 The Hub

Revit Analytics with Dynamo (Repeat):
Nov 15, 8:00 AM - 9:30 AM
Session ID: AR23737-L | Room: San Polo, 3403, Level 3

AU Lunch Tuesday:
Nov 15, 11:30 AM - 1:00 PM
Session ID: 22766 | Room: Hall B, Level 2, Meals

Revit API for Designers—Use Cases for Extending Creativity:
Nov 15, 1:00 PM - 2:00 PM
Session ID: SD21439 | Room: Lando 4305, Level 4

Revit to 3ds Max Workflows for Realistic Rendering with NVIDIA Iray:
Nov 15, 3:00 PM - 4:30 PM
Session ID: DV15437 | Room: Delfino 4006, Level 4

The Future of BIM Will Not Be BIM—and It's Coming Faster than You Think:
Nov 15, 4:45 PM - 5:45 PM
Session ID: IT22329 | Room: Marcello 4504, Level 4

AU Community Reception:
Nov 15, 6:00 PM - 9:00 PM
Session ID: 22769 | Room: Hall B, Level 2 Exhibit Hall

Professional Certification Exam Session 3:
Nov 16, 7:30 AM - 10:00 AM
Session ID: 23119 | Room: Lido 3002, Level 3

AU Lunch Wednesday:
Nov 16, 11:30 AM - 1:00 PM
Session ID: 22767 | Room: Hall B, Level 2, Meals

Construction Dynam(o)ite—Explode Productivity with Dynamo:
Nov 16, 1:00 PM - 2:30 PM
Session ID: CS21553 | Room: Delfino 4005, Level 4

More Families in Motion: New and Exciting Methods That Make Your Revit Families Move:
Nov 16, 3:00 PM - 4:00 PM
Session ID: AR20572 | Room: Marcello 4504, Level 4

Revit API Expert Roundtable: Open House on the Factory Floor:
Nov 16, 4:45 PM - 5:45 PM
Session ID: SD20891 | Room: Lando 4204, Level 4

First Coffee & Morning Bites - Thursday:
Nov 17, 6:30 AM - 8:00 AM
Session ID: 22765 | Room: Venetian F, Level 2 The Hub

Dynamo and the Zen of Data Flow:
Nov 17, 8:30 AM - 9:30 AM
Session ID: CS17778 | Room: Marcello 4501B, Level 4

Coding New Nodes with Dynamo:
Nov 17, 10:00 AM - 11:30 AM
Session ID: SD21181-L | Room: San Polo, 3503, Level 3

AU Lunch Thursday:
Nov 17, 11:30 AM - 1:00 PM
Session ID: 22770 | Room: Hall B, Level 2, Meals

Streamlining the Revit Process with Custom Add-ins:
Nov 17, 1:00 PM - 2:00 PM
Session ID: SD16637 | Room: Murano 3306, Level 3

Importing Rhino and SketchUp Models into Revit as Native Content:
Nov 17, 3:00 PM - 4:00 PM
Session ID: AR21124 | Room: Marcello 4502, Level 4

Farewell Happy Hour:
Nov 17, 4:00 PM - 6:00 PM
Session ID: 23577 | Room: Venetian F, Level 2 The Hub

Autodesk University Opening Keynote:
Nov 15, 10:00 AM - 11:30 AM
Session ID: 22760 | Room: Hall C, Level 2

Autodesk University Product Innovation Keynote:
Nov 16, 10:00 AM - 11:30 AM
Session ID: 22761 | Room: Hall C, Level 2

Party at the Promenade:
Nov 16, 7:00 PM - 10:00 PM
Session ID: 22768 | Room: LINQ Promenade

Revit + FormIt 360 + Dynamo Studio = Awesome! (Hands-on):
Nov 16, 8:00 AM - 9:30 AM
Session ID: AR16698-L | Room: San Polo, 3401A, Level 3

Computational BIM Workshop Networking Lunch:
Tomorrow, 12:00 PM - 1:00 PM
Session ID: CBW22945 | Room: Palazzo F, Level 5


Sent from my iPhone

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

Tuesday, October 11, 2016

#dynamo4DailyUse now available on Pluralsight

Everyone,

 

I am very excited to announce that my Dynamo training course, An Introduction to Dynamo for Daily Use Within Revit is now available through Pluralsight.

This course is for beginners and  focuses on integrating Dynamo into every Revit user’s daily workflow. I poured alot into this course and I hope that it helps everyone dive into Dynamo and see it’s real potential for use daily.

Check it out here

An Introduction to Dynamo for Daily Use Within Revit

CufsPwiWEAAptZt

Thank you all for reading and enjoy!

-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

Tuesday, September 13, 2016

#DynamoBIM 1.2.0 Release Candidate Review

This last week I saw a tweet from Mister Zach Kron regarding the new version of Dynamo set to be released and it sounded exciting!

tweet

 

After seeing that tweet I also saw this forum post. https://forum.dynamobim.com/t/1-2-0-release-candidate-available-for-review/6135

So I went ahead and downloaded the latest version and tested away! Below are some of the nodes I am most excited about, this post is definitely longer than 60 seconds.

First up, some detail line love. Clockwork was my resource for this previously.

DetailCurve.ByCurve

DetailCurve.SetCurve

Next, is dimension creation. Which is awesome! Oh the possibilities!

Dimension.ByElements

Element.GetCategory – So useful! I actually added this to Rhythm about a year ago.

Element.GetCategory

Element location nodes – Once again, Clockwork was my resource for this before.

Element.Location

Element.SetLocation

FamilyInstance.GetHost (Clockwork again)

FamilyInstance.GetHost

FamilyInstance.GetType (Clockwork again..)

FamilyInstance.GetType

FilledRegion.ByCurves – very useful for documentation. archi-LAB was the only person to previously have filled region tools.

FilledRegion.ByCurves

The Dynamo team has also added the ability to create filters!!

ParameterFilterElement.ByRules

ParameterFilterElement.ByRules2

Tagging additions are in here as well! (With 3d preview too)

Tag.ByElement

Tag.TaggedElement-Tag.TagText

View filter love as well. (The Revit API apparently allows you to add filters to views with templates without adding to template, scary)

View.AddFilter

View.Filters

*Update 09.22.2016

I have also went ahead and taken a look at the shared parameter node. Very cool way to automate addition of shared parameters. Be aware that this does modify whatever shared parameter is currently set in your Revit window. It will also run into issues if the parameter already exists.

Parameter.CreateSharedParameter

2016-09-22 08_35_56-Dynamo

2016-09-22 08_36_04-Project Parameters2016-09-22 08_36_14-Edit Shared Parameters

 

There is way more to cover, but I wanted to share this stuff because I was so excited! See Marcello’s post for text note info as well.

Tuesday, September 6, 2016

Project Fractal

Is awesome. I’ve finally managed to get my hands on a Dynamo studio license, and I think it is safe to say, I AM PUMPED! So far I have been testing to see what size of data sets Project Fractal can handle. So why not throw thousands of bricks at it?

randomBrick-fractal

I have a lot of ideas and I will share as I run through them. (*cough* parking lot generation *cough*)

-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

Friday, July 29, 2016

Hide #Revit Subcategories with #DynamoBIM

User Question: “I never want to see MEP centerlines in my Architectural model! How do I hide them everywhere?”" This includes view templates and views without view templates.”

I’m happy to say the answer is, “Yes, it is possible!” Thanks to Archi-LAB, Clockwork, and Rhythm.

See the video below of this workflow in action. There is audio on this video, so be aware. :)

Friday, July 15, 2016

#Revit MEP Space Type Control with #DynamoBIM

A question recently came up over at Revit forum regarding getting and setting space parameters for space type in Revit with Dynamo.

http://www.revitforum.org/dynamo-bim/30699-space-type.html

And for those who may not be familiar with the space type parameter, here are the options.

2016-07-15 07_56_26-Autodesk Revit 2016 - [Floor Plan_ W-FP-1 - Project2]

 

Initially I thought this was an impossible task, but thankfully we have python and access to the Revit API! There are now several nodes in Rhythm to gather this data.

There are now four nodes to assist in modifying these parameters.

2016-07-15 08_20_02-Dynamo

Gathers all space types in project


2016-07-15 08_20_22-Dynamo

Gets space type based on name search


2016-07-15 08_20_43-Dynamo

Sets the space type for a space


2016-07-15 08_22_10-Dynamo

Gets the space type for a space

 

Have fun!

-johnP