Clicky Web Analytics

Monday, July 17, 2017

3D Printing Topography Directly from Revit ... Plus, Exciting News!


Due to the overwhelming interest, engagement, and discussions created over my last post documenting the process of 3D printing directly from Revit I figured this post is a perfect follow-up. Interesting discussions on Twitter and through emails led me to explore the concept of automating the process documented in last weeks post using Dynamo.  I have made progress with "massing" the building using Dynamo but it's not quite ready to share...  Instead, I will share something just as cool!

While exploring using Dynamo to "mass" a building for 3D printing I realized a similar script could be used to 3D print topography.  For those of you who may not have attempted printing topography I'll let you in on a little secret: it doesn't work.  Topography exports as a single surface and not a solid.  Therefore, you need to use the process I mentioned last week to mass out the topography... Imagine trying to model topography using conceptual massing... not fun!

Thanks to our good friend Dynamo (and some awesome users in the Dynamo forum), printing Revit Topography can be as easy as clicking "run"... Keeping reading to see the script and how it works...

*** P.S. - I have some exciting updates about the blog at the end of this post... so definitely read until the end!




Topo to Solid Design Script


When it comes to Dynamo, there is nothing more valuable then seeing a screenshot of the script in its working form.  I always try to add notes to explain the nodes, script, etc... Anyways, here is the final design script for converting topography to a solid and cutting out some holes for the building masses:


Topography to Solid with Cuts (Click to Enlarge)

The script is pretty simple to use. I am not going to get into each node, yet... (Read the rest of this post and you will see why at the end).

**EDIT**
Daniel pointed out that the end of the code block script was cut off... Here is the rest of the script in the code block:

-------------------------------------------------------------------------------------------------------------------

//Topography to PolySurface tm1=topo.Mesh;
vp1=tm1.VertexPositions;
iG=tm1.FaceIndices;
lst1=List.Transpose({iG.A,iG.B,iG.C});
lst2=List.GetItemAtIndex(vp1,lst1);
srf1=Surface.ByPerimeterPoints(lst2);
srf2=PolySurface.ByJoinedSurfaces(srf1); 

//Solid Topography pln1=Plane.ByOriginNormal(srf2.BoundingBox.MinPoint,Vector.ZAxis());
per1=srf2.PerimeterCurves().Project(pln1,Vector.ByCoordinates(0,0,-1));
per2=PolyCurve.ByJoinedCurves(Flatten(per1)).Translate(Vector.ZAxis(),baseheight);
sld1=per2.ExtrudeAsSolid((srf2.BoundingBox.MaxPoint.Z-srf2.BoundingBox.MinPoint.Z)+2000);
sld2=sld1.Trim(srf2,srf2.BoundingBox.MaxPoint);
-------------------------------------------------------------------------------------------------------------------


First, select your topography.

Then select your building masses.

And click run...

This is what you will get:



The yellow in the image above is the Dynamo geometry.  The white is a Conceptual Mass family placed in my model.  If I were to isolate the mass family, this is the result:


Now, export the mass family as an STL (and export your buildings separately, if you want them removable).  When I import the models into my 3D printer software (Cura):

Masses loaded into Cura...

Cura "Layers" view...

And then, of course, we print it!









Upcoming for The Revit Kid in 2017!


Dynamo Days of Summer



Writing this post has reminded me of something I have been wanting to do for a while now... A true beginners class on Dynamo.  As some of you may know, I teach at the undergraduate and graduate students at my Alma Mater (University of Hartford).  During the semester I have been introducing my students to Dynamo.  I have come to realize all it takes is walking them through very specific and simple scripts line by line to give them the tools and train-of-thought required to coherently build their own scripts. 

Therefore, I am officially declaring the rest of this summer as the "Dynamo Days of Summer" (#DDOS2017) here on the blog!

What does that mean?  It means that the next few weeks of posts will be 100% Dynamo related (tips, tricks, favorite nodes, etc...).  All leading up to my BIM After Dark's  first introduction to Dynamo class.

So, if you read the tutorial above and your eyes glazed over at the image of nodes, codes, and scripts within Dynamo (or it terrified you to the point of almost closing your browser!) click here (or below) to get on the mailing list for details about the beginners Dynamo class as they unfold...  


I'm Bringing Sexy Back... BIM After Dark Style. 



As summer winds down I am going to switch the focus of the blog from Dynamo to something near and dear to my heart: making BIM sexy.

This December will be the four year anniversary for BIM After Dark - Volume 1: BIM can be sexy...  Yeah, I know... four years! 

Over the last four years, Volume 1 has helped 712 of your fellow readers enhance their renderings, floor plans, sections, elevations, and overall presentation techniques using Revit.  Seriously, 712!?!  It humbles me to this day...

Well, as you can imagine, many things have changed over the last four years.  Revit has been updated over four times, new software has been released, etc... I have struggled over the last few months deciding on whether I should add some content to Volume 1 as it is, or give it a giant refresh.

After much thought, I have decided to give Volume 1 the respect it deserves and completely refresh it!  Not only do I have a better microphone now, but I honed many of the techniques (which I still use to this day) demonstrated in the series.

Not only will I be re-recording some of the original videos with higher quality audio and updated processes, but I will be adding plenty of new content (maybe some Lumion? V-Ray for Revit? hmmm.....).

Already have Volume 1 or were thinking about purchasing it in the near future?  Don't worry, you will be the first to hear about the re-launch and receive special discounted pricing!

In Conclusion...

I will let The Revit Kid himself sum it all up for you: