Drowning in a sea of good…

•July 17, 2016 • Leave a Comment


It seems so long since I’ve posted anything for all of you. So I thought I’d write a little summary of what has been happening for me in the last year-and-a-half and hopefully get all of you caught up and set the stage for future posts.

Let’s see, where do I start?…

I guess at the beginning.

Many of you might know that I was working at NRI as a Digital Fabrication Specialist, almost single-handedly running the San Francisco satellite office for about a year-and-a-half after graduating with my Master of Science in Architecture from the University of Michigan, specializing in Digital Technologies.

For various reason, I left NRI about 18 months ago in April of 2015 and joined the San Francisco office of Perkins+Will, where I re-entered my profession of choice. Honestly, this is my dream job.

I began as an Arch 2 and was immediately put on a massive transit project in the Middle East. (Unfortunately I cannot share more yet but I will when I can. And if you happen to see it on google I can’t stop you.) I quickly gained invaluable experience in Revit (you truly do not know Revit or any other design software until you work on a real project with a team), as well as acquired a tease for transit work. The project quickly developed in a direction that gave me the opportunity to explore interoperability between Rhino and Revit. Little did I know that this would begin to mold the course of my time at PW and most-likely the rest of my carrier. Oh, and if all this wasn’t enough, I got married and became an insta-dad.

Amidst all of this, I also was given charge of the office’s model shop which I quickly re-branded as the Fab Lab—putting to use my experience at NRI to rethink how our office and eventually our firm approaches model making.

Since then I have have evolved into a computational designer, passed my LEED exams, become a champion of interoperability in the firm, joined the firm’s amazing Design Applications team as a Design Applications Tech, got involved in the firm’s amazing research department which we call the Process Lab, began volunteering on the committee of the San Francisco Dynamo User Group, and even had my first AU lab proposal accepted for AU 2016— not to mention the invaluable experience on more amazing projects than I can count.

While most of the projects I’ve been working on are either too early to share much detail or are still considered confidential by our clients, I can share a few snippets of some of my work and I will share more as I can in the future.

Of course the most important thing to me is my family:

My amazing wife and my beautiful daughter…

The PW SF Fab Lab (aka my play room)

FAB-LAB mock up

Some of the things we’ve made in the Fab Lab…

I’ve got this incredible guy named Luc Deckinga as my boss. We are a dream team together and get to strategize together about office training, tool development, computational design and soooo much more. I could not ask for a better person to work with and work under.

2016-02-12 12.01.44

My Boss…

In the office, we are constantly exploring and developing new tools to make our jobs easier, and newly designed products to improve our client’s quality of life while looking for ways to be more sustainable.

2016-04-22 16.33.31.jpg

This is a skylight reflector system we’ve been prototyping in the office…

My research projects…

Some of you might have remembered posts of a deployable folding system from my time at Umich. Perkins+Will believe in innovation and encourages everyone in the firm to explore and try new things. They even provide mini-research grants twice a year. I was fortunate enough to be awarded one of those grants this past year and took my thesis project to the next level:

Project Image

I have been involved in a number of computational design efforts, a few of which I can share below:

GFRC Optimization

This was an optimization I worked on to reduce the number of unique models required to manufacture the GFRC portion of project. The result was a reduction from 220 unique elements to 20 repeated types.

Facade Optimization

Exploring early facade design options and the potential impact on construction costs due to the number of unique panels. Further optimization was achieved by breaking the remaining unique panels into subsets for construction and fabrication rationalization.

Energy Analysis

North exposure 35 degrees

I’ve had the fortune of being included on a number of energy analysis projects in conjunction with our Energy Lab for very large projects. It is one thing to analyze a building it is another to analyze a mega project like an entire airport or run hundreds, if not thousands of analysis options on a project at the same time. We are always pushing the boundaries and seeking to expand both our knowledge and capabilities as a firm.



This Conceptual Design Revit Model for a small pedestrian bridge project was literally created in a day using Rhino, Revit and Dynamo. Later that week we had a full SD 100% set from Revit from the Rhino model…

This is one of the tools I’ve been developing on various projects to improve the way we design in our firm and hopefully our industry. I’ve had the chance of presenting it at the SF Dynamo User Group, will be sharing it at AU this year in November, and have posted about it in a previous blog post.

I’ve also had the opportunity to collaborate with some of the best minds in our firm and undoubtedly in our industry with the PW Process Lab….

Some of the things we’ve been working on:



I’ve been extremely blessed in the past year—beyond belief. And I’m excited to see what’s to come…

Thought of the day:

When God gets us alone by affliction, heartbreak, or temptation, by disappointment, sickness, or by thwarted affection, by a broken friendship, or by a new friendship—when He gets us absolutely alone, and we are dumbfounded and cannot ask one question, then He begins to expound. . . .If you are going on with God, the only thing that is clear to you, and the only thing God intends to be clear, is the way He deals with your own soul. . . . There are whole tracts of stubbornness and ignorance to be revealed by the Holy Spirit in each one of us, and it can only be done when Jesus gets us alone. Are we alone with Him now, or are we taken up with little fussy notions, fussy comradeships in God’s service, fussy ideas about our bodies, Jesus can expound nothing until we get through all the noisy questions of the head and are alone with Him.

-Oswald Chambers

My favorite book next to the bible:

Have you ever been alone with God? January 13 My Utmost For His Highest

Check out the entire published works of Oswald Chambers online for free

Jude 1:1-7 bible study with Stan Josephsen on Words Of Righteousness Audio Library

Revit… What is it good for?

•February 14, 2016 • 1 Comment

Recently, I gave a talk at the SF Dynamo User Group on how to translate Rhino geometry into native Revit geometry and essentially how to “bake” native Revit geometry out of Dynamo (link to the recording – will be up soon).

In this presentation, I got a bit harsh with Revit and really addressed its place in the design process, as well as looked at how Dynamo interacts with Revit. Some of the conceptual ideology behind it came from Brian Ringley’s AU talk on interoperability (worth the watch).

I think I can speak for everyone who has worked in a reasonably sized architecture firm in the last several years, when I say, we’ve all been there: the design starts as this graceful sketch, which then gets modeled in Rhino and then suddenly (as if we didn’t know we need to do this all along) we have to take the forms into Revit for documentation. And…. that’s where the pain begins.

Revit has had a history of not playing nicely with most other programs, despite the fact that it was never a very good modeling program in the first place — in fact it was never more than a documentation management platform (sorry Autodesk, but its true). This raises a problem on most projects because many projects are required to deliver documentation in Revit, yet the design is then limited by the modeling capabilities of this tool. Design interoperability dictates that the design be at the center of the process and not the tools. Unfortunately, however, Revit has been in the center of this process for far to long. It is high time it was put in it’s place and we start pushing our designs through Revit and that it document the geometry we feed it regardless of where it came from.

For such a long time this has been the holy grail of most computational designers, and with the rise of Dynamo and the Spring Nodes packages by Dimitar Venkov, there is finally some hope that we can actually achieve this goal.


This slideshow requires JavaScript.


Over the past 9 months, I have been working on a large international project (which must, unfortunately, remain anonymous) and have gone through the journey described above. We began with some very graceful sketches, which turned into some very “swoopy” Rhino geometry as we liked to call it. The client fell in love with the seamless nature of the design and gave us their stamp of approval to proceed with the design. However, it began to become a problem as the Rhino file size neared 2 GB and we reach the close of the SD phase when we needed to issue the first set of drawings for the project in Revit. We tried everything we could to import the Rhino geometry into Revit manually, but ended up faking it with many filled regions and detail lines.

As we moved into DD, we knew that we could not sustain this workflow for the rest of the project and had to face the harsh reality how to tackle modeling these geometries natively in Revit. We opted not to pursue the use of Dynamo from the beginning so that the entire design team could “edit” the more complex elements should they ever need to. So a team of us (myself included) embarked on the slow and painful process of painstakingly modeling the complex structural swept beams, the cross beams, soffit and so on. However, the more we modeled and remodeled, the more it became clear that no one but those of us on this team would every touch these complex forms and as we struggled to keep up with deadlines it become even more clear that we needed to find a solution to automate some of these processes. The straw the finally broke the camel’s back came when we need to make a swept beam that followed a surface, with the top and bottom faces parallel to that surface but the size being vertical (or plumb) in the global z.We were finally forced to use dynamo regardless of the project management’s wishes.

Once we got going in Dynamo though, the and got a taste for how fast we could create some of these complex forms nearly everything this team modeled began to be in Dynamo. The problem, however, (among many) was there was not a good way to “bake” the geometry generated from dynamo into Revit so that it was native Revit geometry — in fact it was not better than importing an SAT. So why not just create these forms in Rhino using Grasshopper and import them as an SAT? Adaptive components did allow us to place manually created Revit families, however, this too quickly reached its limits. That is when we ran across the Spring Nodes package.

This package by Dimitar Venkov access a little hidden gem in the Revit API available starting in 2015 call a Free Form Element. This is essentially what you get when you are in the mass family and us the “create form” tool or create a loft in a generic model family. It is fundamentally “what Revit wants” — and how I am going to make Revit do what I want it to do. Through some creative python scripting using the Revit API in dynamo, Dimitar turns dynamo geometry into native Revit geometry. And for the first time we can now use Dynamo to make native Revit geometry that is not different than what you would manually create in Revit (except a lot more complex and a lot more light weight without all those reference curves and voids).

It was about this time that I was asked by another project in the office how to import Rhino geometry into Revit quickly for a design concept proposal. I realized that this project was reinventing the wheel that my project had just taken 6 months to learn. Their had to be a better way to do this. So I spent a few evenings figuring out how to use Dynamo and Spring Nodes (I opted not to used other plugins like Mantis Shrimp so as to keep the deployment as easy as possible) to make a very easy-to-use tool that would allow members of our design teams who knew Rhino to import their geometry into Revit using the same method I was using to “bake” geometry into Revit.

The tool was turned then over to various projects and parts of my project for testing and we started to see some amazing results where sheets in Revit containing geometry generated from both Revit natively, Dynamo, Grasshopper passed through Dynamo and Rhino were all being documented equally without any additional effort. Team efficiency began to increase, and for the first time, the design began to truly sit at the center of our process and not the tools that we were using to express that design.


Rhino to Revit (SAT to Spring Nodes)

•February 14, 2016 • Leave a Comment

For almost as long as Rhino and Revit have been around we have been trying to get trying to import Rhino geometry into Revit (Revit to Rhino was not really the problem as you can just export a DWG with ASCII solids which import into Rhino as NURBS surfaces). We have gone through a host of interoperability plugins (usually through Grasshopper) including Mantis Shrimp, Lyrebird, Humming Bird, etc etc…

However, it was always a question of the geometry that came in to Revit wasn’t really native Revit geometry or it did not allow for any type of geometry that was not already available in Revit out-of-the-box.

And then Spring Nodes package showed up for Dynamo…

If you were to manually import geometry from Rhino into Revit, you would export everything as an SAT from Rhino and import it as a CAD link to a generic model family in Revit. The problem is that there are are very noticeable differences graphically with this imported geometry, which pretty much the whole point of Revit (especially since Revit is pretty much only a document management program, but we won’t go into that in this post).

There are a couple of ways to go about this (all of which require Springs Nodes):

If you ware in a family environment it is as simple as this:


If you are at the project level of a Revit project then there is a just a bit more that needs to be added:


In the end though, the results are pretty much the same. You should end up with native Revit, free form elements, some of which will even display handles which can be used to edit this geometry (usually simpler, rectilinear geometries such as boxes will be fully editable, other times things like lofted geometries might have and end face that is editable).




Be aware that there is a scaling issue currently with dynamo’s SAT import nodes where the they only read the geometry as though it were in meters, but this can be easily fixed through some creative scaling before “baking” it into Revit.

sat unit test

This workflow can also be used to bring SAT information into Revit from Inventor as well.


More to come later on why you would use this (if it is not already obvious), how it has been used and what else will need to be developed to improve this workflow.

Needing to “Manually” Edit Revit Families Created in Dynamo

•January 3, 2016 • Leave a Comment

I have recently have been asked if it was possible to manual edit a parametric family created using dynamo.

In my experience, there are two reasons you would want to be able to edit the families manually in Revit once they are created:

  1. Your design team / project management does not completely trust or understand parametric design. they want the safety net of being able to go back to what they know: they want the option for someone at any point to be able to interact with family “manually”.
  2. The other reason is that you want to be able to  modify these parameters through a schedule.

I will address both situations:

  1. First, I was told this very thing on a project: that others (who did not know how to use dynamo or any parametric design) need to be able to interact with the families/geometry I created using dynamo. However, the farther we went into the project, and the more complexity that was added, the more  this area became my sole responsibility (there was one other person working on a parallel track, but he was also using dynamo and we shared much between us). But I am getting ahead of myself. Because of the decision, four people were tasked with the geometry to manual create the complex geometry using adaptive points and massing families in Revit. It was a long an tedious process but we managed and got really good at it. However, as more and more was asked of these geometries, the more it became clear that we did not have a choice but to use Dynamo. So I started experimenting with work flow to replace our original manual methods using Dynamo after hours and quick began getting result. (The key is taking baby steps in a situation like this, and giving your team leaders quick short term results one step at a time so that they gain trust of it. But asking me about this another time.) The results were so good in fact, that I was able to start doing what took 2-4 people a week to produce (for either original creation or  updates), in a matter of a day to a few hours (to develop the workflow) and updates took minutes.  Thus the need for anyone else (who did not know dynamo) to interact with these geometries or families became a non-point. It sure would have saved us a lot of time and man-power had we gone with the dynamo created families earlier.
  2. To the second point, you can use schedules to change values through dynamo by referencing the data tables or excel file to set instance parameters, so this also is a non-issue.
  3. An additional benefit to using Dynamo generated families and geometries is that they are lighter and more efficient. Manually created Revit families contain a lot of reference geometries (the more complex the family the heavier they become, especially when you start nesting many adaptive components in mass families). In the example above, there was an extensive ceiling system, that when done manually with adaptive components created a 400 MB Revit file. When the same geometry was created using free-form type geometries in Revit through Dynamo (FreeFormElement type geometries are a hidden gem of 2015 and on, see this link) the file came out as a mere 10 Mb—pretty good I’d say!

So now that you have it, I don’t think there is any reason to “edit” the families manually.

One last piece of advice I will give you: Do not use the import geometry instance in Dynamo, as it is essentially the same as importing an SAT. You want to use things like form.byloft and the nodes from the Spring Nodes package, form.bygeometry and familyinstance.bygeometry—they produce native Revit geometry through the FreeFormelements geometry type).


See the conversation on the Dynamo forum.

Robotic Construction/Fabrication got one step closer to becoming a reality…

•June 20, 2015 • Leave a Comment

I remember when this project was an academic project. It’s quote exciting to see it finally get some traction and get some serious investment. It will be exciting to see how it moves forward.


Is Architecture in danger from automated design?. . . . Not likely, see why….

•June 20, 2015 • Leave a Comment

This is a great article about why architects really don’t need to worry about AI ever (or at least in the perceivable future) replacing the human decision making process. It is just another confirmation of the little phrase (I forget who said it) ” automate when possible”. Basically it boils down to computers are good a crunching large amounts of data (which, honestly, we humans don’t do so well at) and human excel at spontaneous, intuitive and sometimes, illogical decision making (something computers will likely never be able to accomplish, even if we can make them mimic us). But don’t take my word for it, read the article, you won’t be disappointed.


One last chance…. (help me win a 3D printer!)

•May 24, 2015 • Leave a Comment


One last chance to help me in this awesome 3D printer for my home office!  The voting closes tomorrow night (5/25 @ 11:59pm PST). If you haven’t already grabbed the download of this fun completely printable jewelry set, now is your chance. Every download helps me get closer to winning this printer. So share it with family, friends, coworkers, on facebook, twitter… every download from a unique IP address counts.

Download / Vote Link

In case you missed it… the link is now live… (and I still need your help to win a 3D printer)

•April 30, 2015 • Leave a Comment

For all of those who saw the last post about needing your help with winning the B9Creator 3D printer, I still need your help. I had over 64 views, thanks to all of you. The download link was finally fixed so please download it, share it with your friends, coworkers, family… get them all to download it.

Thank you all!


Lets try this again… the download link is now live….I need YOUR help!…. Yes you… I’m talking to YOU…

•April 28, 2015 • 1 Comment

I entered a competition to win a 3D printer and I need your help. It is really simple, I promise and you will get an awesome set of 3D models in the process. All I need you to do is follow the link bellow, create a free profile and download my files. The more downloads I get the better chance I have for winning this competition.


IEEE Computer Society 3D Printing Event

•March 3, 2015 • Leave a Comment

IEEE Computer Society 3D Printing Event

·        Tuesday, March 17, 2015

9:00 AM to 6:00 PM

·        Fourth Street Summit Center

88 S 4th St, San Jose, CA 95112

  • Remain Relevant in Your Industry
  • This networking event will cover the various challenges affecting safety, security, ownership, and other issues which 3D printing presents, while conversely underscoring the creative new innovations that provide cost-effective solutions for a wide range of industries. This one-day event features experts, early adopters and visionaries that are driving this revolution forward.
  • Who’s Attending?

Executives, program managers, and technical professionals from Raytheon, Yahoo!, Hewlett-Packard, FujiFilm Systems, Applied Materials, Hexcel Corp., Maxim, Neurintel, NuVasive, Boyd Lighting, Society of Manufacturing Engineers. Cranial Technologies, and more.  REGISTER NOW.

  • Please RSVP HERE and enter promo code: RS3D-MTP to receive a special discounted $150 registration (regular price: $329 for IEEE members and $399 for nonmembers)


IEEE Computer Society 3D Printing Event_Page_1 IEEE Computer Society 3D Printing Event_Page_2

%d bloggers like this: